devflow-cli 6.3.0__tar.gz → 6.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. devflow_cli-6.4.0/.specify/specs/032-kks-419/.gitignore +2 -0
  2. devflow_cli-6.4.0/.specify/specs/032-kks-419/activity-contract.json +161 -0
  3. devflow_cli-6.4.0/.specify/specs/032-kks-419/agent-execution.json +15 -0
  4. devflow_cli-6.4.0/.specify/specs/032-kks-419/assessment.json +32 -0
  5. devflow_cli-6.4.0/.specify/specs/032-kks-419/evidence/diff-inspection.json +31 -0
  6. devflow_cli-6.4.0/.specify/specs/032-kks-419/evidence/regression-check.json +112 -0
  7. devflow_cli-6.4.0/.specify/specs/032-kks-419/evidence/targeted-tests.json +28 -0
  8. devflow_cli-6.4.0/.specify/specs/032-kks-419/implement-result.json +56 -0
  9. devflow_cli-6.4.0/.specify/specs/032-kks-419/need.md +51 -0
  10. devflow_cli-6.4.0/.specify/specs/032-kks-419/preflight-evidence-result.json +50 -0
  11. devflow_cli-6.4.0/.specify/specs/032-kks-419/preflight-evidence.md +151 -0
  12. devflow_cli-6.4.0/.specify/specs/032-kks-419/prepare-result.json +95 -0
  13. devflow_cli-6.4.0/.specify/specs/032-kks-419/workflow-state.json +54 -0
  14. devflow_cli-6.4.0/.specify/specs/032-kks-419/worklog.md +72 -0
  15. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/.gitignore +2 -0
  16. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/activity-contract.json +161 -0
  17. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/agent-execution.json +15 -0
  18. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/assessment.json +33 -0
  19. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/evidence/diff-inspection.json +35 -0
  20. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/evidence/regression-check.json +132 -0
  21. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/evidence/targeted-tests.json +29 -0
  22. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/implement-result.json +73 -0
  23. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/need.md +38 -0
  24. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence-result.json +55 -0
  25. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence.md +139 -0
  26. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/prepare-result.json +111 -0
  27. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/workflow-state.json +54 -0
  28. devflow_cli-6.4.0/.specify/specs/033-kks-420-stale-commands-warning/worklog.md +79 -0
  29. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/CHANGELOG.md +20 -0
  30. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/CONTRIBUTING.md +4 -1
  31. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/PKG-INFO +9 -2
  32. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/README.md +8 -1
  33. devflow_cli-6.4.0/docs/releases/6.3.1.md +35 -0
  34. devflow_cli-6.4.0/docs/releases/6.4.0.md +44 -0
  35. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/pyproject.toml +1 -1
  36. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/__init__.py +1 -1
  37. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/status.py +27 -1
  38. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/automatic_evidence.py +27 -6
  39. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/manifest.py +18 -0
  40. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_automatic_evidence.py +160 -1
  41. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_status.py +117 -0
  42. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_manifest.py +136 -0
  43. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/uv.lock +1 -1
  44. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.ai/mcp/mcp.json +0 -0
  45. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.analyze.md +0 -0
  46. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.checklist.md +0 -0
  47. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.clarify.md +0 -0
  48. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.constitution.md +0 -0
  49. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.implement.md +0 -0
  50. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.plan.md +0 -0
  51. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.specify.md +0 -0
  52. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.tasks.md +0 -0
  53. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.claude/commands/speckit.taskstoissues.md +0 -0
  54. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.githooks/post-checkout +0 -0
  55. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.githooks/post-merge +0 -0
  56. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.github/workflows/ci.yml +0 -0
  57. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.github/workflows/release.yml +0 -0
  58. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.github/workflows/version-check.yml +0 -0
  59. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.gitignore +0 -0
  60. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/init-options.json +0 -0
  61. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/memory/constitution.md +0 -0
  62. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  63. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/scripts/bash/common.sh +0 -0
  64. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/scripts/bash/create-new-feature.sh +0 -0
  65. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/scripts/bash/setup-plan.sh +0 -0
  66. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/scripts/bash/update-agent-context.sh +0 -0
  67. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/checklists/requirements.md +0 -0
  68. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/contracts/cli-init.md +0 -0
  69. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/data-model.md +0 -0
  70. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/plan.md +0 -0
  71. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/research.md +0 -0
  72. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/spec.md +0 -0
  73. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/001-cli-init-options/tasks.md +0 -0
  74. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/checklists/requirements.md +0 -0
  75. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/contracts/cli-regen.md +0 -0
  76. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/contracts/cli-status-staleness.md +0 -0
  77. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/data-model.md +0 -0
  78. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/plan.md +0 -0
  79. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/research.md +0 -0
  80. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/spec.md +0 -0
  81. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/002-cascade-regen/tasks.md +0 -0
  82. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/checklists/requirements.md +0 -0
  83. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/data-model.md +0 -0
  84. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/plan.md +0 -0
  85. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/quickstart.md +0 -0
  86. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/research.md +0 -0
  87. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/spec.md +0 -0
  88. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/003-usecase-guides/tasks.md +0 -0
  89. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/checklists/requirements.md +0 -0
  90. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/contracts/cli-commands.md +0 -0
  91. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/data-model.md +0 -0
  92. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/plan.md +0 -0
  93. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/quickstart.md +0 -0
  94. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/research.md +0 -0
  95. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/spec.md +0 -0
  96. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/004-specify-central-directory/tasks.md +0 -0
  97. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/checklists/requirements.md +0 -0
  98. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/plan.md +0 -0
  99. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/quickstart.md +0 -0
  100. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/research.md +0 -0
  101. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/spec.md +0 -0
  102. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/005-implement-subphases/tasks.md +0 -0
  103. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/checklists/requirements.md +0 -0
  104. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/contracts/cli-upgrade.md +0 -0
  105. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/data-model.md +0 -0
  106. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/plan.md +0 -0
  107. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/quickstart.md +0 -0
  108. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/research.md +0 -0
  109. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/spec.md +0 -0
  110. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/006-template-upgrade/tasks.md +0 -0
  111. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/checklists/requirements.md +0 -0
  112. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/data-model.md +0 -0
  113. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/plan.md +0 -0
  114. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/quickstart.md +0 -0
  115. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/research.md +0 -0
  116. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/spec.md +0 -0
  117. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/007-project-documentation/tasks.md +0 -0
  118. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/checklists/requirements.md +0 -0
  119. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/plan.md +0 -0
  120. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/quickstart.md +0 -0
  121. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/research.md +0 -0
  122. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/spec.md +0 -0
  123. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/008-hardening-bugs/tasks.md +0 -0
  124. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/checklists/requirements.md +0 -0
  125. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/plan.md +0 -0
  126. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/quickstart.md +0 -0
  127. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/research.md +0 -0
  128. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/spec.md +0 -0
  129. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/009-ci-pypi/tasks.md +0 -0
  130. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/checklists/requirements.md +0 -0
  131. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/plan.md +0 -0
  132. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/quickstart.md +0 -0
  133. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/research.md +0 -0
  134. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/spec.md +0 -0
  135. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/010-flexible-pipeline/tasks.md +0 -0
  136. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/checklists/requirements.md +0 -0
  137. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/plan.md +0 -0
  138. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/quickstart.md +0 -0
  139. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/research.md +0 -0
  140. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/spec.md +0 -0
  141. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/011-cursor-support/tasks.md +0 -0
  142. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/012-fix-critical-bugs/checklists/requirements.md +0 -0
  143. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/012-fix-critical-bugs/plan.md +0 -0
  144. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/012-fix-critical-bugs/research.md +0 -0
  145. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/012-fix-critical-bugs/spec.md +0 -0
  146. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/012-fix-critical-bugs/tasks.md +0 -0
  147. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/013-align-truth-sources/checklists/requirements.md +0 -0
  148. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/013-align-truth-sources/plan.md +0 -0
  149. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/013-align-truth-sources/quickstart.md +0 -0
  150. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/013-align-truth-sources/spec.md +0 -0
  151. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/013-align-truth-sources/tasks.md +0 -0
  152. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/014-enforce-state-machine/checklists/requirements.md +0 -0
  153. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/014-enforce-state-machine/plan.md +0 -0
  154. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/014-enforce-state-machine/quickstart.md +0 -0
  155. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/014-enforce-state-machine/spec.md +0 -0
  156. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/014-enforce-state-machine/tasks.md +0 -0
  157. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/015-fix-review-contradiction/checklists/requirements.md +0 -0
  158. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/015-fix-review-contradiction/plan.md +0 -0
  159. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/015-fix-review-contradiction/research.md +0 -0
  160. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/015-fix-review-contradiction/spec.md +0 -0
  161. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/015-fix-review-contradiction/tasks.md +0 -0
  162. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/016-harden-state-machine/checklists/requirements.md +0 -0
  163. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/016-harden-state-machine/plan.md +0 -0
  164. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/016-harden-state-machine/research.md +0 -0
  165. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/016-harden-state-machine/spec.md +0 -0
  166. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/016-harden-state-machine/tasks.md +0 -0
  167. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/017-fix-robustness-issues/checklists/requirements.md +0 -0
  168. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/017-fix-robustness-issues/plan.md +0 -0
  169. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/017-fix-robustness-issues/research.md +0 -0
  170. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/017-fix-robustness-issues/spec.md +0 -0
  171. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/017-fix-robustness-issues/tasks.md +0 -0
  172. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/018-fix-final-robustness/spec.md +0 -0
  173. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/checklists/requirements.md +0 -0
  174. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/data-model.md +0 -0
  175. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/plan.md +0 -0
  176. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/research.md +0 -0
  177. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/spec.md +0 -0
  178. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/019-quality-hardening/tasks.md +0 -0
  179. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/checklists/requirements.md +0 -0
  180. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/data-model.md +0 -0
  181. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/plan.md +0 -0
  182. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/quickstart.md +0 -0
  183. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/research.md +0 -0
  184. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/spec.md +0 -0
  185. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/020-migrate-speckit/tasks.md +0 -0
  186. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/021-review-iterations/checklists/requirements.md +0 -0
  187. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/021-review-iterations/plan.md +0 -0
  188. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/021-review-iterations/research.md +0 -0
  189. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/021-review-iterations/spec.md +0 -0
  190. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/021-review-iterations/tasks.md +0 -0
  191. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/022-fix-regen-command/checklists/requirements.md +0 -0
  192. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/022-fix-regen-command/plan.md +0 -0
  193. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/022-fix-regen-command/research.md +0 -0
  194. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/022-fix-regen-command/spec.md +0 -0
  195. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/022-fix-regen-command/tasks.md +0 -0
  196. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/023-add-logging/checklists/requirements.md +0 -0
  197. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/023-add-logging/plan.md +0 -0
  198. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/023-add-logging/research.md +0 -0
  199. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/023-add-logging/spec.md +0 -0
  200. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/023-add-logging/tasks.md +0 -0
  201. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/024-validate-constants/checklists/requirements.md +0 -0
  202. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/024-validate-constants/plan.md +0 -0
  203. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/024-validate-constants/research.md +0 -0
  204. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/024-validate-constants/spec.md +0 -0
  205. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/024-validate-constants/tasks.md +0 -0
  206. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/025-harden-tests/checklists/requirements.md +0 -0
  207. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/025-harden-tests/plan.md +0 -0
  208. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/025-harden-tests/research.md +0 -0
  209. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/025-harden-tests/spec.md +0 -0
  210. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/025-harden-tests/tasks.md +0 -0
  211. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/checklists/requirements.md +0 -0
  212. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/contracts/orchestrator-contract.md +0 -0
  213. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/data-model.md +0 -0
  214. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/plan.md +0 -0
  215. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/quickstart.md +0 -0
  216. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/research.md +0 -0
  217. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/spec.md +0 -0
  218. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/027-pipeline-auto-execution/tasks.md +0 -0
  219. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/.gitignore +0 -0
  220. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/activity-contract.json +0 -0
  221. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/agent-execution.json +0 -0
  222. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/assessment.json +0 -0
  223. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/diff-inspection.json +0 -0
  224. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/regression-check.json +0 -0
  225. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/targeted-tests.json +0 -0
  226. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/implement-result.json +0 -0
  227. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/need.md +0 -0
  228. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence-result.json +0 -0
  229. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence.md +0 -0
  230. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-attempt.json +0 -0
  231. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-result.json +0 -0
  232. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/workflow-state.json +0 -0
  233. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/028-kks-411-feature-dir-ignored/worklog.md +0 -0
  234. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/.gitignore +0 -0
  235. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/activity-contract.json +0 -0
  236. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/agent-execution.json +0 -0
  237. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/assessment.json +0 -0
  238. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/evidence/diff-inspection.json +0 -0
  239. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/evidence/regression-check.json +0 -0
  240. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/evidence/targeted-tests.json +0 -0
  241. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/implement-result.json +0 -0
  242. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/need.md +0 -0
  243. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/preflight-evidence-result.json +0 -0
  244. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/preflight-evidence.md +0 -0
  245. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/prepare-attempt.json +0 -0
  246. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/prepare-result.json +0 -0
  247. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/workflow-state.json +0 -0
  248. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/029-kks-413/worklog.md +0 -0
  249. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/.gitignore +0 -0
  250. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/activity-contract.json +0 -0
  251. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/agent-execution.json +0 -0
  252. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/assessment.json +0 -0
  253. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/evidence/diff-inspection.json +0 -0
  254. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/evidence/requirements-coverage.json +0 -0
  255. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/evidence/security-or-data-check.json +0 -0
  256. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/evidence/test-suite.json +0 -0
  257. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/implement-result.json +0 -0
  258. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/need.md +0 -0
  259. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/omission-log.json +0 -0
  260. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/plan-result.json +0 -0
  261. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/plan.md +0 -0
  262. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/preflight-evidence-result.json +0 -0
  263. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/preflight-evidence.md +0 -0
  264. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/research-result.json +0 -0
  265. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/research.md +0 -0
  266. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/review-result.json +0 -0
  267. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/risk-assessment-result.json +0 -0
  268. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/risk-assessment.md +0 -0
  269. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/rollback-check-result.json +0 -0
  270. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/spec-result.json +0 -0
  271. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/spec.md +0 -0
  272. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/tasks-result.json +0 -0
  273. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/tasks.md +0 -0
  274. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/workflow-state.json +0 -0
  275. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/030-kks-416/worklog.md +0 -0
  276. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/.gitignore +0 -0
  277. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/activity-contract.json +0 -0
  278. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/agent-execution.json +0 -0
  279. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/assessment.json +0 -0
  280. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/activity-contract.json +0 -0
  281. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/contracts-result.json +0 -0
  282. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/diff-inspection.json +0 -0
  283. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/requirements-coverage.json +0 -0
  284. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/security-or-data-check.json +0 -0
  285. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/test-suite.json +0 -0
  286. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/implement-result.json +0 -0
  287. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/plan-result.json +0 -0
  288. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence-result.json +0 -0
  289. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence.md +0 -0
  290. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/review-result.json +0 -0
  291. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/risk-assessment-result.json +0 -0
  292. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/spec-result.json +0 -0
  293. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-001/tasks-result.json +0 -0
  294. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/activity-contract.json +0 -0
  295. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/contracts-result.json +0 -0
  296. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/diff-inspection.json +0 -0
  297. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/requirements-coverage.json +0 -0
  298. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/security-or-data-check.json +0 -0
  299. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/test-suite.json +0 -0
  300. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/implement-result.json +0 -0
  301. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/plan-result.json +0 -0
  302. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence-result.json +0 -0
  303. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence.md +0 -0
  304. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/review-result.json +0 -0
  305. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/risk-assessment-result.json +0 -0
  306. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/rollback-check-result.json +0 -0
  307. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/spec-result.json +0 -0
  308. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/attempts/reopen-002/tasks-result.json +0 -0
  309. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/contracts-result.json +0 -0
  310. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/contracts.md +0 -0
  311. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/evidence/diff-inspection.json +0 -0
  312. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/evidence/requirements-coverage.json +0 -0
  313. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/evidence/security-or-data-check.json +0 -0
  314. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/evidence/test-suite.json +0 -0
  315. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/implement-result.json +0 -0
  316. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/issue-precommit-review.md +0 -0
  317. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/need.md +0 -0
  318. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/omission-log.json +0 -0
  319. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/plan-result.json +0 -0
  320. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/plan.md +0 -0
  321. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/preflight-evidence-result.json +0 -0
  322. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/preflight-evidence.md +0 -0
  323. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/reopen-log.json +0 -0
  324. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/review-result.json +0 -0
  325. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/risk-assessment-result.json +0 -0
  326. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/risk-assessment.md +0 -0
  327. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/rollback-check-result.json +0 -0
  328. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/spec-result.json +0 -0
  329. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/spec.md +0 -0
  330. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/tasks-result.json +0 -0
  331. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/tasks.md +0 -0
  332. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/workflow-state.json +0 -0
  333. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/specs/031-kks-414/worklog.md +0 -0
  334. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/agent-file-template.md +0 -0
  335. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/checklist-template.md +0 -0
  336. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/constitution-template.md +0 -0
  337. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/plan-template.md +0 -0
  338. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/spec-template-brownfield.md +0 -0
  339. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/spec-template-greenfield.md +0 -0
  340. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/spec-template-microservices.md +0 -0
  341. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/spec-template.md +0 -0
  342. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/.specify/templates/tasks-template.md +0 -0
  343. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/CLAUDE.md +0 -0
  344. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/FEEDBACK.md +0 -0
  345. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/LICENSE +0 -0
  346. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.context.md +0 -0
  347. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.extension.md +0 -0
  348. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.init.md +0 -0
  349. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.md +0 -0
  350. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.regen.md +0 -0
  351. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/commands/devflow.status.md +0 -0
  352. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/activity-contracts.md +0 -0
  353. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/adr/0001-v4-workflow-compatibility.md +0 -0
  354. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/adr/0002-v5-rupture-and-provenance.md +0 -0
  355. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/cli-reference.md +0 -0
  356. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/commands-reference.md +0 -0
  357. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/cursor-guide.md +0 -0
  358. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/guides/brownfield.md +0 -0
  359. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/guides/greenfield.md +0 -0
  360. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/guides/microservices.md +0 -0
  361. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/index.md +0 -0
  362. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/pipeline-reference.generated.md +0 -0
  363. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/pipeline.md +0 -0
  364. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.0.md +0 -0
  365. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.1.md +0 -0
  366. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.3.md +0 -0
  367. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.4.md +0 -0
  368. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.5.md +0 -0
  369. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/4.0.6.md +0 -0
  370. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/5.0.0.md +0 -0
  371. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.0.0.md +0 -0
  372. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.1.0.md +0 -0
  373. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.1.1.md +0 -0
  374. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.1.2.md +0 -0
  375. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.2.0.md +0 -0
  376. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/releases/6.3.0.md +0 -0
  377. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/spec-driven.md +0 -0
  378. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/v5-decisions.md +0 -0
  379. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/docs/v6-decisions.md +0 -0
  380. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/extensions/EXTENSION-API-REFERENCE.md +0 -0
  381. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/extensions/catalog.community.json +0 -0
  382. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/extensions/catalog.json +0 -0
  383. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/extensions/template/example-command.md +0 -0
  384. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/extensions/template/example-extension.json +0 -0
  385. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/scripts/check_release.py +0 -0
  386. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/adapters/__init__.py +0 -0
  387. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/adapters/agents.py +0 -0
  388. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/adapters/linear.py +0 -0
  389. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/cli.py +0 -0
  390. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/__init__.py +0 -0
  391. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/adaptive.py +0 -0
  392. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/assess.py +0 -0
  393. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/check.py +0 -0
  394. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/context.py +0 -0
  395. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/docs_sync.py +0 -0
  396. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/export_cmd.py +0 -0
  397. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/extension.py +0 -0
  398. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/feature.py +0 -0
  399. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/feedback.py +0 -0
  400. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/hooks_cmd.py +0 -0
  401. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/init_cmd.py +0 -0
  402. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/linear.py +0 -0
  403. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/stale.py +0 -0
  404. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/traceability.py +0 -0
  405. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/upgrade_cmd.py +0 -0
  406. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/usage.py +0 -0
  407. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/commands/verify.py +0 -0
  408. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/__init__.py +0 -0
  409. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/activity_contracts.py +0 -0
  410. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/adaptive_runner.py +0 -0
  411. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/adaptive_workflow.py +0 -0
  412. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/agent_failure.py +0 -0
  413. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/assessment.py +0 -0
  414. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/catalog.py +0 -0
  415. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/contract_schemas.py +0 -0
  416. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/docgen.py +0 -0
  417. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/feedback.py +0 -0
  418. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/git.py +0 -0
  419. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/hooks.py +0 -0
  420. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/installer.py +0 -0
  421. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/omissions.py +0 -0
  422. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/operational.py +0 -0
  423. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/redaction.py +0 -0
  424. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/remediation.py +0 -0
  425. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/scanner.py +0 -0
  426. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/staleness.py +0 -0
  427. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/telemetry.py +0 -0
  428. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/traceability.py +0 -0
  429. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/validation_approvals.py +0 -0
  430. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/validators.py +0 -0
  431. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/verification.py +0 -0
  432. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/waivers.py +0 -0
  433. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/worklog.py +0 -0
  434. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/core/worktree_snapshot.py +0 -0
  435. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/schemas/activity-contract-v3.schema.json +0 -0
  436. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/schemas/activity-result-v1.schema.json +0 -0
  437. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/schemas/assessment-v3.schema.json +0 -0
  438. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/schemas/workflow-state-v4.schema.json +0 -0
  439. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/utils/__init__.py +0 -0
  440. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/utils/console.py +0 -0
  441. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/utils/logging.py +0 -0
  442. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/utils/paths.py +0 -0
  443. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/src/devflow_cli/utils/strings.py +0 -0
  444. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/agent-context-template.md +0 -0
  445. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/constitution-template.md +0 -0
  446. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts/README-template.md +0 -0
  447. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts/api-template.md +0 -0
  448. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts/components-template.md +0 -0
  449. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts/interfaces-template.md +0 -0
  450. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts/services-template.md +0 -0
  451. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/contracts-template.md +0 -0
  452. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/data-model-template.md +0 -0
  453. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/devflow-hooks-template.yml +0 -0
  454. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/extension-manifest-template.json +0 -0
  455. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/plan-template.md +0 -0
  456. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/quickstart-template.md +0 -0
  457. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/research-template.md +0 -0
  458. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/spec-template.md +0 -0
  459. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/templates/tasks-template.md +0 -0
  460. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/conftest.py +0 -0
  461. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/fixtures/agents/mock-agent.md +0 -0
  462. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/fixtures/commands/mock-command.md +0 -0
  463. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/fixtures/mock-catalog.json +0 -0
  464. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/run-tests.sh +0 -0
  465. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test-helpers.sh +0 -0
  466. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test-template-variants.sh +0 -0
  467. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_activity_contracts.py +0 -0
  468. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_adaptive_runner.py +0 -0
  469. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_adaptive_workflow.py +0 -0
  470. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_agent_adapters.py +0 -0
  471. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_agent_failure.py +0 -0
  472. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_assessment.py +0 -0
  473. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_bash_runner.py +0 -0
  474. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_catalog.py +0 -0
  475. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_adaptive.py +0 -0
  476. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_assess.py +0 -0
  477. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_check.py +0 -0
  478. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_context.py +0 -0
  479. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_docs_sync.py +0 -0
  480. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_extension.py +0 -0
  481. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_feature.py +0 -0
  482. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_feedback.py +0 -0
  483. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_hooks.py +0 -0
  484. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_init.py +0 -0
  485. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_linear.py +0 -0
  486. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_stale.py +0 -0
  487. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_traceability.py +0 -0
  488. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_upgrade.py +0 -0
  489. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_cmd_verify.py +0 -0
  490. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_constants.py +0 -0
  491. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_context.py +0 -0
  492. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_contract_schemas.py +0 -0
  493. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_docgen.py +0 -0
  494. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_feedback.py +0 -0
  495. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_git.py +0 -0
  496. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_hooks.py +0 -0
  497. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_installer.py +0 -0
  498. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_integration.py +0 -0
  499. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_linear_adapter.py +0 -0
  500. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_linear_order.py +0 -0
  501. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_logging.py +0 -0
  502. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_omissions.py +0 -0
  503. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_paths.py +0 -0
  504. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_paths_project_root.py +0 -0
  505. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_release.py +0 -0
  506. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_remediation.py +0 -0
  507. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_scanner.py +0 -0
  508. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_staleness.py +0 -0
  509. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_telemetry.py +0 -0
  510. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_traceability.py +0 -0
  511. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_validators.py +0 -0
  512. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_verification.py +0 -0
  513. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_version.py +0 -0
  514. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_waivers.py +0 -0
  515. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_wheel_adaptive_acceptance.py +0 -0
  516. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_wheel_install.py +0 -0
  517. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_worklog.py +0 -0
  518. {devflow_cli-6.3.0 → devflow_cli-6.4.0}/tests/test_worktree_snapshot.py +0 -0
@@ -0,0 +1,2 @@
1
+ # Traces brutes d'agent : elles peuvent contenir le contenu des fichiers lus.
2
+ *.raw.txt
@@ -0,0 +1,161 @@
1
+ {
2
+ "schemaVersion": 3,
3
+ "contractId": "KKS-419:standard:implement:v3",
4
+ "issueId": "KKS-419",
5
+ "profile": "standard",
6
+ "activity": "implement",
7
+ "objective": "Choisir l'interpréteur de AUTO-REGRESSION-PYTHON sans supposer python dans le PATH",
8
+ "featurePath": ".specify/specs/032-kks-419",
9
+ "inputs": [
10
+ ".specify/specs/032-kks-419/need.md",
11
+ ".specify/specs/032-kks-419/assessment.json",
12
+ ".specify/specs/032-kks-419/workflow-state.json",
13
+ ".specify/specs/032-kks-419/preflight-evidence.md",
14
+ ".specify/specs/032-kks-419/prepare-result.json"
15
+ ],
16
+ "allowedActions": [
17
+ "read",
18
+ "write",
19
+ "execute"
20
+ ],
21
+ "constraints": [
22
+ "Respecter strictement l'objectif et le perimetre du contrat.",
23
+ "Le besoin de reference est .specify/specs/032-kks-419/need.md ; en cas d'ecart avec objective, il fait foi.",
24
+ "Preserver les changements utilisateur sans rapport avec cette activite.",
25
+ "Ne pas modifier state.json, workflow-state.json ou assessment.json.",
26
+ "Ne pas creer de commit et ne pas changer de branche.",
27
+ "Signaler tout blocage au lieu de contourner une validation.",
28
+ "Dans checks, status vaut passed si et seulement si exitCode vaut 0. Une commande dont l'absence de resultat constitue le succes attendu doit etre declaree failed, ou remplacee par une commande qui renvoie 0 en cas de succes.",
29
+ "Donner un id stable a chaque objectif de check. Si un check echoue puis est corrige et relance pour le meme objectif, reutiliser cet id : seule la derniere tentative fait foi ; signaler dans remainingRisks toute instabilite encore pertinente.",
30
+ "Limiter les modifications source au changement demande.",
31
+ "Suivre les conventions et les tests existants du depot.",
32
+ "Les preuves de gate sont produites par l'activite locale verify, pas par implement.",
33
+ "Ne pas retourner blocked uniquement parce qu'une validation d'integration exige un service externe inaccessible depuis le sandbox de l'agent (Docker, base de donnees ou reseau) : executer les autres controles, declarer le check echoue et le risque restant, puis retourner completed si le code est coherent et verifiable par verify.",
34
+ "Prendre en compte la preuve de pre-vol archivee et ne pas la presenter comme absente."
35
+ ],
36
+ "completionCriteria": [
37
+ "Le changement demande est implemente dans le depot.",
38
+ "Les fichiers modifies sont listes dans le resultat.",
39
+ "Les risques ou blocages restants sont explicites."
40
+ ],
41
+ "requiredEvidence": [],
42
+ "expectedOutput": {
43
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
44
+ "$id": "https://devflow.dev/schemas/activity-result/v1",
45
+ "title": "Devflow Activity Result v1",
46
+ "type": "object",
47
+ "required": [
48
+ "schemaVersion",
49
+ "contractId",
50
+ "status",
51
+ "summary",
52
+ "changedFiles",
53
+ "checks",
54
+ "evidence",
55
+ "remainingRisks",
56
+ "blockers"
57
+ ],
58
+ "properties": {
59
+ "schemaVersion": {
60
+ "type": "integer",
61
+ "const": 1
62
+ },
63
+ "contractId": {
64
+ "type": "string",
65
+ "minLength": 1
66
+ },
67
+ "status": {
68
+ "type": "string",
69
+ "enum": [
70
+ "completed",
71
+ "blocked"
72
+ ]
73
+ },
74
+ "summary": {
75
+ "type": "string",
76
+ "minLength": 1
77
+ },
78
+ "changedFiles": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string",
82
+ "minLength": 1
83
+ }
84
+ },
85
+ "checks": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "required": [
90
+ "command",
91
+ "exitCode",
92
+ "status"
93
+ ],
94
+ "properties": {
95
+ "id": {
96
+ "type": "string",
97
+ "minLength": 1
98
+ },
99
+ "command": {
100
+ "type": "string",
101
+ "minLength": 1
102
+ },
103
+ "exitCode": {
104
+ "type": "integer"
105
+ },
106
+ "status": {
107
+ "type": "string",
108
+ "enum": [
109
+ "passed",
110
+ "failed"
111
+ ]
112
+ }
113
+ },
114
+ "additionalProperties": false
115
+ }
116
+ },
117
+ "evidence": {
118
+ "type": "array",
119
+ "items": {
120
+ "type": "object",
121
+ "required": [
122
+ "id",
123
+ "outcome",
124
+ "report"
125
+ ],
126
+ "properties": {
127
+ "id": {
128
+ "type": "string",
129
+ "minLength": 1
130
+ },
131
+ "outcome": {
132
+ "type": "string",
133
+ "enum": [
134
+ "passed",
135
+ "failed"
136
+ ]
137
+ },
138
+ "report": {
139
+ "type": "string",
140
+ "minLength": 1
141
+ }
142
+ },
143
+ "additionalProperties": false
144
+ }
145
+ },
146
+ "remainingRisks": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "string"
150
+ }
151
+ },
152
+ "blockers": {
153
+ "type": "array",
154
+ "items": {
155
+ "type": "string"
156
+ }
157
+ }
158
+ },
159
+ "additionalProperties": false
160
+ }
161
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "runId": "adf62a71-4780-43bb-a733-e3f20bbafd0b",
4
+ "agent": "claude",
5
+ "activity": "implement",
6
+ "returnCode": 0,
7
+ "durationSeconds": 179.822,
8
+ "finalOutputStatus": "present",
9
+ "finalOutputBytes": 3339,
10
+ "finalOutputDiagnostic": "validated",
11
+ "sessionId": null,
12
+ "timedOut": false,
13
+ "worktreeChanged": true,
14
+ "worktreeChangedFileCount": 7
15
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schemaVersion": 3,
3
+ "issueId": "KKS-419",
4
+ "recommendedProfile": "standard",
5
+ "selectedProfile": "standard",
6
+ "confidence": "medium",
7
+ "signals": {
8
+ "scope": "local",
9
+ "ambiguity": "low",
10
+ "risk": "medium",
11
+ "contractChange": false,
12
+ "dataOrSecurity": false
13
+ },
14
+ "reasons": [
15
+ "le risque d'impact est modere"
16
+ ],
17
+ "activities": [
18
+ "assess",
19
+ "prepare",
20
+ "preflight-evidence",
21
+ "implement",
22
+ "verify",
23
+ "done"
24
+ ],
25
+ "requiredEvidence": [
26
+ "targeted-tests",
27
+ "regression-check",
28
+ "diff-inspection"
29
+ ],
30
+ "assessedAt": "2026-09-29T16:45:08Z",
31
+ "summary": "Choisir l'interpréteur de AUTO-REGRESSION-PYTHON sans supposer python dans le PATH"
32
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "diff-inspection",
4
+ "outcome": "passed",
5
+ "generatedAt": "2026-09-29T16:53:56Z",
6
+ "changedFiles": [
7
+ "CHANGELOG.md",
8
+ "docs/releases/6.3.1.md",
9
+ "pyproject.toml",
10
+ "src/devflow_cli/__init__.py",
11
+ "src/devflow_cli/core/automatic_evidence.py",
12
+ "tests/test_automatic_evidence.py",
13
+ "uv.lock"
14
+ ],
15
+ "findings": [],
16
+ "gitDiffCheck": {
17
+ "id": "AUTO-DIFF",
18
+ "command": [
19
+ "git",
20
+ "diff",
21
+ "--check"
22
+ ],
23
+ "blocking": true,
24
+ "returncode": 0,
25
+ "succeeded": true,
26
+ "timedOut": false,
27
+ "workingDirectory": ".",
28
+ "stdout": "",
29
+ "stderr": ""
30
+ }
31
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "regression-check",
4
+ "outcome": "passed",
5
+ "startedAt": "2026-09-29T16:52:17Z",
6
+ "completedAt": "2026-09-29T16:53:56Z",
7
+ "commands": [
8
+ {
9
+ "id": "AUTO-REGRESSION-PYTHON",
10
+ "command": [
11
+ "python",
12
+ "-m",
13
+ "compileall",
14
+ "-q",
15
+ "src"
16
+ ],
17
+ "blocking": true,
18
+ "returncode": 0,
19
+ "succeeded": true,
20
+ "timedOut": false,
21
+ "workingDirectory": ".",
22
+ "stdout": "",
23
+ "stderr": ""
24
+ },
25
+ {
26
+ "id": "PREP-targeted-automatic-evidence",
27
+ "command": [
28
+ "uv",
29
+ "run",
30
+ "pytest",
31
+ "-q",
32
+ "tests/test_automatic_evidence.py"
33
+ ],
34
+ "blocking": true,
35
+ "returncode": 0,
36
+ "succeeded": true,
37
+ "timedOut": false,
38
+ "workingDirectory": ".",
39
+ "stdout": "................................................... [100%]\n51 passed in 10.07s\n",
40
+ "stderr": ""
41
+ },
42
+ {
43
+ "id": "PREP-verification-policy",
44
+ "command": [
45
+ "uv",
46
+ "run",
47
+ "pytest",
48
+ "-q",
49
+ "tests/test_verification.py"
50
+ ],
51
+ "blocking": true,
52
+ "returncode": 0,
53
+ "succeeded": true,
54
+ "timedOut": false,
55
+ "workingDirectory": ".",
56
+ "stdout": "........................................................................ [ 57%]\n..................................................... [100%]\n125 passed in 0.19s\n",
57
+ "stderr": ""
58
+ },
59
+ {
60
+ "id": "PREP-release-consistency",
61
+ "command": [
62
+ "uv",
63
+ "run",
64
+ "pytest",
65
+ "-q",
66
+ "tests/test_release.py"
67
+ ],
68
+ "blocking": true,
69
+ "returncode": 0,
70
+ "succeeded": true,
71
+ "timedOut": false,
72
+ "workingDirectory": ".",
73
+ "stdout": "............................. [100%]\n29 passed in 0.23s\n",
74
+ "stderr": ""
75
+ },
76
+ {
77
+ "id": "PREP-full-suite",
78
+ "command": [
79
+ "uv",
80
+ "run",
81
+ "pytest",
82
+ "-q"
83
+ ],
84
+ "blocking": true,
85
+ "returncode": 0,
86
+ "succeeded": true,
87
+ "timedOut": false,
88
+ "workingDirectory": ".",
89
+ "stdout": "........................................................................ [ 7%]\n........................................................................ [ 14%]\n........................................................................ [ 21%]\n........................................................................ [ 28%]\n........................................................................ [ 36%]\n........................................................................ [ 43%]\n........................................................................ [ 50%]\n........................................................................ [ 57%]\n........................................................................ [ 65%]\n........................................................................ [ 72%]\n........................................................................ [ 79%]\n........................................................................ [ 86%]\n........................................................................ [ 93%]\n............................................................ [100%]\n996 passed in 73.86s (0:01:13)\n",
90
+ "stderr": ""
91
+ },
92
+ {
93
+ "id": "PREP-docs-sync",
94
+ "command": [
95
+ "uv",
96
+ "run",
97
+ "devflow",
98
+ "docs-sync",
99
+ "--check"
100
+ ],
101
+ "blocking": true,
102
+ "returncode": 0,
103
+ "succeeded": true,
104
+ "timedOut": false,
105
+ "workingDirectory": ".",
106
+ "stdout": "[OK] Documentation déjà synchronisée.\n",
107
+ "stderr": ""
108
+ }
109
+ ],
110
+ "worktreeMutations": [],
111
+ "waiversApplied": []
112
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "targeted-tests",
4
+ "outcome": "passed",
5
+ "startedAt": "2026-09-29T16:52:17Z",
6
+ "completedAt": "2026-09-29T16:53:56Z",
7
+ "commands": [
8
+ {
9
+ "id": "AUTO-PYTHON",
10
+ "command": [
11
+ "uv",
12
+ "run",
13
+ "pytest",
14
+ "-q",
15
+ "tests/test_automatic_evidence.py"
16
+ ],
17
+ "blocking": true,
18
+ "returncode": 0,
19
+ "succeeded": true,
20
+ "timedOut": false,
21
+ "workingDirectory": ".",
22
+ "stdout": "................................................... [100%]\n51 passed in 8.49s\n",
23
+ "stderr": ""
24
+ }
25
+ ],
26
+ "worktreeMutations": [],
27
+ "waiversApplied": []
28
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contractId": "KKS-419:standard:implement:v3",
4
+ "status": "completed",
5
+ "summary": "La commande AUTO-REGRESSION-PYTHON ne suppose plus que `python` est dans le PATH. Le changement est dans la branche Python de `select_regression_commands` (src/devflow_cli/core/automatic_evidence.py). Si `uv.lock` existe, la commande est `uv run python -m compileall -q src`, sans option. Sinon, l'interpréteur est choisi par shutil.which dans l'ordre python3 puis python, et la commande porte toujours son nom nu, jamais un chemin, que la politique refuserait (vérifié sur `/usr/bin/python3`). Sans aucun interpréteur, la fonction lève la nouvelle exception `RegressionInterpreterUnavailable`. `run_automatic_verification` l'intercepte et renvoie avant toute exécution la raison `regression-interpreter-unavailable`, distincte de `regression-check-failed` et de `no-safe-regression`. Les branches Node, Maven et Rust ne changent pas, pas plus que la sélection ciblée AUTO-PYTHON ni la politique de validation. Tests ajoutés dans tests/test_automatic_evidence.py, avec shutil.which simulé par monkeypatch : forme `uv run` avec `uv.lock` ; préférence pour python3 ; python3 utilisé quand python est absent ; repli sur python ; exception quand aucun interpréteur n'est trouvé ; chaque forme produite acceptée par `validate_command_policy` ; projets Rust ou sans marqueur inchangés, sans recherche d'interpréteur ; en profil standard sans interpréteur, échec d'environnement sans aucune exécution, l'activité restant sur verify. Livraison en version 6.3.1, concordante dans pyproject.toml, VERSION, uv.lock (bloc devflow-cli) et CHANGELOG.md, avec les notes docs/releases/6.3.1.md.",
6
+ "changedFiles": [
7
+ "src/devflow_cli/core/automatic_evidence.py",
8
+ "tests/test_automatic_evidence.py",
9
+ "src/devflow_cli/__init__.py",
10
+ "pyproject.toml",
11
+ "uv.lock",
12
+ "CHANGELOG.md",
13
+ "docs/releases/6.3.1.md"
14
+ ],
15
+ "checks": [
16
+ {
17
+ "id": "targeted-automatic-evidence",
18
+ "command": "uv run pytest -q tests/test_automatic_evidence.py",
19
+ "exitCode": 0,
20
+ "status": "passed"
21
+ },
22
+ {
23
+ "id": "targeted-policy-release",
24
+ "command": "uv run pytest -q tests/test_automatic_evidence.py tests/test_verification.py tests/test_release.py",
25
+ "exitCode": 0,
26
+ "status": "passed"
27
+ },
28
+ {
29
+ "id": "release-consistency",
30
+ "command": "uv run python scripts/check_release.py",
31
+ "exitCode": 0,
32
+ "status": "passed"
33
+ },
34
+ {
35
+ "id": "docs-sync",
36
+ "command": "uv run devflow docs-sync --check",
37
+ "exitCode": 0,
38
+ "status": "passed"
39
+ },
40
+ {
41
+ "id": "full-suite",
42
+ "command": "uv run pytest -q",
43
+ "exitCode": 0,
44
+ "status": "passed"
45
+ }
46
+ ],
47
+ "evidence": [],
48
+ "remainingRisks": [
49
+ "Si uv.lock existe mais que uv est absent du PATH, l'échec reste un code 127 rapporté comme regression-check-failed : need.md ne tranche pas ce cas, qui n'a pas été traité.",
50
+ "L'interpréteur est choisi au moment de verify, selon le PATH du processus devflow : la commande enregistrée dans les preuves peut donc différer d'une machine à l'autre (python3 ou python).",
51
+ "Après regression-interpreter-unavailable, la reprise guidée propose toujours reopen … implement (friction 6079cb7c, hors périmètre).",
52
+ "./tests/run-tests.sh n'a pas été lancé pendant implement ; il relève de verify.",
53
+ "Aucune documentation CLI ne décrit la régression Python : seuls le CHANGELOG et les notes de version décrivent le changement."
54
+ ],
55
+ "blockers": []
56
+ }
@@ -0,0 +1,51 @@
1
+ # KKS-419 — Lancer la régression Python automatique sans supposer « python » dans le PATH
2
+
3
+ Source : retour `devflow feedback` `3a165157` (majeur), déjà consigné comme m5 dans `FEEDBACK.md`
4
+ pendant KKS-411, puis rencontré sur KKS-416 et KKS-414.
5
+
6
+ ## Problème
7
+
8
+ `select_regression_commands` (`src/devflow_cli/core/automatic_evidence.py`) construit
9
+ `AUTO-REGRESSION-PYTHON` avec `["python", "-m", "compileall", "-q", "src"]`. Sur macOS sans
10
+ environnement virtuel actif, seul `python3` existe : la commande échoue en code 127 (« No such
11
+ file or directory: 'python' ») et `verify` est refusé comme un échec de tests, alors que le code
12
+ est correct.
13
+
14
+ Contournement actuel : lancer `verify` avec `.venv/bin` en tête du `PATH`.
15
+
16
+ La sélection ciblée du même fichier suit déjà un autre patron : `uv run pytest` si `uv.lock`
17
+ existe, sinon `pytest`.
18
+
19
+ ## Attendu
20
+
21
+ - L'interpréteur de `AUTO-REGRESSION-PYTHON` ne dépend plus d'un `python` dans le `PATH`. Ordre
22
+ suggéré, à trancher en spec : `uv run python -m compileall -q src` si `uv.lock` existe, sinon
23
+ `python3`, sinon `python`.
24
+ - La commande produite respecte la politique de validation (`src/devflow_cli/core/verification.py`) :
25
+ `uv run` sans option, et `python -m compileall`, module autorisé.
26
+ - Aucun interpréteur disponible : échec explicite, identifiable comme un problème d'environnement
27
+ (et non comme un échec de tests du code).
28
+ - Aucun changement pour les autres régressions automatiques (Node, Maven, Rust) ni pour la
29
+ sélection ciblée.
30
+
31
+ ## Tests attendus
32
+
33
+ - Projet Python avec `uv.lock` : la forme `uv run` est produite.
34
+ - Projet Python sans `uv.lock`, `python` absent et `python3` présent : `python3` est utilisé.
35
+ - Aucun interpréteur disponible : échec explicite, identifiable comme un problème
36
+ d'environnement.
37
+ - La commande produite passe la politique de validation.
38
+ - Projet non Python : inchangé.
39
+
40
+ ## Livraison
41
+
42
+ - Nouvelle version strictement supérieure à 6.3.0, concordante dans `pyproject.toml`, `VERSION`
43
+ (`src/devflow_cli/__init__.py`), `uv.lock` et `CHANGELOG.md` (cf. `scripts/check_release.py` et
44
+ `CONTRIBUTING.md`). Notes dans `docs/releases/`.
45
+ - Documentation CLI à jour si elle décrit la régression Python (`uv run devflow docs-sync --check`).
46
+
47
+ ## Hors périmètre
48
+
49
+ - Friction `6079cb7c` (mineur) : après un échec d'environnement, la reprise guidée propose
50
+ `reopen … implement` au lieu de `devflow adaptive verify`.
51
+ - La sélection ciblée `pytest` sans `uv.lock`.
@@ -0,0 +1,50 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contractId": "KKS-419:standard:preflight-evidence:v3",
4
+ "status": "completed",
5
+ "summary": "preflight-evidence.md est rédigé. L'échec est reproduit : avec PATH=/usr/bin:/bin, la forme actuelle `python -m compileall -q src` sort en code 127 (FileNotFoundError intercepté), alors que `python3 -m compileall -q src` sort en code 0. La forme `uv run python -m compileall -q src` sort aussi en code 0. La politique de validation accepte `uv run`, `python3` et `python` sous leur nom nu, mais refuse le chemin absolu : la commande doit donc porter le nom nu, jamais la sortie brute de shutil.which. Elle accepte aussi `uv run --no-sync` : la forme sans option doit être garantie par l'implémentation. Autre constat : les commandes PREP du validationPlan sont fusionnées aux régressions. Une simple liste vide ne déclencherait donc pas no-safe-regression, et le cas « aucun interpréteur » exige un signal distinct. Base saine : 166 tests passent. Version de départ concordante : 6.3.0.",
6
+ "changedFiles": [
7
+ ".specify/specs/032-kks-419/preflight-evidence.md"
8
+ ],
9
+ "checks": [
10
+ {
11
+ "id": "probe-script",
12
+ "command": "uv run python <scratchpad>/probe.py",
13
+ "exitCode": 0,
14
+ "status": "passed"
15
+ },
16
+ {
17
+ "id": "baseline-automatic-evidence-verification",
18
+ "command": "uv run pytest -q tests/test_automatic_evidence.py tests/test_verification.py",
19
+ "exitCode": 0,
20
+ "status": "passed"
21
+ },
22
+ {
23
+ "id": "repro-python-absent",
24
+ "command": "env PATH=/usr/bin:/bin python -m compileall -q src",
25
+ "exitCode": 127,
26
+ "status": "failed"
27
+ },
28
+ {
29
+ "id": "repro-python3-present",
30
+ "command": "env PATH=/usr/bin:/bin python3 -m compileall -q src",
31
+ "exitCode": 0,
32
+ "status": "passed"
33
+ }
34
+ ],
35
+ "evidence": [
36
+ {
37
+ "id": "preflight-evidence",
38
+ "outcome": "passed",
39
+ "report": ".specify/specs/032-kks-419/preflight-evidence.md : 11 faits observés, avec les sections Source, Reproductibilité, Périmètre, Confidentialité et Limites. Le check repro-python-absent échoue volontairement : il prouve le défaut actuel, un code 127 sans python dans le PATH."
40
+ }
41
+ ],
42
+ "remainingRisks": [
43
+ "Le cas « uv.lock présent mais uv absent du PATH » donnerait encore un code 127, rapporté comme regression-check-failed. need.md ne le tranche pas.",
44
+ "Le nom de la raison d'environnement et la forme du signal renvoyé par select_regression_commands restent à fixer à l'implémentation, sans modifier la reprise guidée (6079cb7c est hors périmètre).",
45
+ "La politique accepte les options de uv run : rien n'empêche mécaniquement une forme avec option. La forme sans option doit être testée explicitement.",
46
+ "La résolution par shutil.which rend la commande dépendante du poste. Les tests doivent simuler shutil.which par monkeypatch, car le venv local expose python.",
47
+ "Ni la suite complète, ni docs-sync --check, ni run-tests.sh, ni check_release.py n'ont été lancés : ils relèvent de verify."
48
+ ],
49
+ "blockers": []
50
+ }