qaas-python 0.4.2__tar.gz → 1.0.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 (168) hide show
  1. {qaas_python-0.4.2 → qaas_python-1.0.0}/ARCHITECTURE.md +10 -3
  2. {qaas_python-0.4.2 → qaas_python-1.0.0}/PKG-INFO +2 -2
  3. {qaas_python-0.4.2 → qaas_python-1.0.0}/README.md +1 -1
  4. {qaas_python-0.4.2 → qaas_python-1.0.0}/pyproject.toml +1 -1
  5. {qaas_python-0.4.2 → qaas_python-1.0.0}/.gitignore +0 -0
  6. {qaas_python-0.4.2 → qaas_python-1.0.0}/BUILD_PLAN.md +0 -0
  7. {qaas_python-0.4.2 → qaas_python-1.0.0}/CLAUDE.md +0 -0
  8. {qaas_python-0.4.2 → qaas_python-1.0.0}/LICENSE +0 -0
  9. {qaas_python-0.4.2 → qaas_python-1.0.0}/config/targets/corvid.yaml +0 -0
  10. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/adapters/__init__.py +0 -0
  11. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/adapters/tracker.py +0 -0
  12. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/adapters/vcs.py +0 -0
  13. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/cli.py +0 -0
  14. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/conductor.py +0 -0
  15. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/config.py +0 -0
  16. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/arbiter.yaml +0 -0
  17. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/cartographer.yaml +0 -0
  18. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/chronicle.yaml +0 -0
  19. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/clerk.yaml +0 -0
  20. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/conduit.yaml +0 -0
  21. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/forge.yaml +0 -0
  22. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/gauge.yaml +0 -0
  23. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/keystone.yaml +0 -0
  24. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/mender.yaml +0 -0
  25. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/proof.yaml +0 -0
  26. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/pulse.yaml +0 -0
  27. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/surface.yaml +0 -0
  28. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/usher.yaml +0 -0
  29. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/vault.yaml +0 -0
  30. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/agents/warden.yaml +0 -0
  31. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/defaults/config/system.yaml +0 -0
  32. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/discover.py +0 -0
  33. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/envelope.py +0 -0
  34. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/envfile.py +0 -0
  35. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/guardrails.py +0 -0
  36. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/__init__.py +0 -0
  37. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/context.py +0 -0
  38. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/contract_diff.py +0 -0
  39. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/defect_memory.py +0 -0
  40. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/env_control.py +0 -0
  41. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/envelope_server.py +0 -0
  42. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/test_runner.py +0 -0
  43. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/tracker.py +0 -0
  44. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/mcp/vcs.py +0 -0
  45. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/paths.py +0 -0
  46. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/.claude-plugin/plugin.json +0 -0
  47. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/a11y-audit/SKILL.md +0 -0
  48. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/adversarial-review/SKILL.md +0 -0
  49. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/api-surface-extraction/SKILL.md +0 -0
  50. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/authz-matrix-check/SKILL.md +0 -0
  51. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/console-error-triage/SKILL.md +0 -0
  52. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/contract-test-generation/SKILL.md +0 -0
  53. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/dedupe-strategy/SKILL.md +0 -0
  54. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/environment-pinning/SKILL.md +0 -0
  55. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/error-taxonomy/SKILL.md +0 -0
  56. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/exploratory-ui-walk/SKILL.md +0 -0
  57. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/failing-test-authoring/SKILL.md +0 -0
  58. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/flake-detection/SKILL.md +0 -0
  59. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/form-state-probe/SKILL.md +0 -0
  60. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/minimal-diff-discipline/SKILL.md +0 -0
  61. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/openapi-diff/SKILL.md +0 -0
  62. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/ownership-resolution/SKILL.md +0 -0
  63. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/product-task-graph/SKILL.md +0 -0
  64. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/regression-risk-scoring/SKILL.md +0 -0
  65. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/regression-suite-selection/SKILL.md +0 -0
  66. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/repo-cartography/SKILL.md +0 -0
  67. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/repro-minimisation/SKILL.md +0 -0
  68. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/rollback-plan-authoring/SKILL.md +0 -0
  69. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/root-cause-vs-symptom/SKILL.md +0 -0
  70. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/routing-rules/SKILL.md +0 -0
  71. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/severity-rubric/SKILL.md +0 -0
  72. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/test-first-fix/SKILL.md +0 -0
  73. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/test-quality-audit/SKILL.md +0 -0
  74. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/ticket-writer/SKILL.md +0 -0
  75. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/verdict-reporting/SKILL.md +0 -0
  76. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/plugin/skills/verification-protocol/SKILL.md +0 -0
  77. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/ARBITER.md +0 -0
  78. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/CARTOGRAPHER.md +0 -0
  79. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/CHRONICLE.md +0 -0
  80. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/CLERK.md +0 -0
  81. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/CONDUIT.md +0 -0
  82. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/FORGE.md +0 -0
  83. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/GAUGE.md +0 -0
  84. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/KEYSTONE.md +0 -0
  85. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/MENDER.md +0 -0
  86. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/PROOF.md +0 -0
  87. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/PULSE.md +0 -0
  88. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/SURFACE.md +0 -0
  89. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/USHER.md +0 -0
  90. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/VAULT.md +0 -0
  91. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/WARDEN.md +0 -0
  92. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/prompts/_shared.md +0 -0
  93. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/registry.py +0 -0
  94. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/runner.py +0 -0
  95. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/scorecard.py +0 -0
  96. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/sdk_compat.py +0 -0
  97. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/store.py +0 -0
  98. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/target.py +0 -0
  99. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/tasks.py +0 -0
  100. {qaas_python-0.4.2 → qaas_python-1.0.0}/src/qaas/trace.py +0 -0
  101. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/CODEOWNERS +0 -0
  102. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/Dockerfile +0 -0
  103. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/__init__.py +0 -0
  104. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/auth.py +0 -0
  105. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/config.py +0 -0
  106. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/db.py +0 -0
  107. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/errors.py +0 -0
  108. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/main.py +0 -0
  109. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/models.py +0 -0
  110. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/routes/__init__.py +0 -0
  111. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/routes/auth.py +0 -0
  112. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/routes/invoices.py +0 -0
  113. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/routes/orders.py +0 -0
  114. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/routes/stream.py +0 -0
  115. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/app/schemas.py +0 -0
  116. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/migrations/001_init.sql +0 -0
  117. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/pyproject.toml +0 -0
  118. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/api/seed/fixtures.sql +0 -0
  119. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/defects.yaml +0 -0
  120. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/docker-compose.yml +0 -0
  121. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/openapi.yaml +0 -0
  122. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/.gitignore +0 -0
  123. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/Dockerfile +0 -0
  124. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/index.html +0 -0
  125. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/package-lock.json +0 -0
  126. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/package.json +0 -0
  127. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/api.ts +0 -0
  128. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/components/Button.tsx +0 -0
  129. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/components/Layout.tsx +0 -0
  130. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/components/SearchInput.tsx +0 -0
  131. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/main.tsx +0 -0
  132. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/routes/CheckoutReview.tsx +0 -0
  133. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/routes/Login.tsx +0 -0
  134. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/routes/NewOrder.tsx +0 -0
  135. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/routes/OrderDetail.tsx +0 -0
  136. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/routes/OrdersList.tsx +0 -0
  137. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/src/styles.css +0 -0
  138. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/tsconfig.json +0 -0
  139. {qaas_python-0.4.2 → qaas_python-1.0.0}/target-app/web/vite.config.ts +0 -0
  140. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/adapters/test_github_vcs.py +0 -0
  141. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/adapters/test_jira_tracker.py +0 -0
  142. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/conftest.py +0 -0
  143. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/conftest.py +0 -0
  144. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_contract_diff.py +0 -0
  145. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_defect_memory.py +0 -0
  146. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_env_control.py +0 -0
  147. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_test_runner.py +0 -0
  148. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_tracker.py +0 -0
  149. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/mcp/test_vcs.py +0 -0
  150. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/support.py +0 -0
  151. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/target_app/test_seeded_defects.py +0 -0
  152. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_cli.py +0 -0
  153. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_conductor.py +0 -0
  154. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_config.py +0 -0
  155. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_discover.py +0 -0
  156. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_envelope.py +0 -0
  157. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_envfile.py +0 -0
  158. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_guardrails.py +0 -0
  159. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_hooks_and_skills.py +0 -0
  160. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_paths.py +0 -0
  161. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_prompt_overrides.py +0 -0
  162. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_registry.py +0 -0
  163. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_scorecard.py +0 -0
  164. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_skills_actually_load.py +0 -0
  165. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_store.py +0 -0
  166. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_target_profile_is_honoured.py +0 -0
  167. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_trace.py +0 -0
  168. {qaas_python-0.4.2 → qaas_python-1.0.0}/tests/test_user_mcp_servers.py +0 -0
@@ -301,21 +301,28 @@ wrong:
301
301
  **Nothing in `tasks.py` or a prompt may name a specific application.** A prompt
302
302
  that mentions one repo's layout or one app's seeded users works exactly once.
303
303
 
304
- ### The eight agents
304
+ ### The sixteen agents
305
305
 
306
306
  | agent | layer | does |
307
307
  |---|---|---|
308
308
  | CARTOGRAPHER | map | services, routes, schema, ownership → `system-map.json` |
309
+ | KEYSTONE | discovery | circular deps, layering violations, god modules, dead code |
309
310
  | CONDUIT | discovery | API contract drift; ships a failing contract test |
310
311
  | SURFACE | discovery | drives the UI through real journeys |
312
+ | VAULT | discovery | schema constraints the code assumes and the database does not enforce |
313
+ | WARDEN | discovery | missing authorization, secrets, vulnerable dependencies, leaked internals |
314
+ | PULSE | discovery | WebSocket auth, reconnect, ordering, backpressure |
315
+ | USHER | discovery | whether a person can *find* a feature, not just whether it works |
316
+ | GAUGE | discovery | N+1 queries, unindexed hot paths, unbounded results, bundle outliers |
311
317
  | FORGE | triage | reproduces, minimises, measures flake, commits a failing test |
312
318
  | CLERK | triage | dedupes, scores severity, routes, files — the only tracker writer |
313
319
  | MENDER | remediation | the minimal fix, on a `fix/*` branch |
314
320
  | ARBITER | remediation | adversarial review: APPROVE / REQUEST_CHANGES / ESCALATE |
315
321
  | PROOF | verify | re-runs the original test → VERIFIED / NOT_FIXED / REGRESSED |
322
+ | CHRONICLE | reporting | what the run found, what recurred, and what it could not reach |
316
323
 
317
- (The design doc names 16. Eight are built; CONDUCTOR is the Python state machine
318
- rather than an agent; seven Phase-2 agents are not built.)
324
+ CONDUCTOR is the sixteenth. It is the Python state machine in `conductor.py`
325
+ rather than an agent, because a model cannot enforce a budget it is spending.
319
326
 
320
327
  ---
321
328
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: qaas-python
3
- Version: 0.4.2
3
+ Version: 1.0.0
4
4
  Summary: A multi-agent QA system: finds real defects, reproduces them, files tickets, fixes them, and proves the fix
5
5
  Project-URL: Homepage, https://github.com/allaabdella2-us/qa-multi-agent-system
6
6
  Project-URL: Repository, https://github.com/allaabdella2-us/qa-multi-agent-system
@@ -51,7 +51,7 @@ Description-Content-Type: text/markdown
51
51
 
52
52
  Most "AI QA" tools generate tests. **This one behaves like a QA team.**
53
53
 
54
- Ten agents, each with its own context, tool allowlist and budget, coordinated by
54
+ Fifteen agents, each with its own context, tool allowlist and budget, coordinated by
55
55
  a state machine that is ordinary Python — because a model cannot enforce a budget
56
56
  it is itself spending.
57
57
 
@@ -21,7 +21,7 @@
21
21
 
22
22
  Most "AI QA" tools generate tests. **This one behaves like a QA team.**
23
23
 
24
- Ten agents, each with its own context, tool allowlist and budget, coordinated by
24
+ Fifteen agents, each with its own context, tool allowlist and budget, coordinated by
25
25
  a state machine that is ordinary Python — because a model cannot enforce a budget
26
26
  it is itself spending.
27
27
 
@@ -2,7 +2,7 @@
2
2
  # Distribution name is `qaas-python` (`qaas` was taken); the import package and
3
3
  # the CLI are both `qaas`.
4
4
  name = "qaas-python"
5
- version = "0.4.2"
5
+ version = "1.0.0"
6
6
  description = "A multi-agent QA system: finds real defects, reproduces them, files tickets, fixes them, and proves the fix"
7
7
  readme = "README.md"
8
8
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes