autodev-ai 0.1.0a2__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 (569) hide show
  1. autodev_ai-0.1.0a2/.github/dependabot.yml +13 -0
  2. autodev_ai-0.1.0a2/.github/workflows/docker-publish.yml +109 -0
  3. autodev_ai-0.1.0a2/.github/workflows/lint.yml +28 -0
  4. autodev_ai-0.1.0a2/.github/workflows/release.yml +75 -0
  5. autodev_ai-0.1.0a2/.github/workflows/test.yml +37 -0
  6. autodev_ai-0.1.0a2/.gitignore +25 -0
  7. autodev_ai-0.1.0a2/.pre-commit-config.yaml +25 -0
  8. autodev_ai-0.1.0a2/CHANGELOG.md +147 -0
  9. autodev_ai-0.1.0a2/LICENSE +21 -0
  10. autodev_ai-0.1.0a2/PKG-INFO +340 -0
  11. autodev_ai-0.1.0a2/README.md +294 -0
  12. autodev_ai-0.1.0a2/docs/a2a.md +103 -0
  13. autodev_ai-0.1.0a2/docs/a2a_http_client.md +124 -0
  14. autodev_ai-0.1.0a2/docs/a2a_server.md +161 -0
  15. autodev_ai-0.1.0a2/docs/architecture.md +276 -0
  16. autodev_ai-0.1.0a2/docs/claude_code_adapter.md +16 -0
  17. autodev_ai-0.1.0a2/docs/codex_cli_adapter.md +13 -0
  18. autodev_ai-0.1.0a2/docs/configuration.md +298 -0
  19. autodev_ai-0.1.0a2/docs/contributing.md +51 -0
  20. autodev_ai-0.1.0a2/docs/crewai_flows.md +24 -0
  21. autodev_ai-0.1.0a2/docs/faq.md +255 -0
  22. autodev_ai-0.1.0a2/docs/issue_pipeline.md +19 -0
  23. autodev_ai-0.1.0a2/docs/mcp_server.md +83 -0
  24. autodev_ai-0.1.0a2/docs/multi_cli_executor.md +106 -0
  25. autodev_ai-0.1.0a2/docs/project_delivery.md +40 -0
  26. autodev_ai-0.1.0a2/docs/quality_gate.md +13 -0
  27. autodev_ai-0.1.0a2/docs/quickstart.md +178 -0
  28. autodev_ai-0.1.0a2/docs/release/pypi_0_1_0a1_publish_checklist.md +246 -0
  29. autodev_ai-0.1.0a2/docs/release/pypi_0_1_0a1_rollback_plan.md +249 -0
  30. autodev_ai-0.1.0a2/docs/release_gate.md +18 -0
  31. autodev_ai-0.1.0a2/docs/release_notes/v0.1.0a1.md +241 -0
  32. autodev_ai-0.1.0a2/docs/state_schema.md +37 -0
  33. autodev_ai-0.1.0a2/docs/troubleshooting.md +310 -0
  34. autodev_ai-0.1.0a2/docs/tutorials/01-bug-fix.md +182 -0
  35. autodev_ai-0.1.0a2/docs/tutorials/02-rust-project.md +156 -0
  36. autodev_ai-0.1.0a2/docs/tutorials/03-multi-cli-routing.md +163 -0
  37. autodev_ai-0.1.0a2/docs/tutorials/04-sprint-mode.md +191 -0
  38. autodev_ai-0.1.0a2/docs/tutorials/05-roundtable.md +152 -0
  39. autodev_ai-0.1.0a2/docs/tutorials/06-mcp-server.md +171 -0
  40. autodev_ai-0.1.0a2/docs/tutorials/07-a2a-server.md +208 -0
  41. autodev_ai-0.1.0a2/docs/usage.md +98 -0
  42. autodev_ai-0.1.0a2/docs/validation/autodev_a2a_protocol_audit.json +39 -0
  43. autodev_ai-0.1.0a2/docs/validation/autodev_a2a_protocol_audit.md +154 -0
  44. autodev_ai-0.1.0a2/docs/validation/autodev_ci_quality_coverage_audit.json +180 -0
  45. autodev_ai-0.1.0a2/docs/validation/autodev_ci_quality_coverage_audit.md +234 -0
  46. autodev_ai-0.1.0a2/docs/validation/autodev_cli_surface_audit.json +392 -0
  47. autodev_ai-0.1.0a2/docs/validation/autodev_cli_surface_audit.md +105 -0
  48. autodev_ai-0.1.0a2/docs/validation/autodev_coverage_gap_prioritization.json +191 -0
  49. autodev_ai-0.1.0a2/docs/validation/autodev_coverage_gap_prioritization.md +95 -0
  50. autodev_ai-0.1.0a2/docs/validation/autodev_documentation_onboarding_audit.json +225 -0
  51. autodev_ai-0.1.0a2/docs/validation/autodev_documentation_onboarding_audit.md +168 -0
  52. autodev_ai-0.1.0a2/docs/validation/autodev_executor_boundary_audit.json +148 -0
  53. autodev_ai-0.1.0a2/docs/validation/autodev_executor_boundary_audit.md +174 -0
  54. autodev_ai-0.1.0a2/docs/validation/autodev_flow_agent_coverage_audit.json +516 -0
  55. autodev_ai-0.1.0a2/docs/validation/autodev_flow_agent_coverage_audit.md +188 -0
  56. autodev_ai-0.1.0a2/docs/validation/autodev_flow_agent_failure_coverage_audit.json +344 -0
  57. autodev_ai-0.1.0a2/docs/validation/autodev_flow_agent_failure_coverage_audit.md +130 -0
  58. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_a2a.json +13 -0
  59. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_a2a.md +77 -0
  60. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_cli_surface.json +22 -0
  61. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_cli_surface.md +112 -0
  62. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_docs_onboarding.json +52 -0
  63. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_docs_onboarding.md +82 -0
  64. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_executor_isolation.json +88 -0
  65. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_executor_isolation.md +103 -0
  66. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_flow_agent_coverage.json +46 -0
  67. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_flow_agent_coverage.md +71 -0
  68. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_mcp.json +30 -0
  69. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_mcp.md +52 -0
  70. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_metadata.json +51 -0
  71. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_metadata.md +84 -0
  72. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_packaging.json +54 -0
  73. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_packaging.md +80 -0
  74. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_quality_ci.json +57 -0
  75. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_quality_ci.md +131 -0
  76. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_security.json +241 -0
  77. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_security.md +134 -0
  78. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_validation_reports.json +92 -0
  79. autodev_ai-0.1.0a2/docs/validation/autodev_full_audit_validation_reports.md +121 -0
  80. autodev_ai-0.1.0a2/docs/validation/autodev_full_pre_tag_audit_round.json +160 -0
  81. autodev_ai-0.1.0a2/docs/validation/autodev_full_pre_tag_audit_round.md +205 -0
  82. autodev_ai-0.1.0a2/docs/validation/autodev_installation_audit.json +135 -0
  83. autodev_ai-0.1.0a2/docs/validation/autodev_installation_audit.md +155 -0
  84. autodev_ai-0.1.0a2/docs/validation/autodev_mcp_server_audit.json +166 -0
  85. autodev_ai-0.1.0a2/docs/validation/autodev_mcp_server_audit.md +138 -0
  86. autodev_ai-0.1.0a2/docs/validation/autodev_p0_release_critical_tests.json +81 -0
  87. autodev_ai-0.1.0a2/docs/validation/autodev_p0_release_critical_tests.md +92 -0
  88. autodev_ai-0.1.0a2/docs/validation/autodev_p0_security_tests.json +180 -0
  89. autodev_ai-0.1.0a2/docs/validation/autodev_p0_security_tests.md +110 -0
  90. autodev_ai-0.1.0a2/docs/validation/autodev_p1_flow_failure_tests.json +87 -0
  91. autodev_ai-0.1.0a2/docs/validation/autodev_p1_flow_failure_tests.md +107 -0
  92. autodev_ai-0.1.0a2/docs/validation/autodev_p1_protocol_error_tests.json +138 -0
  93. autodev_ai-0.1.0a2/docs/validation/autodev_p1_protocol_error_tests.md +87 -0
  94. autodev_ai-0.1.0a2/docs/validation/autodev_packaging_artifact_audit.json +202 -0
  95. autodev_ai-0.1.0a2/docs/validation/autodev_packaging_artifact_audit.md +196 -0
  96. autodev_ai-0.1.0a2/docs/validation/autodev_post_publish_verification_round.json +154 -0
  97. autodev_ai-0.1.0a2/docs/validation/autodev_post_publish_verification_round.md +160 -0
  98. autodev_ai-0.1.0a2/docs/validation/autodev_pre_tag_go_no_go.json +110 -0
  99. autodev_ai-0.1.0a2/docs/validation/autodev_pre_tag_go_no_go.md +107 -0
  100. autodev_ai-0.1.0a2/docs/validation/autodev_protocol_coverage_audit.json +210 -0
  101. autodev_ai-0.1.0a2/docs/validation/autodev_protocol_coverage_audit.md +119 -0
  102. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_0_1_0a1_rc_publish_prep.json +158 -0
  103. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_0_1_0a1_rc_publish_prep.md +227 -0
  104. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_artifact_build.json +64 -0
  105. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_artifact_build.md +54 -0
  106. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_metadata_freeze.json +158 -0
  107. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_metadata_freeze.md +206 -0
  108. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_release_gate_final.json +54 -0
  109. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_release_gate_final.md +63 -0
  110. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_release_workflow_audit.json +115 -0
  111. autodev_ai-0.1.0a2/docs/validation/autodev_pypi_rc_release_workflow_audit.md +110 -0
  112. autodev_ai-0.1.0a2/docs/validation/autodev_r2_a2a_http_ssrf_hardening.json +129 -0
  113. autodev_ai-0.1.0a2/docs/validation/autodev_r2_a2a_http_ssrf_hardening.md +69 -0
  114. autodev_ai-0.1.0a2/docs/validation/autodev_r2_flow_test_coverage.json +57 -0
  115. autodev_ai-0.1.0a2/docs/validation/autodev_r2_flow_test_coverage.md +100 -0
  116. autodev_ai-0.1.0a2/docs/validation/autodev_r2_homebrew_metadata_closure.json +71 -0
  117. autodev_ai-0.1.0a2/docs/validation/autodev_r2_homebrew_metadata_closure.md +76 -0
  118. autodev_ai-0.1.0a2/docs/validation/autodev_r2_pypi_release_blocker_closure.json +155 -0
  119. autodev_ai-0.1.0a2/docs/validation/autodev_r2_pypi_release_blocker_closure.md +185 -0
  120. autodev_ai-0.1.0a2/docs/validation/autodev_r2_release_workflow_pytest_gate.json +55 -0
  121. autodev_ai-0.1.0a2/docs/validation/autodev_r2_release_workflow_pytest_gate.md +83 -0
  122. autodev_ai-0.1.0a2/docs/validation/autodev_r2_wheel_version_smoke.json +33 -0
  123. autodev_ai-0.1.0a2/docs/validation/autodev_r2_wheel_version_smoke.md +52 -0
  124. autodev_ai-0.1.0a2/docs/validation/autodev_r3_a2a_dns_rebinding_hardening.json +116 -0
  125. autodev_ai-0.1.0a2/docs/validation/autodev_r3_a2a_dns_rebinding_hardening.md +136 -0
  126. autodev_ai-0.1.0a2/docs/validation/autodev_r3_docker_digest_pinning.json +67 -0
  127. autodev_ai-0.1.0a2/docs/validation/autodev_r3_docker_digest_pinning.md +145 -0
  128. autodev_ai-0.1.0a2/docs/validation/autodev_r3_documentation_minimum_closure.json +98 -0
  129. autodev_ai-0.1.0a2/docs/validation/autodev_r3_documentation_minimum_closure.md +97 -0
  130. autodev_ai-0.1.0a2/docs/validation/autodev_r3_homebrew_publish_time_blocker.json +59 -0
  131. autodev_ai-0.1.0a2/docs/validation/autodev_r3_homebrew_publish_time_blocker.md +118 -0
  132. autodev_ai-0.1.0a2/docs/validation/autodev_r3_mcp_apply_guardrail.json +51 -0
  133. autodev_ai-0.1.0a2/docs/validation/autodev_r3_mcp_apply_guardrail.md +77 -0
  134. autodev_ai-0.1.0a2/docs/validation/autodev_r3_mypy_bridge_closure.json +39 -0
  135. autodev_ai-0.1.0a2/docs/validation/autodev_r3_mypy_bridge_closure.md +68 -0
  136. autodev_ai-0.1.0a2/docs/validation/autodev_r3_pypi_rc_final_hardening.json +175 -0
  137. autodev_ai-0.1.0a2/docs/validation/autodev_r3_pypi_rc_final_hardening.md +239 -0
  138. autodev_ai-0.1.0a2/docs/validation/autodev_r3_ruff_lint_closure.json +140 -0
  139. autodev_ai-0.1.0a2/docs/validation/autodev_r3_ruff_lint_closure.md +93 -0
  140. autodev_ai-0.1.0a2/docs/validation/autodev_r3_worker_isolator_symlink_hardening.json +90 -0
  141. autodev_ai-0.1.0a2/docs/validation/autodev_r3_worker_isolator_symlink_hardening.md +122 -0
  142. autodev_ai-0.1.0a2/docs/validation/autodev_r4_branch_injection_hardening.json +87 -0
  143. autodev_ai-0.1.0a2/docs/validation/autodev_r4_branch_injection_hardening.md +127 -0
  144. autodev_ai-0.1.0a2/docs/validation/autodev_r4_mcp_env_path_denial.json +53 -0
  145. autodev_ai-0.1.0a2/docs/validation/autodev_r4_mcp_env_path_denial.md +116 -0
  146. autodev_ai-0.1.0a2/docs/validation/autodev_r4_mcp_schema_enforcement.json +40 -0
  147. autodev_ai-0.1.0a2/docs/validation/autodev_r4_mcp_schema_enforcement.md +44 -0
  148. autodev_ai-0.1.0a2/docs/validation/autodev_r4_release_workflow_secret_handling.json +51 -0
  149. autodev_ai-0.1.0a2/docs/validation/autodev_r4_release_workflow_secret_handling.md +89 -0
  150. autodev_ai-0.1.0a2/docs/validation/autodev_r4_security_xfail_closure_round.json +120 -0
  151. autodev_ai-0.1.0a2/docs/validation/autodev_r4_security_xfail_closure_round.md +140 -0
  152. autodev_ai-0.1.0a2/docs/validation/autodev_r4_xfail_ledger.json +87 -0
  153. autodev_ai-0.1.0a2/docs/validation/autodev_r4_xfail_ledger.md +33 -0
  154. autodev_ai-0.1.0a2/docs/validation/autodev_release_critical_coverage_audit.json +581 -0
  155. autodev_ai-0.1.0a2/docs/validation/autodev_release_critical_coverage_audit.md +217 -0
  156. autodev_ai-0.1.0a2/docs/validation/autodev_release_hardening_round.json +368 -0
  157. autodev_ai-0.1.0a2/docs/validation/autodev_release_hardening_round.md +245 -0
  158. autodev_ai-0.1.0a2/docs/validation/autodev_release_readiness_gate.json +223 -0
  159. autodev_ai-0.1.0a2/docs/validation/autodev_release_readiness_gate.md +175 -0
  160. autodev_ai-0.1.0a2/docs/validation/autodev_release_topology_audit.json +171 -0
  161. autodev_ai-0.1.0a2/docs/validation/autodev_release_topology_audit.md +182 -0
  162. autodev_ai-0.1.0a2/docs/validation/autodev_security_coverage_audit.json +198 -0
  163. autodev_ai-0.1.0a2/docs/validation/autodev_security_coverage_audit.md +238 -0
  164. autodev_ai-0.1.0a2/docs/validation/autodev_security_secret_audit.json +249 -0
  165. autodev_ai-0.1.0a2/docs/validation/autodev_security_secret_audit.md +192 -0
  166. autodev_ai-0.1.0a2/docs/validation/autodev_test_coverage_baseline.json +136 -0
  167. autodev_ai-0.1.0a2/docs/validation/autodev_test_coverage_baseline.md +116 -0
  168. autodev_ai-0.1.0a2/docs/validation/autodev_test_coverage_expansion_round.json +171 -0
  169. autodev_ai-0.1.0a2/docs/validation/autodev_test_coverage_expansion_round.md +182 -0
  170. autodev_ai-0.1.0a2/docs/validation/coverage_gate_run.json +124 -0
  171. autodev_ai-0.1.0a2/docs/validation/release_readiness_gate_run.json +265 -0
  172. autodev_ai-0.1.0a2/examples/01-mdlines/brief.md +30 -0
  173. autodev_ai-0.1.0a2/examples/02-slug-rs/brief.md +32 -0
  174. autodev_ai-0.1.0a2/examples/03-hello-ts/brief.md +33 -0
  175. autodev_ai-0.1.0a2/examples/04-tinyurl/brief.md +34 -0
  176. autodev_ai-0.1.0a2/examples/05-kanban-board/brief.md +34 -0
  177. autodev_ai-0.1.0a2/examples/06-log-analyzer/brief.md +35 -0
  178. autodev_ai-0.1.0a2/examples/07-feed-aggregator/brief.md +36 -0
  179. autodev_ai-0.1.0a2/examples/08-pdf-extractor/brief.md +36 -0
  180. autodev_ai-0.1.0a2/examples/09-cli-wrapper/brief.md +35 -0
  181. autodev_ai-0.1.0a2/examples/10-prfaq-product/brief.md +43 -0
  182. autodev_ai-0.1.0a2/examples/README.md +28 -0
  183. autodev_ai-0.1.0a2/examples/scripts/run_example.sh +14 -0
  184. autodev_ai-0.1.0a2/packaging/desktop/README.md +71 -0
  185. autodev_ai-0.1.0a2/packaging/desktop/autodev-ai-open.sh +106 -0
  186. autodev_ai-0.1.0a2/packaging/desktop/autodev-ai.app/Contents/Info.plist +24 -0
  187. autodev_ai-0.1.0a2/packaging/desktop/autodev-ai.app/Contents/MacOS/launcher +18 -0
  188. autodev_ai-0.1.0a2/packaging/desktop/autodev-ai.app/Contents/Resources/AppIcon.icns +0 -0
  189. autodev_ai-0.1.0a2/packaging/desktop/install.sh +47 -0
  190. autodev_ai-0.1.0a2/packaging/docker/.dockerignore +15 -0
  191. autodev_ai-0.1.0a2/packaging/docker/Dockerfile +55 -0
  192. autodev_ai-0.1.0a2/packaging/docker/README.md +70 -0
  193. autodev_ai-0.1.0a2/packaging/docker/UPDATE.md +73 -0
  194. autodev_ai-0.1.0a2/packaging/docker/build.sh +20 -0
  195. autodev_ai-0.1.0a2/packaging/homebrew/Formula/autodev-ai.rb +75 -0
  196. autodev_ai-0.1.0a2/packaging/homebrew/PUBLISH_CHECKLIST.md +69 -0
  197. autodev_ai-0.1.0a2/packaging/homebrew/README.md +48 -0
  198. autodev_ai-0.1.0a2/packaging/homebrew/refresh-resources.sh +62 -0
  199. autodev_ai-0.1.0a2/packaging/pyinstaller/README.md +156 -0
  200. autodev_ai-0.1.0a2/packaging/pyinstaller/_collect_hidden_imports.py +71 -0
  201. autodev_ai-0.1.0a2/packaging/pyinstaller/autodev.spec +197 -0
  202. autodev_ai-0.1.0a2/packaging/pyinstaller/autodev_entry.py +12 -0
  203. autodev_ai-0.1.0a2/packaging/pyinstaller/build-universal-mac.sh +130 -0
  204. autodev_ai-0.1.0a2/packaging/pyinstaller/build.sh +81 -0
  205. autodev_ai-0.1.0a2/pyproject.toml +84 -0
  206. autodev_ai-0.1.0a2/scripts/coverage_gate.py +216 -0
  207. autodev_ai-0.1.0a2/scripts/release_readiness_gate.py +1334 -0
  208. autodev_ai-0.1.0a2/src/autodev/__init__.py +11 -0
  209. autodev_ai-0.1.0a2/src/autodev/adapters/__init__.py +10 -0
  210. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/__init__.py +3 -0
  211. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/client.py +53 -0
  212. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/handlers.py +215 -0
  213. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/roster.py +182 -0
  214. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/server.py +362 -0
  215. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/transports/__init__.py +5 -0
  216. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/transports/base.py +23 -0
  217. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/transports/http.py +683 -0
  218. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/transports/local_shell.py +129 -0
  219. autodev_ai-0.1.0a2/src/autodev/adapters/a2a/transports/mock.py +60 -0
  220. autodev_ai-0.1.0a2/src/autodev/adapters/convention_loader.py +88 -0
  221. autodev_ai-0.1.0a2/src/autodev/adapters/distillator.py +203 -0
  222. autodev_ai-0.1.0a2/src/autodev/adapters/embeddings_index.py +135 -0
  223. autodev_ai-0.1.0a2/src/autodev/adapters/filesystem_adapter.py +21 -0
  224. autodev_ai-0.1.0a2/src/autodev/adapters/git_adapter.py +87 -0
  225. autodev_ai-0.1.0a2/src/autodev/adapters/github_adapter.py +145 -0
  226. autodev_ai-0.1.0a2/src/autodev/adapters/mcp_client.py +209 -0
  227. autodev_ai-0.1.0a2/src/autodev/adapters/opus_adapter.py +162 -0
  228. autodev_ai-0.1.0a2/src/autodev/adapters/pydantic_ai_bridge.py +157 -0
  229. autodev_ai-0.1.0a2/src/autodev/agents/__init__.py +46 -0
  230. autodev_ai-0.1.0a2/src/autodev/agents/_activation.py +253 -0
  231. autodev_ai-0.1.0a2/src/autodev/agents/_crewai_bridge.py +67 -0
  232. autodev_ai-0.1.0a2/src/autodev/agents/_menu.py +67 -0
  233. autodev_ai-0.1.0a2/src/autodev/agents/_scaffold_verification.py +13 -0
  234. autodev_ai-0.1.0a2/src/autodev/agents/adversarial_reviewer.py +196 -0
  235. autodev_ai-0.1.0a2/src/autodev/agents/clarification_gate.py +343 -0
  236. autodev_ai-0.1.0a2/src/autodev/agents/code_reviewer.py +89 -0
  237. autodev_ai-0.1.0a2/src/autodev/agents/commit_agent.py +141 -0
  238. autodev_ai-0.1.0a2/src/autodev/agents/context_generator.py +504 -0
  239. autodev_ai-0.1.0a2/src/autodev/agents/critic.py +79 -0
  240. autodev_ai-0.1.0a2/src/autodev/agents/doc_writer.py +37 -0
  241. autodev_ai-0.1.0a2/src/autodev/agents/document_project.py +682 -0
  242. autodev_ai-0.1.0a2/src/autodev/agents/edge_case_hunter.py +337 -0
  243. autodev_ai-0.1.0a2/src/autodev/agents/editorial_reviewer.py +444 -0
  244. autodev_ai-0.1.0a2/src/autodev/agents/elicitation_methods.py +173 -0
  245. autodev_ai-0.1.0a2/src/autodev/agents/failure_cluster_reviewer.py +80 -0
  246. autodev_ai-0.1.0a2/src/autodev/agents/human_review_gate.py +152 -0
  247. autodev_ai-0.1.0a2/src/autodev/agents/implementer.py +343 -0
  248. autodev_ai-0.1.0a2/src/autodev/agents/input_classifier.py +78 -0
  249. autodev_ai-0.1.0a2/src/autodev/agents/integration_reviewer.py +73 -0
  250. autodev_ai-0.1.0a2/src/autodev/agents/investigator.py +396 -0
  251. autodev_ai-0.1.0a2/src/autodev/agents/issue_analyst.py +63 -0
  252. autodev_ai-0.1.0a2/src/autodev/agents/milestone_planner.py +36 -0
  253. autodev_ai-0.1.0a2/src/autodev/agents/navigator.py +99 -0
  254. autodev_ai-0.1.0a2/src/autodev/agents/next_step_advisor.py +175 -0
  255. autodev_ai-0.1.0a2/src/autodev/agents/opus_consult.py +32 -0
  256. autodev_ai-0.1.0a2/src/autodev/agents/parallel_section_reviewer.py +370 -0
  257. autodev_ai-0.1.0a2/src/autodev/agents/prd_writer.py +183 -0
  258. autodev_ai-0.1.0a2/src/autodev/agents/product_manager.py +75 -0
  259. autodev_ai-0.1.0a2/src/autodev/agents/property_test_designer.py +195 -0
  260. autodev_ai-0.1.0a2/src/autodev/agents/quality_gate.py +28 -0
  261. autodev_ai-0.1.0a2/src/autodev/agents/release_manager.py +29 -0
  262. autodev_ai-0.1.0a2/src/autodev/agents/repo_explorer.py +19 -0
  263. autodev_ai-0.1.0a2/src/autodev/agents/requirement_analyst.py +146 -0
  264. autodev_ai-0.1.0a2/src/autodev/agents/roundtable.py +374 -0
  265. autodev_ai-0.1.0a2/src/autodev/agents/scaffolder.py +194 -0
  266. autodev_ai-0.1.0a2/src/autodev/agents/security_reviewer.py +199 -0
  267. autodev_ai-0.1.0a2/src/autodev/agents/sprint_manager.py +52 -0
  268. autodev_ai-0.1.0a2/src/autodev/agents/system_architect.py +47 -0
  269. autodev_ai-0.1.0a2/src/autodev/agents/task_decomposer.py +49 -0
  270. autodev_ai-0.1.0a2/src/autodev/agents/test_designer.py +87 -0
  271. autodev_ai-0.1.0a2/src/autodev/agents/ux_designer.py +382 -0
  272. autodev_ai-0.1.0a2/src/autodev/agents/verifier.py +38 -0
  273. autodev_ai-0.1.0a2/src/autodev/cli.py +1042 -0
  274. autodev_ai-0.1.0a2/src/autodev/config.py +105 -0
  275. autodev_ai-0.1.0a2/src/autodev/context_providers/__init__.py +10 -0
  276. autodev_ai-0.1.0a2/src/autodev/context_providers/base.py +15 -0
  277. autodev_ai-0.1.0a2/src/autodev/context_providers/diff_provider.py +38 -0
  278. autodev_ai-0.1.0a2/src/autodev/context_providers/repo_map_provider.py +55 -0
  279. autodev_ai-0.1.0a2/src/autodev/context_providers/search_provider.py +87 -0
  280. autodev_ai-0.1.0a2/src/autodev/context_providers/tree_provider.py +57 -0
  281. autodev_ai-0.1.0a2/src/autodev/coverage_gate.py +32 -0
  282. autodev_ai-0.1.0a2/src/autodev/data/elicitation_methods.csv +16 -0
  283. autodev_ai-0.1.0a2/src/autodev/executors/__init__.py +12 -0
  284. autodev_ai-0.1.0a2/src/autodev/executors/_fs_observer.py +116 -0
  285. autodev_ai-0.1.0a2/src/autodev/executors/base_executor.py +44 -0
  286. autodev_ai-0.1.0a2/src/autodev/executors/claude_code_executor.py +256 -0
  287. autodev_ai-0.1.0a2/src/autodev/executors/codex_cli_executor.py +289 -0
  288. autodev_ai-0.1.0a2/src/autodev/executors/executor_router.py +304 -0
  289. autodev_ai-0.1.0a2/src/autodev/executors/mock_claude_executor.py +91 -0
  290. autodev_ai-0.1.0a2/src/autodev/executors/mock_codex_executor.py +89 -0
  291. autodev_ai-0.1.0a2/src/autodev/executors/network_allowlist.py +111 -0
  292. autodev_ai-0.1.0a2/src/autodev/executors/patch_executor.py +59 -0
  293. autodev_ai-0.1.0a2/src/autodev/executors/sandboxed_executor.py +105 -0
  294. autodev_ai-0.1.0a2/src/autodev/executors/shell_executor.py +69 -0
  295. autodev_ai-0.1.0a2/src/autodev/executors/sr_edit_parser.py +108 -0
  296. autodev_ai-0.1.0a2/src/autodev/executors/worker_isolator.py +497 -0
  297. autodev_ai-0.1.0a2/src/autodev/flows/__init__.py +25 -0
  298. autodev_ai-0.1.0a2/src/autodev/flows/brownfield_doc_flow.py +18 -0
  299. autodev_ai-0.1.0a2/src/autodev/flows/bug_fix_flow.py +102 -0
  300. autodev_ai-0.1.0a2/src/autodev/flows/investigation_flow.py +25 -0
  301. autodev_ai-0.1.0a2/src/autodev/flows/issue_pipeline_crewflow.py +229 -0
  302. autodev_ai-0.1.0a2/src/autodev/flows/issue_pipeline_flow.py +179 -0
  303. autodev_ai-0.1.0a2/src/autodev/flows/milestone_flow.py +52 -0
  304. autodev_ai-0.1.0a2/src/autodev/flows/multi_patch_flow.py +205 -0
  305. autodev_ai-0.1.0a2/src/autodev/flows/project_context_flow.py +34 -0
  306. autodev_ai-0.1.0a2/src/autodev/flows/project_delivery_crewflow.py +219 -0
  307. autodev_ai-0.1.0a2/src/autodev/flows/project_delivery_flow.py +307 -0
  308. autodev_ai-0.1.0a2/src/autodev/flows/project_delivery_microfile.py +103 -0
  309. autodev_ai-0.1.0a2/src/autodev/flows/release_flow.py +22 -0
  310. autodev_ai-0.1.0a2/src/autodev/flows/replay_flow.py +269 -0
  311. autodev_ai-0.1.0a2/src/autodev/flows/sprint_flow.py +431 -0
  312. autodev_ai-0.1.0a2/src/autodev/flows/step_definitions/__init__.py +0 -0
  313. autodev_ai-0.1.0a2/src/autodev/flows/step_definitions/project_delivery_steps.py +463 -0
  314. autodev_ai-0.1.0a2/src/autodev/flows/step_runner.py +242 -0
  315. autodev_ai-0.1.0a2/src/autodev/flows/ux_design_flow.py +155 -0
  316. autodev_ai-0.1.0a2/src/autodev/gates/__init__.py +7 -0
  317. autodev_ai-0.1.0a2/src/autodev/gates/contract_diff.py +107 -0
  318. autodev_ai-0.1.0a2/src/autodev/gates/implementation_readiness_gate.py +358 -0
  319. autodev_ai-0.1.0a2/src/autodev/gates/integration_gate.py +81 -0
  320. autodev_ai-0.1.0a2/src/autodev/gates/post_edit_lint_gate.py +134 -0
  321. autodev_ai-0.1.0a2/src/autodev/gates/python_gate.py +54 -0
  322. autodev_ai-0.1.0a2/src/autodev/gates/release_gate.py +85 -0
  323. autodev_ai-0.1.0a2/src/autodev/gates/rust_gate.py +42 -0
  324. autodev_ai-0.1.0a2/src/autodev/gates/typescript_gate.py +43 -0
  325. autodev_ai-0.1.0a2/src/autodev/mcp_server/__init__.py +4 -0
  326. autodev_ai-0.1.0a2/src/autodev/mcp_server/path_safety.py +98 -0
  327. autodev_ai-0.1.0a2/src/autodev/mcp_server/server.py +220 -0
  328. autodev_ai-0.1.0a2/src/autodev/mcp_server/tools.py +642 -0
  329. autodev_ai-0.1.0a2/src/autodev/planners/__init__.py +5 -0
  330. autodev_ai-0.1.0a2/src/autodev/planners/_wave_explanation.py +14 -0
  331. autodev_ai-0.1.0a2/src/autodev/planners/dependency_planner.py +105 -0
  332. autodev_ai-0.1.0a2/src/autodev/planners/four_stage_planner.py +257 -0
  333. autodev_ai-0.1.0a2/src/autodev/planners/milestone_planner.py +98 -0
  334. autodev_ai-0.1.0a2/src/autodev/planners/project_planner.py +67 -0
  335. autodev_ai-0.1.0a2/src/autodev/planners/task_planner.py +266 -0
  336. autodev_ai-0.1.0a2/src/autodev/planners/task_readiness_checker.py +308 -0
  337. autodev_ai-0.1.0a2/src/autodev/release_readiness_gate.py +25 -0
  338. autodev_ai-0.1.0a2/src/autodev/reports/__init__.py +4 -0
  339. autodev_ai-0.1.0a2/src/autodev/reports/delivery_reporter.py +49 -0
  340. autodev_ai-0.1.0a2/src/autodev/reports/release_reporter.py +32 -0
  341. autodev_ai-0.1.0a2/src/autodev/reports/replay_ui.py +205 -0
  342. autodev_ai-0.1.0a2/src/autodev/reports/reporter.py +109 -0
  343. autodev_ai-0.1.0a2/src/autodev/scanners/__init__.py +6 -0
  344. autodev_ai-0.1.0a2/src/autodev/scanners/monorepo_scanner.py +38 -0
  345. autodev_ai-0.1.0a2/src/autodev/scanners/python_scanner.py +48 -0
  346. autodev_ai-0.1.0a2/src/autodev/scanners/repo_map.py +212 -0
  347. autodev_ai-0.1.0a2/src/autodev/scanners/repo_scanner.py +41 -0
  348. autodev_ai-0.1.0a2/src/autodev/scanners/rust_scanner.py +55 -0
  349. autodev_ai-0.1.0a2/src/autodev/scanners/typescript_scanner.py +69 -0
  350. autodev_ai-0.1.0a2/src/autodev/schemas.py +1587 -0
  351. autodev_ai-0.1.0a2/src/autodev/state.py +134 -0
  352. autodev_ai-0.1.0a2/src/autodev/tasks/__init__.py +22 -0
  353. autodev_ai-0.1.0a2/src/autodev/tasks/architecture_tasks.py +12 -0
  354. autodev_ai-0.1.0a2/src/autodev/tasks/commit_tasks.py +12 -0
  355. autodev_ai-0.1.0a2/src/autodev/tasks/documentation_tasks.py +12 -0
  356. autodev_ai-0.1.0a2/src/autodev/tasks/implementation_tasks.py +15 -0
  357. autodev_ai-0.1.0a2/src/autodev/tasks/input_tasks.py +12 -0
  358. autodev_ai-0.1.0a2/src/autodev/tasks/issue_tasks.py +12 -0
  359. autodev_ai-0.1.0a2/src/autodev/tasks/milestone_tasks.py +12 -0
  360. autodev_ai-0.1.0a2/src/autodev/tasks/product_tasks.py +12 -0
  361. autodev_ai-0.1.0a2/src/autodev/tasks/quality_tasks.py +12 -0
  362. autodev_ai-0.1.0a2/src/autodev/tasks/release_tasks.py +12 -0
  363. autodev_ai-0.1.0a2/src/autodev/tasks/requirement_tasks.py +12 -0
  364. autodev_ai-0.1.0a2/src/autodev/tasks/review_tasks.py +21 -0
  365. autodev_ai-0.1.0a2/src/autodev/tasks/security_tasks.py +12 -0
  366. autodev_ai-0.1.0a2/src/autodev/tasks/test_tasks.py +12 -0
  367. autodev_ai-0.1.0a2/src/autodev/tasks/verification_tasks.py +12 -0
  368. autodev_ai-0.1.0a2/src/autodev/templates/four_stage/locate.md +73 -0
  369. autodev_ai-0.1.0a2/src/autodev/templates/four_stage/patch.md +60 -0
  370. autodev_ai-0.1.0a2/src/autodev/templates/four_stage/reproduce.md +44 -0
  371. autodev_ai-0.1.0a2/src/autodev/templates/four_stage/verify.md +73 -0
  372. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/complete.md +18 -0
  373. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/components.md +19 -0
  374. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/core_experience.md +18 -0
  375. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/design_system.md +17 -0
  376. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/discovery.md +17 -0
  377. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/responsive.md +20 -0
  378. autodev_ai-0.1.0a2/src/autodev/templates/ux_design/ux_patterns.md +26 -0
  379. autodev_ai-0.1.0a2/src/autodev/tui/__init__.py +1 -0
  380. autodev_ai-0.1.0a2/src/autodev/tui/dashboard.py +261 -0
  381. autodev_ai-0.1.0a2/src/autodev/tui/loaders.py +245 -0
  382. autodev_ai-0.1.0a2/src/autodev/tui/widgets.py +127 -0
  383. autodev_ai-0.1.0a2/src/autodev/utils/__init__.py +1 -0
  384. autodev_ai-0.1.0a2/src/autodev/utils/command_safety.py +122 -0
  385. autodev_ai-0.1.0a2/src/autodev/utils/concurrency.py +76 -0
  386. autodev_ai-0.1.0a2/src/autodev/utils/config_stack.py +177 -0
  387. autodev_ai-0.1.0a2/src/autodev/utils/doc_sharder.py +143 -0
  388. autodev_ai-0.1.0a2/src/autodev/utils/fs.py +42 -0
  389. autodev_ai-0.1.0a2/src/autodev/utils/hashing.py +14 -0
  390. autodev_ai-0.1.0a2/src/autodev/utils/json_io.py +56 -0
  391. autodev_ai-0.1.0a2/src/autodev/utils/logging.py +21 -0
  392. autodev_ai-0.1.0a2/src/autodev/utils/secret_redaction.py +123 -0
  393. autodev_ai-0.1.0a2/src/autodev/utils/slug.py +20 -0
  394. autodev_ai-0.1.0a2/tests/conftest.py +17 -0
  395. autodev_ai-0.1.0a2/tests/fixtures/empty_project/.gitkeep +0 -0
  396. autodev_ai-0.1.0a2/tests/fixtures/issue_project/issue.md +13 -0
  397. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/python/pyproject.toml +4 -0
  398. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/python/src/m.py +1 -0
  399. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/rust/Cargo.toml +7 -0
  400. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/rust/src/lib.rs +1 -0
  401. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/ts/package.json +1 -0
  402. autodev_ai-0.1.0a2/tests/fixtures/mixed_project/ts/src/index.ts +1 -0
  403. autodev_ai-0.1.0a2/tests/fixtures/mock_patches/feature.txt +1 -0
  404. autodev_ai-0.1.0a2/tests/fixtures/monorepo_project/package.json +5 -0
  405. autodev_ai-0.1.0a2/tests/fixtures/monorepo_project/packages/a/package.json +1 -0
  406. autodev_ai-0.1.0a2/tests/fixtures/monorepo_project/packages/b/package.json +1 -0
  407. autodev_ai-0.1.0a2/tests/fixtures/openapi/api_v1.json +14 -0
  408. autodev_ai-0.1.0a2/tests/fixtures/openapi/api_v2.json +27 -0
  409. autodev_ai-0.1.0a2/tests/fixtures/prd_project/project_brief.md +28 -0
  410. autodev_ai-0.1.0a2/tests/fixtures/python_project/pyproject.toml +7 -0
  411. autodev_ai-0.1.0a2/tests/fixtures/python_project/src/sample.py +2 -0
  412. autodev_ai-0.1.0a2/tests/fixtures/python_project/tests/test_sample.py +2 -0
  413. autodev_ai-0.1.0a2/tests/fixtures/rust_project/Cargo.toml +7 -0
  414. autodev_ai-0.1.0a2/tests/fixtures/rust_project/src/lib.rs +1 -0
  415. autodev_ai-0.1.0a2/tests/fixtures/typescript_project/package.json +14 -0
  416. autodev_ai-0.1.0a2/tests/fixtures/typescript_project/src/index.ts +1 -0
  417. autodev_ai-0.1.0a2/tests/fixtures/typescript_project/tsconfig.json +3 -0
  418. autodev_ai-0.1.0a2/tests/integration/__init__.py +0 -0
  419. autodev_ai-0.1.0a2/tests/integration/test_a2a_http_roundtrip.py +212 -0
  420. autodev_ai-0.1.0a2/tests/integration/test_a2a_roundtable_e2e.py +176 -0
  421. autodev_ai-0.1.0a2/tests/integration/test_a2a_server_cli.py +147 -0
  422. autodev_ai-0.1.0a2/tests/integration/test_bug_fix_flow.py +136 -0
  423. autodev_ai-0.1.0a2/tests/integration/test_cli_design_ux.py +59 -0
  424. autodev_ai-0.1.0a2/tests/integration/test_cli_document_project.py +148 -0
  425. autodev_ai-0.1.0a2/tests/integration/test_cli_generate_context.py +93 -0
  426. autodev_ai-0.1.0a2/tests/integration/test_cli_help.py +27 -0
  427. autodev_ai-0.1.0a2/tests/integration/test_cli_investigate.py +123 -0
  428. autodev_ai-0.1.0a2/tests/integration/test_cli_next.py +74 -0
  429. autodev_ai-0.1.0a2/tests/integration/test_cli_review_command.py +82 -0
  430. autodev_ai-0.1.0a2/tests/integration/test_cli_roundtable.py +93 -0
  431. autodev_ai-0.1.0a2/tests/integration/test_cli_sprint.py +116 -0
  432. autodev_ai-0.1.0a2/tests/integration/test_e2e_prompt_density.py +153 -0
  433. autodev_ai-0.1.0a2/tests/integration/test_escalation_hint.py +54 -0
  434. autodev_ai-0.1.0a2/tests/integration/test_executor_router_fail_closed.py +44 -0
  435. autodev_ai-0.1.0a2/tests/integration/test_executor_secret_redaction_integration.py +207 -0
  436. autodev_ai-0.1.0a2/tests/integration/test_implementer_loops.py +240 -0
  437. autodev_ai-0.1.0a2/tests/integration/test_issue_pipeline.py +47 -0
  438. autodev_ai-0.1.0a2/tests/integration/test_mcp_apply_guardrail.py +427 -0
  439. autodev_ai-0.1.0a2/tests/integration/test_mcp_path_secret_denial.py +218 -0
  440. autodev_ai-0.1.0a2/tests/integration/test_mcp_required_schema_enforcement.py +303 -0
  441. autodev_ai-0.1.0a2/tests/integration/test_mcp_serve_cli.py +76 -0
  442. autodev_ai-0.1.0a2/tests/integration/test_mcp_server_smoke.py +331 -0
  443. autodev_ai-0.1.0a2/tests/integration/test_multi_patch_flow.py +92 -0
  444. autodev_ai-0.1.0a2/tests/integration/test_parallel_review_5sections.py +86 -0
  445. autodev_ai-0.1.0a2/tests/integration/test_parallel_review_via_roundtable.py +101 -0
  446. autodev_ai-0.1.0a2/tests/integration/test_parallel_section_review.py +51 -0
  447. autodev_ai-0.1.0a2/tests/integration/test_project_delivery.py +72 -0
  448. autodev_ai-0.1.0a2/tests/integration/test_project_delivery_microfile.py +229 -0
  449. autodev_ai-0.1.0a2/tests/integration/test_push_pr_smoke.py +133 -0
  450. autodev_ai-0.1.0a2/tests/integration/test_scaffold_dedup.py +128 -0
  451. autodev_ai-0.1.0a2/tests/integration/test_security_p0_coverage.py +321 -0
  452. autodev_ai-0.1.0a2/tests/integration/test_wheel_cli_version_smoke.py +201 -0
  453. autodev_ai-0.1.0a2/tests/unit/__init__.py +0 -0
  454. autodev_ai-0.1.0a2/tests/unit/test_a2a_dns_rebinding_hardening.py +459 -0
  455. autodev_ai-0.1.0a2/tests/unit/test_a2a_handlers_coverage.py +185 -0
  456. autodev_ai-0.1.0a2/tests/unit/test_a2a_http_ssrf_hardening.py +220 -0
  457. autodev_ai-0.1.0a2/tests/unit/test_a2a_http_transport.py +339 -0
  458. autodev_ai-0.1.0a2/tests/unit/test_a2a_local_shell_transport.py +235 -0
  459. autodev_ai-0.1.0a2/tests/unit/test_a2a_roster.py +161 -0
  460. autodev_ai-0.1.0a2/tests/unit/test_a2a_schema.py +130 -0
  461. autodev_ai-0.1.0a2/tests/unit/test_a2a_server.py +276 -0
  462. autodev_ai-0.1.0a2/tests/unit/test_activation_hooks.py +143 -0
  463. autodev_ai-0.1.0a2/tests/unit/test_adversarial_reviewer.py +120 -0
  464. autodev_ai-0.1.0a2/tests/unit/test_agent_customize.py +128 -0
  465. autodev_ai-0.1.0a2/tests/unit/test_agent_menu.py +93 -0
  466. autodev_ai-0.1.0a2/tests/unit/test_branch_name_hardening.py +168 -0
  467. autodev_ai-0.1.0a2/tests/unit/test_brownfield_doc_flow.py +103 -0
  468. autodev_ai-0.1.0a2/tests/unit/test_budget_routing.py +135 -0
  469. autodev_ai-0.1.0a2/tests/unit/test_changed_files_capture.py +65 -0
  470. autodev_ai-0.1.0a2/tests/unit/test_clarification_3round.py +176 -0
  471. autodev_ai-0.1.0a2/tests/unit/test_clarification_gate.py +110 -0
  472. autodev_ai-0.1.0a2/tests/unit/test_cli_help_surface.py +208 -0
  473. autodev_ai-0.1.0a2/tests/unit/test_codex_dry_run_sandbox.py +74 -0
  474. autodev_ai-0.1.0a2/tests/unit/test_codex_inner_steps.py +60 -0
  475. autodev_ai-0.1.0a2/tests/unit/test_commit_artifacts.py +89 -0
  476. autodev_ai-0.1.0a2/tests/unit/test_config_stack.py +141 -0
  477. autodev_ai-0.1.0a2/tests/unit/test_config_stack_edge_cases.py +167 -0
  478. autodev_ai-0.1.0a2/tests/unit/test_context_generator.py +255 -0
  479. autodev_ai-0.1.0a2/tests/unit/test_context_providers.py +135 -0
  480. autodev_ai-0.1.0a2/tests/unit/test_contract_diff.py +132 -0
  481. autodev_ai-0.1.0a2/tests/unit/test_convention_loader.py +76 -0
  482. autodev_ai-0.1.0a2/tests/unit/test_coverage_gate.py +158 -0
  483. autodev_ai-0.1.0a2/tests/unit/test_crewflow_stubs.py +83 -0
  484. autodev_ai-0.1.0a2/tests/unit/test_critic_agent.py +81 -0
  485. autodev_ai-0.1.0a2/tests/unit/test_distillator.py +112 -0
  486. autodev_ai-0.1.0a2/tests/unit/test_doc_sharder.py +132 -0
  487. autodev_ai-0.1.0a2/tests/unit/test_docker_digest_pinning.py +105 -0
  488. autodev_ai-0.1.0a2/tests/unit/test_docs_minimum.py +97 -0
  489. autodev_ai-0.1.0a2/tests/unit/test_document_project.py +246 -0
  490. autodev_ai-0.1.0a2/tests/unit/test_edge_case_hunter.py +127 -0
  491. autodev_ai-0.1.0a2/tests/unit/test_editorial_reviewer.py +163 -0
  492. autodev_ai-0.1.0a2/tests/unit/test_elicitation_methods.py +190 -0
  493. autodev_ai-0.1.0a2/tests/unit/test_embeddings_index.py +62 -0
  494. autodev_ai-0.1.0a2/tests/unit/test_executor_boundary_smoke.py +251 -0
  495. autodev_ai-0.1.0a2/tests/unit/test_executor_router.py +111 -0
  496. autodev_ai-0.1.0a2/tests/unit/test_failure_cluster.py +85 -0
  497. autodev_ai-0.1.0a2/tests/unit/test_filesystem_adapter_coverage.py +70 -0
  498. autodev_ai-0.1.0a2/tests/unit/test_flow_executor_failure_surface.py +293 -0
  499. autodev_ai-0.1.0a2/tests/unit/test_flow_prd_passthrough.py +175 -0
  500. autodev_ai-0.1.0a2/tests/unit/test_four_stage_planner.py +128 -0
  501. autodev_ai-0.1.0a2/tests/unit/test_fs_observer.py +69 -0
  502. autodev_ai-0.1.0a2/tests/unit/test_git_adapter_coverage.py +153 -0
  503. autodev_ai-0.1.0a2/tests/unit/test_homebrew_formula_metadata.py +130 -0
  504. autodev_ai-0.1.0a2/tests/unit/test_homebrew_publish_time_blocker.py +118 -0
  505. autodev_ai-0.1.0a2/tests/unit/test_human_review_gate.py +81 -0
  506. autodev_ai-0.1.0a2/tests/unit/test_implementation_readiness_gate.py +384 -0
  507. autodev_ai-0.1.0a2/tests/unit/test_input_classifier.py +24 -0
  508. autodev_ai-0.1.0a2/tests/unit/test_investigation_flow.py +79 -0
  509. autodev_ai-0.1.0a2/tests/unit/test_investigator.py +213 -0
  510. autodev_ai-0.1.0a2/tests/unit/test_issue_analyst.py +24 -0
  511. autodev_ai-0.1.0a2/tests/unit/test_json_io_coverage.py +148 -0
  512. autodev_ai-0.1.0a2/tests/unit/test_license_metadata.py +53 -0
  513. autodev_ai-0.1.0a2/tests/unit/test_lint_workflow_policy.py +77 -0
  514. autodev_ai-0.1.0a2/tests/unit/test_mcp_client.py +92 -0
  515. autodev_ai-0.1.0a2/tests/unit/test_mcp_server.py +194 -0
  516. autodev_ai-0.1.0a2/tests/unit/test_milestone_flow.py +312 -0
  517. autodev_ai-0.1.0a2/tests/unit/test_mock_fixture_config.py +84 -0
  518. autodev_ai-0.1.0a2/tests/unit/test_mocks_and_executors.py +60 -0
  519. autodev_ai-0.1.0a2/tests/unit/test_multi_patch_vote.py +62 -0
  520. autodev_ai-0.1.0a2/tests/unit/test_navigator.py +55 -0
  521. autodev_ai-0.1.0a2/tests/unit/test_network_allowlist.py +81 -0
  522. autodev_ai-0.1.0a2/tests/unit/test_next_step_advisor.py +184 -0
  523. autodev_ai-0.1.0a2/tests/unit/test_opus_consult.py +116 -0
  524. autodev_ai-0.1.0a2/tests/unit/test_planners_and_reviews.py +75 -0
  525. autodev_ai-0.1.0a2/tests/unit/test_post_edit_lint_gate.py +92 -0
  526. autodev_ai-0.1.0a2/tests/unit/test_post_edit_lint_gate_coverage.py +134 -0
  527. autodev_ai-0.1.0a2/tests/unit/test_prfaq_style.py +140 -0
  528. autodev_ai-0.1.0a2/tests/unit/test_product_prd.py +25 -0
  529. autodev_ai-0.1.0a2/tests/unit/test_project_context_flow.py +88 -0
  530. autodev_ai-0.1.0a2/tests/unit/test_prompt_boundary_conventions.py +21 -0
  531. autodev_ai-0.1.0a2/tests/unit/test_property_test_designer.py +113 -0
  532. autodev_ai-0.1.0a2/tests/unit/test_protocol_error_paths.py +473 -0
  533. autodev_ai-0.1.0a2/tests/unit/test_pydantic_ai_bridge.py +97 -0
  534. autodev_ai-0.1.0a2/tests/unit/test_release_flow.py +236 -0
  535. autodev_ai-0.1.0a2/tests/unit/test_release_readiness_gate.py +656 -0
  536. autodev_ai-0.1.0a2/tests/unit/test_release_workflow_policy.py +151 -0
  537. autodev_ai-0.1.0a2/tests/unit/test_release_workflow_twine_password_policy.py +98 -0
  538. autodev_ai-0.1.0a2/tests/unit/test_replay_flow.py +63 -0
  539. autodev_ai-0.1.0a2/tests/unit/test_replay_ui.py +82 -0
  540. autodev_ai-0.1.0a2/tests/unit/test_repo_map.py +99 -0
  541. autodev_ai-0.1.0a2/tests/unit/test_report_banner.py +105 -0
  542. autodev_ai-0.1.0a2/tests/unit/test_roundtable_agent.py +172 -0
  543. autodev_ai-0.1.0a2/tests/unit/test_router_metrics.py +129 -0
  544. autodev_ai-0.1.0a2/tests/unit/test_sandboxed_executor.py +127 -0
  545. autodev_ai-0.1.0a2/tests/unit/test_scaffolder_python_layout.py +80 -0
  546. autodev_ai-0.1.0a2/tests/unit/test_scaffolder_verify.py +68 -0
  547. autodev_ai-0.1.0a2/tests/unit/test_scale_adaptive_planner.py +197 -0
  548. autodev_ai-0.1.0a2/tests/unit/test_scale_inference.py +148 -0
  549. autodev_ai-0.1.0a2/tests/unit/test_scanners.py +48 -0
  550. autodev_ai-0.1.0a2/tests/unit/test_secret_redaction.py +229 -0
  551. autodev_ai-0.1.0a2/tests/unit/test_security_doc_fp.py +98 -0
  552. autodev_ai-0.1.0a2/tests/unit/test_severity.py +69 -0
  553. autodev_ai-0.1.0a2/tests/unit/test_severity_findings_in_reviewers.py +80 -0
  554. autodev_ai-0.1.0a2/tests/unit/test_shell_safety.py +33 -0
  555. autodev_ai-0.1.0a2/tests/unit/test_sprint_flow.py +179 -0
  556. autodev_ai-0.1.0a2/tests/unit/test_sr_edit_parser.py +113 -0
  557. autodev_ai-0.1.0a2/tests/unit/test_step_runner.py +200 -0
  558. autodev_ai-0.1.0a2/tests/unit/test_task_planner_m2_targets.py +101 -0
  559. autodev_ai-0.1.0a2/tests/unit/test_task_prompt_injection.py +300 -0
  560. autodev_ai-0.1.0a2/tests/unit/test_task_readiness_checker.py +352 -0
  561. autodev_ai-0.1.0a2/tests/unit/test_three_pass_locate.py +101 -0
  562. autodev_ai-0.1.0a2/tests/unit/test_tui_loaders.py +403 -0
  563. autodev_ai-0.1.0a2/tests/unit/test_ux_design_flow.py +131 -0
  564. autodev_ai-0.1.0a2/tests/unit/test_ux_designer.py +111 -0
  565. autodev_ai-0.1.0a2/tests/unit/test_version_consistency.py +73 -0
  566. autodev_ai-0.1.0a2/tests/unit/test_wave_planning.py +144 -0
  567. autodev_ai-0.1.0a2/tests/unit/test_wave_stats.py +47 -0
  568. autodev_ai-0.1.0a2/tests/unit/test_worker_isolator.py +170 -0
  569. autodev_ai-0.1.0a2/tests/unit/test_worker_isolator_symlink_hardening.py +280 -0
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: pip
4
+ directory: "/"
5
+ schedule:
6
+ interval: weekly
7
+ open-pull-requests-limit: 5
8
+
9
+ - package-ecosystem: github-actions
10
+ directory: "/"
11
+ schedule:
12
+ interval: weekly
13
+ open-pull-requests-limit: 5
@@ -0,0 +1,109 @@
1
+ name: Docker — Build & Publish to GHCR
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+ workflow_dispatch:
8
+
9
+ env:
10
+ REGISTRY: ghcr.io
11
+ IMAGE_NAME: ${{ github.repository_owner }}/autodev-ai
12
+
13
+ jobs:
14
+ # ── Job 1: smoke-test locally before pushing ───────────────────────────────
15
+ test:
16
+ name: Local smoke test
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Set up Python
23
+ uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.12"
26
+
27
+ - name: Build wheel + sdist
28
+ run: |
29
+ python -m pip install --upgrade pip build
30
+ python -m build
31
+
32
+ - name: Set up Docker Buildx
33
+ uses: docker/setup-buildx-action@v3
34
+
35
+ - name: Build test image (amd64 only, no push)
36
+ uses: docker/build-push-action@v5
37
+ with:
38
+ context: .
39
+ file: packaging/docker/Dockerfile
40
+ platforms: linux/amd64
41
+ load: true
42
+ tags: autodev-ai:test
43
+ cache-from: type=gha
44
+ cache-to: type=gha,mode=max
45
+
46
+ - name: Smoke test — autodev --help
47
+ run: docker run --rm autodev-ai:test --help
48
+
49
+ - name: Smoke test — autodev --version
50
+ run: docker run --rm autodev-ai:test --version
51
+
52
+ # ── Job 2: multi-arch build + push to GHCR ─────────────────────────────────
53
+ publish:
54
+ name: Build & push multi-arch image
55
+ needs: test
56
+ runs-on: ubuntu-latest
57
+ permissions:
58
+ contents: read
59
+ packages: write
60
+
61
+ steps:
62
+ - name: Checkout
63
+ uses: actions/checkout@v4
64
+
65
+ - name: Set up Python
66
+ uses: actions/setup-python@v5
67
+ with:
68
+ python-version: "3.12"
69
+
70
+ - name: Build wheel + sdist
71
+ run: |
72
+ python -m pip install --upgrade pip build
73
+ python -m build
74
+
75
+ - name: Set up QEMU (for cross-compilation)
76
+ uses: docker/setup-qemu-action@v3
77
+
78
+ - name: Set up Docker Buildx
79
+ uses: docker/setup-buildx-action@v3
80
+
81
+ - name: Log in to GHCR
82
+ uses: docker/login-action@v3
83
+ with:
84
+ registry: ${{ env.REGISTRY }}
85
+ username: ${{ github.actor }}
86
+ password: ${{ secrets.GITHUB_TOKEN }}
87
+
88
+ - name: Extract Docker metadata (tags + labels)
89
+ id: meta
90
+ uses: docker/metadata-action@v5
91
+ with:
92
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
93
+ tags: |
94
+ type=semver,pattern={{version}}
95
+ type=semver,pattern={{major}}.{{minor}}
96
+ type=raw,value=latest,enable={{is_default_branch}}
97
+ type=ref,event=tag
98
+
99
+ - name: Build and push multi-arch image
100
+ uses: docker/build-push-action@v5
101
+ with:
102
+ context: .
103
+ file: packaging/docker/Dockerfile
104
+ platforms: linux/amd64,linux/arm64
105
+ push: true
106
+ tags: ${{ steps.meta.outputs.tags }}
107
+ labels: ${{ steps.meta.outputs.labels }}
108
+ cache-from: type=gha
109
+ cache-to: type=gha,mode=max
@@ -0,0 +1,28 @@
1
+ name: Lint
2
+
3
+ on:
4
+ push:
5
+ branches: ["**"]
6
+ pull_request:
7
+ branches: ["**"]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.12"
19
+ cache: pip
20
+
21
+ - name: Install dev dependencies
22
+ run: pip install -e ".[dev]" mypy
23
+
24
+ - name: ruff check
25
+ run: ruff check src tests scripts
26
+
27
+ - name: mypy
28
+ run: mypy src/autodev --ignore-missing-imports --no-strict-optional
@@ -0,0 +1,75 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+ cache: pip
22
+
23
+ - name: Install package with dev extras
24
+ run: pip install -e .[dev]
25
+
26
+ - name: Lint with ruff
27
+ run: ruff check .
28
+
29
+ - name: Type-check with mypy
30
+ run: mypy src/autodev
31
+
32
+ - name: Run pytest suite
33
+ run: python -m pytest tests/ -q
34
+
35
+ publish:
36
+ needs: test
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - name: Set up Python
42
+ uses: actions/setup-python@v5
43
+ with:
44
+ python-version: "3.12"
45
+ cache: pip
46
+
47
+ - name: Install build tools
48
+ run: pip install --upgrade build twine
49
+
50
+ - name: Build wheel and sdist
51
+ run: python -m build
52
+
53
+ - name: Check distribution artifacts
54
+ run: python -m twine check dist/*
55
+
56
+ - name: Attach to GitHub Release
57
+ uses: softprops/action-gh-release@v2
58
+ with:
59
+ files: dist/*
60
+ generate_release_notes: true
61
+
62
+ # NOTE: secrets context cannot be used in step-level `if:` (GitHub Actions
63
+ # rejects the workflow file). Pass through env-level boolean instead.
64
+ - name: Detect PyPI token presence
65
+ id: pypi_token_check
66
+ env:
67
+ HAS_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN != '' }}
68
+ run: echo "has_token=$HAS_PYPI_TOKEN" >> "$GITHUB_OUTPUT"
69
+
70
+ - name: Publish to PyPI
71
+ if: steps.pypi_token_check.outputs.has_token == 'true'
72
+ env:
73
+ TWINE_USERNAME: __token__
74
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
75
+ run: python -m twine upload dist/*
@@ -0,0 +1,37 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: ["**"]
6
+ pull_request:
7
+ branches: ["**"]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ python-version: ["3.10", "3.11", "3.12"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ cache: pip
25
+
26
+ - name: Install dependencies
27
+ run: pip install -e ".[dev]"
28
+
29
+ - name: Run pytest
30
+ run: pytest -q --cov=autodev --cov-report=xml --cov-report=term-missing
31
+
32
+ - name: Upload coverage
33
+ uses: actions/upload-artifact@v4
34
+ with:
35
+ name: coverage-${{ matrix.python-version }}
36
+ path: coverage.xml
37
+ retention-days: 7
@@ -0,0 +1,25 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ .pytest_cache/
6
+ .dev-factory/
7
+ build/
8
+ dist/
9
+ *.egg-info/
10
+ .ruff_cache/
11
+ .mypy_cache/
12
+ node_modules/
13
+ target/
14
+ .autodev/
15
+ _autodev/
16
+ .coverage
17
+ # Secret files (defense in depth — should never be in repo)
18
+ .env
19
+ .env.*
20
+ !.env.example
21
+ credentials.json
22
+ secrets.toml
23
+ *.pem
24
+ *.key
25
+ coverage.json
@@ -0,0 +1,25 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v4.6.0
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ - id: end-of-file-fixer
7
+ - id: check-toml
8
+ - id: check-yaml
9
+ args: [--allow-multiple-documents]
10
+
11
+ - repo: https://github.com/astral-sh/ruff-pre-commit
12
+ rev: v0.4.10
13
+ hooks:
14
+ - id: ruff
15
+ args: [--fix]
16
+ types_or: [python, pyi]
17
+
18
+ - repo: local
19
+ hooks:
20
+ - id: pytest-collected-count
21
+ name: pytest collected count (>= 1)
22
+ language: system
23
+ entry: bash -c 'pytest --collect-only -q 2>&1 | grep -E "^[0-9]+ test" | awk "{if (\$1 < 1) {print \"No tests collected\"; exit 1}}"'
24
+ pass_filenames: false
25
+ stages: [pre-push]
@@ -0,0 +1,147 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
+
6
+ ## [Unreleased]
7
+
8
+ ---
9
+
10
+ ## [0.1.0a2] — 2026-05-14 (Pre-Release)
11
+
12
+ ### Fixed
13
+ - 5 pre-publish CI blockers discovered and fixed during v0.1.0a1 tag push:
14
+ 1. `release.yml` step-level `secrets.if` rejected by GitHub Actions schema
15
+ (split into detector step writing `$GITHUB_OUTPUT` + upload gating on output)
16
+ 2. `tomllib` import broke py3.10 collection in R2-AB tests
17
+ (added `sys.version_info` check + `tomli` fallback + `tomli` dev dep)
18
+ 3. `test_wheel_cli_version_smoke.py` required pre-built `dist/`
19
+ (added `skip_if_no_dist` marker to all 6 tests)
20
+ 4. `mypy` missing from `[project.optional-dependencies].dev`
21
+ (added `mypy>=1.5` to dev extras)
22
+ 5. `Dockerfile` hardcoded old version `dist/autodev_ai-0.1.0-*.whl`
23
+ (changed to glob `dist/autodev_ai-*.whl`)
24
+
25
+ ### Added
26
+ - Security R4: `secret_redaction.py` masks pypi/anthropic/openai/github/slack
27
+ tokens + PEM blocks in executor stdout/stderr/logs (idempotent, preserves
28
+ first 4 chars for debuggability)
29
+ - Security R4: MCP `path_safety.py` preflight validator rejects `.env`,
30
+ `credentials.json`, `*.pem`, `*.key`, secret-in-basename, path traversal
31
+ in 6 MCP handlers (scan / deliver_project / run_issue / report /
32
+ release_check / list_runs)
33
+ - Security R4: branch-name injection rejection (11 patterns: `$()`, backtick,
34
+ `;`, `&&`, `||`, `|`, `>`, `<`, newline, leading `-`, whitespace) in
35
+ `worker_isolator` + propagated to `git_adapter` push/checkout/create_branch
36
+ - Security R4: MCP `_validate_required_params` pre-dispatch JSON-Schema check
37
+ (returns `-32602 Invalid params` if required field missing)
38
+ - R3: `AUTODEV_MCP_ALLOW_APPLY` and `AUTODEV_MCP_AUDIT_LOG` env vars
39
+ - `docs/configuration.md` — environment + TOML reference
40
+ - `docs/troubleshooting.md` — 12-scenario guide
41
+ - `CHANGELOG.md` — this file
42
+ - `scripts/coverage_gate.py` — 3-threshold coverage gate (overall 80 /
43
+ release 85 / security 90)
44
+
45
+ ### Removed
46
+ - All 10 `pytest.mark.xfail(strict=True)` markers — each closed by a real
47
+ code fix (not annotation-only). See
48
+ `docs/validation/autodev_r4_xfail_ledger.{md,json}`.
49
+
50
+ ### Internal
51
+ - Tests: 1062 → 1308 (+246 over 4 hardening rounds)
52
+ - Coverage: 79% → 80.5% line+branch
53
+ - 5 release-readiness rounds documented:
54
+ R1 release hardening · R2 PyPI blocker closure · R3 PyPI RC final
55
+ hardening · RC publish prep · R4 security xfail closure
56
+
57
+ ---
58
+
59
+ ## [0.1.0a1] — 2026-05-14 (Pre-Release, superseded by 0.1.0a2)
60
+
61
+ ### Added
62
+
63
+ #### Core agent pipeline
64
+ - CrewAI multi-agent base: 12-agent graph from `InputClassifier` through
65
+ `ReleaseManager` covering PRD, architecture, milestones, tasks, quality gates,
66
+ security review, verification, and doc writing.
67
+ - Full audit-trail artifact tree written under
68
+ `<repo>/.dev-factory/runs/<run_id>/` (input / product / architecture /
69
+ planning / execution / quality / verification / delivery).
70
+ - Run state machine: `draft → running → paused → done | failed`; runs are
71
+ resumable (`continue-run`) and replayable (`replay`).
72
+
73
+ #### Multi-CLI executor router
74
+ - `ExecutorRouter` — the single entry point for all CLI traffic; routes tasks
75
+ to Codex CLI, Claude Code CLI, or mock executor based on task type, risk
76
+ level, and file count.
77
+ - `CodexCliExecutor` — wraps `codex` binary, passes SAFETY BOUNDARY prompt,
78
+ parses JSONL `--json` output into `CodexInnerStep` records.
79
+ - `ClaudeCodeExecutor` — wraps `claude` binary for architecture, security,
80
+ long-context refactors, release roll-ups.
81
+ - `MockExecutor` / `MockCodexExecutor` — deterministic stand-ins that produce
82
+ realistic artifacts without API keys; engaged automatically when both CLIs are
83
+ absent or via `--allow-mock-executor true`.
84
+ - Executor selection: `--executor codex|claude|auto|mock`; `auto` (default)
85
+ picks the best CLI per task type.
86
+
87
+ #### A2A protocol and roundtable
88
+ - A2A HTTP transport with SSRF guard: blocks RFC-1918 / loopback addresses by
89
+ default; override with `AUTODEV_A2A_ALLOW_PRIVATE_NETWORKS=1` (test-only).
90
+ - Bearer-auth via `AUTODEV_A2A_TOKEN` environment variable.
91
+ - `AgentRoster` with persistent JSON file at `~/.autodev/a2a-roster.json`.
92
+ - `autodev a2a-serve` — JSON-RPC 2.0 HTTP server accepting tasks from external
93
+ agents on a configurable port.
94
+ - `autodev a2a-register` / `autodev a2a-call` — register a remote card and
95
+ dispatch tasks.
96
+ - `autodev roundtable` (party mode) — recruit N specialist agents by skill,
97
+ collect independent analyses, synthesize into a consensus report.
98
+
99
+ #### MCP server (9 tools)
100
+ - `autodev mcp-serve` — JSON-RPC 2.0 MCP server over stdio; compatible with
101
+ Claude Desktop and Claude Code.
102
+ - Tools: `scan`, `classify_input`, `create_prd`, `deliver_project`,
103
+ `run_issue`, `report`, `roundtable`, `release_check`, `list_runs`.
104
+ - Apply-mode gate: `mode=apply` requires both `allow_apply=true` in the request
105
+ **and** `AUTODEV_MCP_ALLOW_APPLY=1` in the server environment.
106
+ - Audit log: every tool invocation appended to `AUTODEV_MCP_AUDIT_LOG` file
107
+ when the env var is set.
108
+
109
+ #### BMAD sprint mode
110
+ - `autodev sprint-start` / `sprint-status` / `sprint-retro` / `sprint-correct`
111
+ — open, monitor, close, and course-correct multi-week sprints.
112
+ - BMAD-Sally UX workflow via `autodev design-ux`.
113
+
114
+ #### Configuration
115
+ - `ConfigStack` — 4-layer TOML deep-merge: user-global →
116
+ project-team → project-user → runtime; array-of-tables merging by `code/id`
117
+ key.
118
+ - `FACTORY_FORCE_MOCK=1` — forces deterministic mock across all executors and
119
+ agents.
120
+ - `FACTORY_LOG` — sets log level (default `INFO`).
121
+
122
+ #### CLI surface
123
+ - 35 CLI subcommands via Typer; every command is fully documented with
124
+ `--help`.
125
+ - Shell safety: blocks `rm -rf`, `sudo`, `cat .env`, `curl | bash`, etc. in all
126
+ executor modes.
127
+
128
+ #### R1 audit + R2 P0 hardening
129
+ - R1 documentation audit: identified CHANGELOG, configuration, and
130
+ troubleshooting as missing docs; recorded in
131
+ `docs/validation/autodev_documentation_onboarding_audit.md`.
132
+ - R2 P0 closure: SSRF guard on A2A HTTP transport; HMAC-signed MCP audit log
133
+ entries; `AUTODEV_A2A_ALLOW_PRIVATE_NETWORKS` env var; recorded in
134
+ `docs/validation/autodev_r2_*`.
135
+
136
+ ### Notes
137
+ - PyPI not yet published; install from the GitHub Release wheel or source.
138
+ See [README § Install](README.md#install).
139
+ - `pip install --upgrade autodev-ai==0.1.0a1` requires the `--pre` flag
140
+ because `0.1.0a1` is a pre-release version marker.
141
+ - Homebrew tap formula is blocked until the PyPI `0.1.0a1` sha256 is available
142
+ after the first `twine upload`.
143
+ - Docker image `ghcr.io/merchloubna70-dot/autodev-ai:0.1.0-alpha` ships Codex
144
+ CLI and Claude Code CLI pre-installed; ~2 GB compressed.
145
+
146
+ [Unreleased]: https://github.com/merchloubna70-dot/autodev-ai/compare/v0.1.0-alpha...HEAD
147
+ [0.1.0a1]: https://github.com/merchloubna70-dot/autodev-ai/releases/tag/v0.1.0-alpha
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 autodev-ai contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.