qaas-python 0.3.1__tar.gz → 0.3.2__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.
- {qaas_python-0.3.1 → qaas_python-0.3.2}/PKG-INFO +18 -22
- {qaas_python-0.3.1 → qaas_python-0.3.2}/README.md +17 -21
- {qaas_python-0.3.1 → qaas_python-0.3.2}/pyproject.toml +1 -1
- {qaas_python-0.3.1 → qaas_python-0.3.2}/.gitignore +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/ARCHITECTURE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/BUILD_PLAN.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/CLAUDE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/LICENSE +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/config/targets/corvid.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/adapters/__init__.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/adapters/tracker.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/adapters/vcs.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/cli.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/conductor.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/config.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/arbiter.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/cartographer.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/chronicle.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/clerk.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/conduit.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/forge.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/gauge.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/keystone.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/mender.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/proof.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/pulse.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/surface.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/usher.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/vault.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/agents/warden.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/defaults/config/system.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/discover.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/envelope.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/guardrails.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/__init__.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/context.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/contract_diff.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/defect_memory.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/env_control.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/envelope_server.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/test_runner.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/tracker.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/mcp/vcs.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/paths.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/.claude-plugin/plugin.json +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/a11y-audit/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/adversarial-review/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/api-surface-extraction/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/authz-matrix-check/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/console-error-triage/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/contract-test-generation/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/dedupe-strategy/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/environment-pinning/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/error-taxonomy/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/exploratory-ui-walk/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/failing-test-authoring/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/flake-detection/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/form-state-probe/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/minimal-diff-discipline/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/openapi-diff/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/ownership-resolution/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/product-task-graph/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/regression-risk-scoring/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/regression-suite-selection/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/repo-cartography/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/repro-minimisation/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/rollback-plan-authoring/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/root-cause-vs-symptom/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/routing-rules/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/severity-rubric/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/test-first-fix/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/test-quality-audit/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/ticket-writer/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/verdict-reporting/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/verification-protocol/SKILL.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/ARBITER.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/CARTOGRAPHER.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/CHRONICLE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/CLERK.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/CONDUIT.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/FORGE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/GAUGE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/KEYSTONE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/MENDER.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/PROOF.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/PULSE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/SURFACE.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/USHER.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/VAULT.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/WARDEN.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/prompts/_shared.md +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/registry.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/runner.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/scorecard.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/sdk_compat.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/store.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/target.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/tasks.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/trace.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/CODEOWNERS +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/Dockerfile +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/__init__.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/auth.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/config.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/db.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/errors.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/main.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/models.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/routes/__init__.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/routes/auth.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/routes/invoices.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/routes/orders.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/routes/stream.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/app/schemas.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/migrations/001_init.sql +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/pyproject.toml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/api/seed/fixtures.sql +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/defects.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/docker-compose.yml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/openapi.yaml +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/.gitignore +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/Dockerfile +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/index.html +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/package-lock.json +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/package.json +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/api.ts +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/components/Button.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/components/Layout.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/components/SearchInput.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/main.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/routes/CheckoutReview.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/routes/Login.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/routes/NewOrder.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/routes/OrderDetail.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/routes/OrdersList.tsx +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/src/styles.css +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/tsconfig.json +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/target-app/web/vite.config.ts +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/adapters/test_github_vcs.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/adapters/test_jira_tracker.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/conftest.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/conftest.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_contract_diff.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_defect_memory.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_env_control.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_test_runner.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_tracker.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/mcp/test_vcs.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/support.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/target_app/test_seeded_defects.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_cli.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_conductor.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_config.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_discover.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_envelope.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_guardrails.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_hooks_and_skills.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_paths.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_prompt_overrides.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_registry.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_scorecard.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_skills_actually_load.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_store.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_target_profile_is_honoured.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_trace.py +0 -0
- {qaas_python-0.3.1 → qaas_python-0.3.2}/tests/test_user_mcp_servers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: qaas-python
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
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
|
|
@@ -310,32 +310,28 @@ the refusal and adapts.
|
|
|
310
310
|
|
|
311
311
|
---
|
|
312
312
|
|
|
313
|
-
## 📈
|
|
313
|
+
## 📈 How you know it works
|
|
314
314
|
|
|
315
|
-
|
|
315
|
+
`qaas` ships with a **deliberately buggy demo app** and a golden ledger recording
|
|
316
|
+
every defect seeded into it — plus **planted non-defects**: correct-but-suspicious
|
|
317
|
+
code that a careless reader would report.
|
|
316
318
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
| 🎯 recall | **81%** — 13 of 16 | **69%** — 11 of 16 |
|
|
322
|
-
| 🔇 precision | **100%** — 0 FP | **92%** — 1 FP |
|
|
323
|
-
| 🏷️ severity agreement | **100%** | **100%** |
|
|
324
|
-
|
|
325
|
-
**Both numbers are shown on purpose.** A single figure would be the flattering
|
|
326
|
-
one, and it would not survive contact with a second run. These are stochastic
|
|
327
|
-
agents: the two runs did not find the same 11–13 defects — run B caught a
|
|
328
|
-
contrast failure run A missed, and missed three run A found. Expect variance of
|
|
329
|
-
this order.
|
|
319
|
+
```bash
|
|
320
|
+
cd target-app && docker compose up -d
|
|
321
|
+
qaas run --mode nightly && qaas score
|
|
322
|
+
```
|
|
330
323
|
|
|
331
|
-
|
|
332
|
-
|
|
324
|
+
`qaas score` reports recall, precision and severity agreement against that
|
|
325
|
+
ledger. That matters more than any number this page could print: it means a
|
|
326
|
+
change to a prompt, a threshold or a model has **a measurement attached** rather
|
|
327
|
+
than an opinion.
|
|
333
328
|
|
|
334
329
|
> [!CAUTION]
|
|
335
|
-
> **
|
|
336
|
-
>
|
|
337
|
-
>
|
|
338
|
-
>
|
|
330
|
+
> **Seeded defects are easier than real ones**, and this system was calibrated
|
|
331
|
+
> against them. A benchmark shows the loop works end to end and does not spray
|
|
332
|
+
> false positives. It does not show that it will find the hard bug in your
|
|
333
|
+
> codebase. Run it on something you know well and judge it on what it finds
|
|
334
|
+
> there.
|
|
339
335
|
|
|
340
336
|
---
|
|
341
337
|
|
|
@@ -280,32 +280,28 @@ the refusal and adapts.
|
|
|
280
280
|
|
|
281
281
|
---
|
|
282
282
|
|
|
283
|
-
## 📈
|
|
283
|
+
## 📈 How you know it works
|
|
284
284
|
|
|
285
|
-
|
|
285
|
+
`qaas` ships with a **deliberately buggy demo app** and a golden ledger recording
|
|
286
|
+
every defect seeded into it — plus **planted non-defects**: correct-but-suspicious
|
|
287
|
+
code that a careless reader would report.
|
|
286
288
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
| 🎯 recall | **81%** — 13 of 16 | **69%** — 11 of 16 |
|
|
292
|
-
| 🔇 precision | **100%** — 0 FP | **92%** — 1 FP |
|
|
293
|
-
| 🏷️ severity agreement | **100%** | **100%** |
|
|
294
|
-
|
|
295
|
-
**Both numbers are shown on purpose.** A single figure would be the flattering
|
|
296
|
-
one, and it would not survive contact with a second run. These are stochastic
|
|
297
|
-
agents: the two runs did not find the same 11–13 defects — run B caught a
|
|
298
|
-
contrast failure run A missed, and missed three run A found. Expect variance of
|
|
299
|
-
this order.
|
|
289
|
+
```bash
|
|
290
|
+
cd target-app && docker compose up -d
|
|
291
|
+
qaas run --mode nightly && qaas score
|
|
292
|
+
```
|
|
300
293
|
|
|
301
|
-
|
|
302
|
-
|
|
294
|
+
`qaas score` reports recall, precision and severity agreement against that
|
|
295
|
+
ledger. That matters more than any number this page could print: it means a
|
|
296
|
+
change to a prompt, a threshold or a model has **a measurement attached** rather
|
|
297
|
+
than an opinion.
|
|
303
298
|
|
|
304
299
|
> [!CAUTION]
|
|
305
|
-
> **
|
|
306
|
-
>
|
|
307
|
-
>
|
|
308
|
-
>
|
|
300
|
+
> **Seeded defects are easier than real ones**, and this system was calibrated
|
|
301
|
+
> against them. A benchmark shows the loop works end to end and does not spray
|
|
302
|
+
> false positives. It does not show that it will find the hard bug in your
|
|
303
|
+
> codebase. Run it on something you know well and judge it on what it finds
|
|
304
|
+
> there.
|
|
309
305
|
|
|
310
306
|
---
|
|
311
307
|
|
|
@@ -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.3.
|
|
5
|
+
version = "0.3.2"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/api-surface-extraction/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/console-error-triage/SKILL.md
RENAMED
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/contract-test-generation/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/failing-test-authoring/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/minimal-diff-discipline/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/ownership-resolution/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/regression-risk-scoring/SKILL.md
RENAMED
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/regression-suite-selection/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/rollback-plan-authoring/SKILL.md
RENAMED
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/root-cause-vs-symptom/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qaas_python-0.3.1 → qaas_python-0.3.2}/src/qaas/plugin/skills/verification-protocol/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|