synapse-hub 2.4.3 → 2.6.0
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.
- package/.agents/agents/failure-analyst.md +13 -0
- package/.agents/agents/orchestrator.md +5 -2
- package/.agents/agents/pom-crafter.md +13 -0
- package/.agents/agents/quality-gatekeeper.md +21 -2
- package/.agents/agents/test-runner.md +11 -0
- package/.agents/rules/context-engineering.md +22 -102
- package/.agents/rules/mobile_appium_rules.md +19 -115
- package/.agents/rules/performance_testing_rules.md +18 -62
- package/.agents/rules/skill-precedence.md +24 -24
- package/.agents/rules/systematic-debugging.md +10 -27
- package/.agents/skills/lean-code-ladder/SKILL.md +12 -1
- package/.agents/skills/lean-impact-scoreboard/SKILL.md +48 -0
- package/.agents/skills/lean-impact-scoreboard/examples/sample_benchmark_gain.md +20 -0
- package/.agents/skills/lean-impact-scoreboard/examples/sample_scoreboard.md +15 -0
- package/.agents/skills/repo-quality-audit/SKILL.md +68 -0
- package/.agents/skills/repo-quality-audit/examples/sample_audit_walkthrough.md +15 -0
- package/.agents/skills/repo-quality-audit/examples/sample_repo_audit.md +33 -0
- package/.agents/skills/senior-code-review/SKILL.md +90 -0
- package/.agents/skills/senior-code-review/examples/sample_review_walkthrough.md +29 -0
- package/.agents/skills/technical-debt-harvester/SKILL.md +70 -0
- package/.agents/skills/technical-debt-harvester/examples/sample_debt_ledger.md +25 -0
- package/.agents/skills/technical-debt-harvester/examples/sample_ledger_output.md +20 -0
- package/.agents/skills/token-and-context-optimizer/references/context_engineering_guide.md +49 -0
- package/.cursor/rules/synapse-qa.mdc +4 -3
- package/.cursorrules +1 -0
- package/.windsurfrules +1 -0
- package/AGENTS.md +57 -180
- package/CLAUDE.md +5 -0
- package/NOTICE +40 -4
- package/README.en.md +33 -13
- package/README.md +36 -16
- package/bin/agent-qa.js +3 -2
- package/docs/ARCHITECTURE.md +39 -11
- package/docs/CLI_REFERENCE.md +15 -1
- package/docs/adopted-ecosystem-tools.md +9 -0
- package/docs/research/agent_skill_training_analysis.md +1357 -0
- package/package.json +1 -3
- package/skills_manifest.json +39 -3
- package/synapse.config.json +3 -2
- package/templates/ai_bridges/CLAUDE.md +5 -0
- package/templates/ai_bridges/copilot-instructions.md +2 -0
- package/templates/ai_bridges/cursor_synapse_qa.mdc +4 -3
- package/templates/ai_bridges/windsurfrules +1 -0
- package/templates/welcome.html.tmpl +34 -25
- package/tools/.infer_baseline.json +7 -1079
- package/tools/TOOLS_RUNBOOK.md +182 -13
- package/tools/__init__.py +1 -1
- package/tools/agent_canary.py +4 -4
- package/tools/analyze_project.py +2 -2
- package/tools/api_fuzzer.py +4 -4
- package/tools/auto_heal.py +14 -2
- package/tools/auto_heal_reflexion.py +172 -0
- package/tools/browser_helpers.js +57 -2
- package/tools/bump_version.py +30 -2
- package/tools/cache_resolver.py +6 -6
- package/tools/check_env.py +13 -7
- package/tools/cli.py +265 -197
- package/tools/count_tokens.py +7 -7
- package/tools/dashboard_generator.py +39 -23
- package/tools/db_sandbox.py +5 -5
- package/tools/debt_harvester.py +236 -0
- package/tools/distill_log.py +2 -2
- package/tools/dspy_qa_signatures.py +357 -0
- package/tools/flaky_detector.py +5 -5
- package/tools/generate_tc_from_story.py +2 -2
- package/tools/generate_test_reports.py +4 -4
- package/tools/git_pre_commit_guard.py +6 -6
- package/tools/infer_linter.py +12 -7
- package/tools/interview_story.py +117 -0
- package/tools/lint_ai_docs.py +3 -3
- package/tools/matrix_sharder.py +4 -4
- package/tools/mcp_excel_server.py +1 -1
- package/tools/mcp_server.py +3 -3
- package/tools/micro_mutator.py +6 -6
- package/tools/omni_transpiler.py +2 -2
- package/tools/output_formatter.py +37 -2
- package/tools/pinpoint_failure.py +4 -1
- package/tools/repo_map.py +2 -2
- package/tools/reversible_sandbox.py +157 -0
- package/tools/safety_firewall.py +30 -2
- package/tools/senior_code_review.py +341 -0
- package/tools/setup_project.py +9 -9
- package/tools/skill_collision_guard.py +231 -0
- package/tools/skill_vault.py +343 -0
- package/tools/skillspector.py +2 -2
- package/tools/synapse_qa_bench.py +190 -0
- package/tools/sync_agent_rules.py +14 -3
- package/tools/test_impact.py +4 -4
- package/tools/textgrad_mutation_optimizer.py +234 -0
- package/tools/tms_sync_bridge.py +2 -2
- package/tools/update_sentinel.py +17 -17
- package/tools/verify_all.py +47 -16
- package/tools/visual_som_helper.py +8 -8
- package/tools/watch_mode.py +7 -8
- package/tools/wcag_audit.py +5 -1
- package/tools/welcome_page.py +12 -12
- package/benchmarks/qa_eval/README.md +0 -71
- package/benchmarks/qa_eval/build_dataset.py +0 -677
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +0 -22
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +0 -22
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +0 -22
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +0 -22
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +0 -22
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +0 -21
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +0 -21
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +0 -21
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +0 -21
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +0 -21
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +0 -23
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +0 -23
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +0 -23
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +0 -23
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +0 -23
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +0 -22
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +0 -22
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +0 -22
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +0 -22
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +0 -23
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +0 -22
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +0 -22
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +0 -22
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +0 -22
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +0 -22
- package/benchmarks/qa_eval/eval_runner.py +0 -418
- package/examples/cypress-ecommerce-suite/README.md +0 -45
- package/examples/cypress-ecommerce-suite/cypress/e2e/checkout.cy.js +0 -17
- package/examples/cypress-ecommerce-suite/cypress/pages/BasePage.js +0 -29
- package/examples/cypress-ecommerce-suite/cypress/pages/CartPage.js +0 -51
- package/examples/cypress-ecommerce-suite/cypress.config.js +0 -13
- package/examples/cypress-ecommerce-suite/package.json +0 -13
- package/examples/katalon-suite/Keywords/pages/BasePage.groovy +0 -19
- package/examples/katalon-suite/Keywords/pages/DashboardPage.groovy +0 -29
- package/examples/katalon-suite/Keywords/pages/LoginPage.groovy +0 -45
- package/examples/katalon-suite/Profiles/default.glbl +0 -12
- package/examples/katalon-suite/README.md +0 -18
- package/examples/katalon-suite/Scripts/Auth/TC_LoginSuccess/Script1234567890.groovy +0 -12
- package/examples/katalon-suite/Scripts/Dashboard/TC_ViewSummary/Script1234567891.groovy +0 -15
- package/examples/katalon-suite/katalon_suite.prj +0 -21
- package/examples/playwright-crm-suite/README.md +0 -40
- package/examples/playwright-crm-suite/package.json +0 -14
- package/examples/playwright-crm-suite/pages/BasePage.ts +0 -37
- package/examples/playwright-crm-suite/pages/CustomerPage.ts +0 -57
- package/examples/playwright-crm-suite/pages/LoginPage.ts +0 -32
- package/examples/playwright-crm-suite/playwright.config.ts +0 -27
- package/examples/playwright-crm-suite/tests/auth.spec.ts +0 -22
- package/examples/playwright-crm-suite/tests/customers.spec.ts +0 -33
- package/examples/plugins/sample-custom-plugin/README.md +0 -14
- package/examples/plugins/sample-custom-plugin/plugin.json +0 -16
- package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/SKILL.md +0 -29
- package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/examples/audit_fixture.json +0 -8
- package/examples/plugins/sample-custom-plugin/tools/custom_security_headers.py +0 -125
- package/examples/practices/README.md +0 -22
- package/examples/practices/requirements/crm/requirements_contracts.md +0 -292
- package/examples/practices/requirements/crm/requirements_customers.md +0 -462
- package/examples/practices/requirements/crm/requirements_login.md +0 -202
- package/examples/practices/requirements/crm/requirements_projects.md +0 -396
- package/examples/practices/requirements/crm/requirements_tasks.md +0 -343
- package/examples/practices/requirements/ecommerce/requirements_category_brand.txt +0 -402
- package/examples/practices/requirements/jira/KAN-5/KAN-1/2026-04-03_04-28-27.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-1/KAN-1_requirement.md +0 -52
- package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-19.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-57.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-4/KAN-4_requirement.md +0 -119
- package/examples/practices/requirements/jira/KAN-5/KAN-5_overview.md +0 -9
- package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-08.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-23.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-6/KAN-6_requirement.md +0 -32
- package/examples/practices/testcases/api/book_management_api_test_cases.md +0 -144
- package/examples/practices/testcases/api/user_management_api_test_cases.md +0 -139
- package/examples/practices/testcases/crm/test_cases_crm_login.md +0 -148
- package/examples/practices/testcases/crm/test_cases_customers.md +0 -156
- package/examples/pytest-api-suite/README.md +0 -45
- package/examples/pytest-api-suite/conftest.py +0 -31
- package/examples/pytest-api-suite/pages/user_api_client.py +0 -36
- package/examples/pytest-api-suite/requirements.txt +0 -2
- package/examples/pytest-api-suite/tests/test_user_api.py +0 -44
- package/examples/selenium-suite/README.md +0 -18
- package/examples/selenium-suite/pages/base_page.py +0 -27
- package/examples/selenium-suite/pages/login_page.py +0 -29
- package/examples/selenium-suite/pages/order_page.py +0 -25
- package/examples/selenium-suite/pytest.ini +0 -6
- package/examples/selenium-suite/requirements.txt +0 -2
- package/examples/selenium-suite/tests/test_login.py +0 -10
- package/examples/selenium-suite/tests/test_order.py +0 -10
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
[🇻🇳 Tiếng Việt](README.md) | [🇬🇧 English Edition](README.en.md)
|
|
5
5
|
|
|
6
6
|
> **Định vị cốt lõi:** Bộ Linter & Guardrails độc lập (zero external dependencies cho core engine & DoD gates) bảo vệ độ tin cậy của test suite khi AI viết code — Phát hiện & ngăn chặn test "pass ảo" (0 assert, tautology), loại bỏ hoàn toàn sleep cố định, nén 95% log CI/CD, và chuẩn hóa cấu trúc Clean POM. Các tính năng nâng cao (xuất bảng Excel chuẩn doanh nghiệp, so sánh ảnh Canvas) sử dụng thư viện mở rộng tùy chọn (`openpyxl`, `Pillow`).
|
|
7
|
-
> **Module mở rộng:** Sẵn sàng kết nối
|
|
7
|
+
> **Module mở rộng:** Sẵn sàng kết nối 42 kỹ năng QA chuyên sâu, 6 vai trò AI Swarm và 10 Cổng kiểm định DoD hỗ trợ Playwright, Cypress, Pytest và Katalon.
|
|
8
8
|
> **Tác giả:** Thế Vị ([@TeeVee998](https://github.com/TeeVee998))
|
|
9
|
-
> **Phiên bản Hub:** `v2.
|
|
9
|
+
> **Phiên bản Hub:** `v2.6.0` | **Quy mô:** 42 Kỹ năng chuẩn hóa, 6 Vai trò AI Agent, 68 Lệnh CLI & 68+ Công cụ kiểm thử chuyên sâu, 10 Cổng kiểm định DoD.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/synapse-hub)
|
|
12
12
|
[](https://nodejs.org)
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
### 💡 Synapse Hub là gì? (Hiểu ngay trong 30 giây)
|
|
20
20
|
|
|
21
21
|
> 📌 **Lưu ý kiến trúc Hub & Spoke (Tránh nhầm lẫn khi mới clone):**
|
|
22
|
-
> • **Synapse-Hub (Kho này):** Là **"Bộ Não Trung Tâm"** chứa
|
|
22
|
+
> • **Synapse-Hub (Kho này):** Là **"Bộ Não Trung Tâm"** chứa 42 kỹ năng, linter và công cụ, **không phải** là dự án kiểm thử của bạn.
|
|
23
23
|
> • **Dự án mục tiêu (Target Project / Spoke):** Là mã nguồn test thực tế của bạn (Playwright, Katalon, Pytest, Cypress...).
|
|
24
24
|
> 👉 Để kích hoạt Synapse Hub bảo vệ dự án của bạn, hãy mở terminal ngay tại dự án đó và chạy:
|
|
25
25
|
> `npx synapse-hub setup` *(hoặc đứng từ đây trỏ đường dẫn: `npx synapse-hub setup --target ../du-an-cua-ban`)*.
|
|
@@ -28,7 +28,7 @@ Bạn có thể sử dụng Synapse Hub theo **2 cách cực kỳ linh hoạt**:
|
|
|
28
28
|
1. 🛠️ **Dùng như CLI độc lập (Không cần AI):** Bạn chỉ cần gõ `npx synapse-hub lint` để kiểm tra test, nén log CI hoặc xuất kịch bản sang Excel mà không cần cài đặt phức tạp.
|
|
29
29
|
2. 🧠 **Dùng như "Bộ Não Bảo Vệ" cho AI Coding:** Khi bạn dùng Cursor, Google Antigravity hay Claude Code, Synapse Hub đóng vai trò làm cẩm nang hướng dẫn ngầm — ngăn AI sinh ra test "pass ảo", bỏ qua ngoại lệ ngầm hay chèn sleep cố định.
|
|
30
30
|
|
|
31
|
-
> 🛡️ **Yên tâm:** Bạn **không cần học hay ghi nhớ**
|
|
31
|
+
> 🛡️ **Yên tâm:** Bạn **không cần học hay ghi nhớ** 42 kỹ năng hay 60 công cụ! Hệ thống hoạt động theo nguyên tắc tự kích hoạt khi cần (*On-Demand*), giúp bạn rảnh tay tập trung vào công việc chính.
|
|
32
32
|
|
|
33
33
|
#### ⚖️ Trước & Sau khi có Synapse Hub bảo vệ:
|
|
34
34
|
|
|
@@ -108,9 +108,9 @@ npx synapse-hub setup
|
|
|
108
108
|
npx synapse-hub uninstall
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
### Chạy kiểm định
|
|
111
|
+
### Chạy kiểm định 10 Cổng Chất Lượng (DoD Gates):
|
|
112
112
|
```bash
|
|
113
|
-
npx synapse-hub verify # Kiểm tra
|
|
113
|
+
npx synapse-hub verify # Kiểm tra 10 Cổng Chất Lượng DoD (Gate 0–9)
|
|
114
114
|
npx synapse-hub analyze # Báo cáo sức khỏe dự án (PROJECT_HEALTH_REPORT.md)
|
|
115
115
|
```
|
|
116
116
|
|
|
@@ -152,6 +152,7 @@ repos:
|
|
|
152
152
|
| **Gate 6** | **Bảo Vệ Bí Mật & Mật Khẩu** | Quét chặn plaintext password, private keys hoặc API token lưu cứng trong code. |
|
|
153
153
|
| **Gate 7** | **Quét Lỗi Tĩnh & Bắt Test Pass Ảo** | Tự động phát hiện test 0 assertion, try-catch bỏ qua ngoại lệ ngầm, sleep cố định (≥ 3000ms) và unawaited expect. |
|
|
154
154
|
| **Gate 8** | **Đo Độ Nhạy Assert (Micro-Mutation)** | Đảm bảo các câu lệnh assert bắt được lỗi thật khi code bị biến đổi (Chế độ Heuristic Static ~0.1s; truyền `--test-cmd` cho runtime re-test; yêu cầu điểm ≥ 80%). |
|
|
155
|
+
| **Gate 9** | **Điều Phối Kỹ Năng & Ngăn Xung Đột (Skill Collision Guard)** | Kiểm tra độ tương đồng ngữ nghĩa và trigger activation giữa các skill; chặn xung đột trùng lặp (Threshold < 0.75). |
|
|
155
156
|
|
|
156
157
|
---
|
|
157
158
|
|
|
@@ -161,7 +162,7 @@ repos:
|
|
|
161
162
|
| :--- | :--- | :--- |
|
|
162
163
|
| **Fresher / Junior** | Học nhanh, ra việc ngay, hiểu vì sao test yếu | • `npx synapse-hub export-excel`: Tạo test case chuẩn chỉnh.<br/>• `npx synapse-hub lint ./tests`: Giải thích vì sao assert yếu hoặc pass ảo.<br/>• Tham khảo mẫu Clean POM chuẩn trong `examples/practices/`. |
|
|
163
164
|
| **Mid-Level** | Bớt flaky, giảm chi phí bảo trì locator | • `npx synapse-hub flaky scan ./tests`: Dò tìm test chập chờn và phân nhóm cách ly.<br/>• `npx synapse-hub heal`: Gợi ý thay thế locator hỏng qua phân tích cây AOM.<br/>• Tích hợp linter vào pre-commit hook. |
|
|
164
|
-
| **Senior / Lead** | Đo lường, kiểm soát chất lượng, an toàn CI/CD | • `npx synapse-hub verify`:
|
|
165
|
+
| **Senior / Lead** | Đo lường, kiểm soát chất lượng, an toàn CI/CD | • `npx synapse-hub verify`: 10 Cổng chất lượng DoD tự động trong CI.<br/>• `npx synapse-hub mutate ./tests`: Kiểm tra độ nhạy của assertion trước khi merge PR.<br/>• Báo cáo chuẩn Markdown/JSON dễ dàng gắn vào GitHub Actions/GitLab CI. |
|
|
165
166
|
|
|
166
167
|
> *Mẹo tiện dụng: Nếu bạn đã cài đặt toàn cục (`npm i -g synapse-hub`), bạn có thể gõ ngắn gọn `synapse-hub <lệnh>` hoặc các bí danh `synapse`, `agent-qa`.*
|
|
167
168
|
|
|
@@ -172,7 +173,7 @@ repos:
|
|
|
172
173
|
```mermaid
|
|
173
174
|
flowchart TD
|
|
174
175
|
subgraph Hub["🧠 Synapse Hub (Core v2.4.0)"]
|
|
175
|
-
Skills[".agents/skills/ (
|
|
176
|
+
Skills[".agents/skills/ (42 Skills)"]
|
|
176
177
|
Agents[".agents/agents/ (6 Specialized Roles)"]
|
|
177
178
|
Rules[".agents/rules/ (11 Core Rules)"]
|
|
178
179
|
Tools["tools/ (60+ Universal Python Tools)"]
|
|
@@ -249,22 +250,22 @@ flowchart TD
|
|
|
249
250
|
| **`live-explorer`** | Khảo sát trực tiếp DOM/AOM qua Playwright headless, tự động ngăn chặn thao tác phá hỏng hoặc nguy hiểm. | `playwright-live-interaction`, `self-healing-locator`, `visual-regression-sentinel` | `safety_firewall.py`, `browser_helpers.js` |
|
|
250
251
|
| **`pom-crafter`** | Kỹ sư Clean POM, kiểm tra breaking change API, sinh test từ User Story. | `clean-pom-crafter`, `lam-script-generator`, `synthetic-test-data-generator` | `generate_tc_from_story.py`, `api_drift_sentinel.py` |
|
|
251
252
|
| **`test-runner`** | Quản lý chạy test headless CLI, chia tải song song CI, lọc log thông minh. | `katalon-cli-runner`, `e2e-testing-patterns`, `flaky-test-sentinel-and-quarantine` | `matrix_sharder.py`, `distill_log.py`, `pinpoint_failure.py` |
|
|
252
|
-
| **`failure-analyst`** | Phân tích nguyên nhân gốc rễ (RCA) khi test thất bại, tự động đề xuất vá locator
|
|
253
|
-
| **`quality-gatekeeper`**| Chốt chặn kiểm soát chất lượng, kiểm định
|
|
253
|
+
| **`failure-analyst`** | Phân tích nguyên nhân gốc rễ (RCA) khi test thất bại, tự động đề xuất vá locator và vòng lặp Reflexion $K=3$. | `failure-autopsy-and-healing`, `token-and-context-optimizer` | `auto_heal.py`, `bug_reporter.py`, `cache_resolver.py`, `auto_heal_reflexion.py` |
|
|
254
|
+
| **`quality-gatekeeper`**| Chốt chặn kiểm soát chất lượng, kiểm định 10 Cổng DoD và độ nhạy assertion. | `antigravity-test-sentinel`, `wcag-audit-patterns`, `security-dast-sentinel` | `verify_all.py`, `micro_mutator.py`, `infer_linter.py`, `skill_collision_guard.py` |
|
|
254
255
|
|
|
255
256
|
---
|
|
256
257
|
|
|
257
|
-
## 📦 7. Danh Mục
|
|
258
|
+
## 📦 7. Danh Mục 42 Kỹ Năng Chuẩn Hóa (.agents/skills/)
|
|
258
259
|
|
|
259
260
|
<details>
|
|
260
|
-
<summary><b>📦 Bấm để xem: Danh Mục
|
|
261
|
+
<summary><b>📦 Bấm để xem: Danh Mục 42 Kỹ Năng Chuẩn Hóa</b></summary>
|
|
261
262
|
|
|
262
263
|
| # | Mã Kỹ Năng | Mô Tả Thực Chiến |
|
|
263
264
|
|:---:|---|---|
|
|
264
265
|
| 1 | `clean-pom-crafter` | Thiết kế Page Classes chuẩn Clean POM & Flat Architecture (zero locator trong test script). |
|
|
265
266
|
| 2 | `playwright-live-interaction` | Khảo sát trực tiếp DOM/AOM, kiểm định selector < 200ms qua Playwright Headless. |
|
|
266
267
|
| 3 | `failure-autopsy-and-healing` | Phân tích nguyên nhân lỗi từ JUnit XML/Screenshot, tự động vá locator hỏng. |
|
|
267
|
-
| 4 | `antigravity-test-sentinel` | Chốt chặn kiểm soát chất lượng, phát hiện pass ảo và bảo đảm tuân thủ
|
|
268
|
+
| 4 | `antigravity-test-sentinel` | Chốt chặn kiểm soát chất lượng, phát hiện pass ảo và bảo đảm tuân thủ 10 cổng DoD. |
|
|
268
269
|
| 5 | `token-and-context-optimizer` | Tối ưu hóa prompt context, cô đọng log và chống suy giảm ngữ cảnh (Context Rot). |
|
|
269
270
|
| 6 | `flaky-test-sentinel-and-quarantine` | Phát hiện test chập chờn, tính điểm flakiness và quản lý vòng đời cách ly. |
|
|
270
271
|
| 7 | `api-spec-to-e2e-matrix` | Chuyển đổi đặc tả OpenAPI/Swagger thành ma trận kiểm thử E2E (Happy, Boundary, Fault). |
|
|
@@ -299,8 +300,12 @@ flowchart TD
|
|
|
299
300
|
| 36 | `systematic-debugging` | Điều tra gốc rễ 4 pha trước mọi bản vá; 3 lần sửa thất bại là dấu hiệu sai kiến trúc. |
|
|
300
301
|
| 37 | `verification-before-completion` | Giao thức bằng chứng: mọi tuyên bố pass/done phải kèm output lệnh chạy tươi trong phiên. |
|
|
301
302
|
| 38 | `meta-prompt-crafter` | Chuyên gia kỹ thuật prompt chuyển hóa ý tưởng thô thành câu lệnh chuẩn xác, tối ưu cho mọi AI. |
|
|
303
|
+
| 39 | `senior-code-review` | Review diff code theo tư duy senior engineer: bắt bug, bảo mật, scale, thiếu test và cắt bỏ bloat. |
|
|
304
|
+
| 40 | `repo-quality-audit` | Rà soát toàn diện codebase: tìm bug, rủi ro concurrency, bloat, và xếp hạng "Fix this first". |
|
|
305
|
+
| 41 | `technical-debt-harvester` | Quét và gom toàn bộ comment `shortcut:` thành sổ nợ kỹ thuật có kiểm soát qua lệnh `agent-qa debt`. |
|
|
306
|
+
| 42 | `lean-impact-scoreboard` | Hiển thị bảng điểm đo lường hiệu quả tinh gọn code, token và thời gian phản hồi. |
|
|
302
307
|
|
|
303
|
-
> **Nguồn mở & credit:** Kỹ năng
|
|
308
|
+
> **Nguồn mở & credit:** Kỹ năng và công cụ được kế thừa và phát triển từ các dự án mã nguồn mở tiêu biểu (NVIDIA SkillSpector, andrej-karpathy-skills, ponytail, planning-with-files, anthropics/skills, superpowers, wshobson/agents, vercel-labs/agent-browser, LaVague, graphify...) — toàn bộ danh mục bản quyền, license và tác giả chi tiết tại file `NOTICE` (mục 1–33); hướng dẫn công cụ ngoài kèm theo tại `docs/adopted-ecosystem-tools.md`.
|
|
304
309
|
|
|
305
310
|
</details>
|
|
306
311
|
|
|
@@ -308,13 +313,13 @@ flowchart TD
|
|
|
308
313
|
|
|
309
314
|
## 🛠️ 8. Bộ Công Cụ Dòng Lệnh CLI (tools/)
|
|
310
315
|
|
|
311
|
-
Dự án đi kèm hơn
|
|
316
|
+
Dự án đi kèm hơn 68 công cụ tiện ích viết hoàn toàn bằng **thư viện chuẩn Python** (Standard Library), không phụ thuộc package ngoài:
|
|
312
317
|
|
|
313
318
|
```bash
|
|
314
319
|
# 1. Chẩn đoán môi trường hệ thống (Node, Python, Chrome, Git)
|
|
315
320
|
npx synapse-hub doctor
|
|
316
321
|
|
|
317
|
-
# 2. Kiểm tra
|
|
322
|
+
# 2. Kiểm tra 10 Cổng Chất Lượng DoD (Gate 0–9)
|
|
318
323
|
npx synapse-hub verify
|
|
319
324
|
|
|
320
325
|
# 3. Quét phát hiện test pass ảo và ngoại lệ bị bỏ qua ngầm
|
|
@@ -331,6 +336,21 @@ npx synapse-hub mutate ./tests
|
|
|
331
336
|
|
|
332
337
|
# 7. Dò tìm và cách ly test chập chờn (Flaky Tests)
|
|
333
338
|
npx synapse-hub flaky scan ./tests
|
|
339
|
+
|
|
340
|
+
# 8. Tra cứu thư viện PageClass lưu trữ vĩnh cửu (Voyager SkillVault)
|
|
341
|
+
python tools/skill_vault.py --query "table_pagination"
|
|
342
|
+
|
|
343
|
+
# 9. Tự động sửa lỗi kịch bản qua vòng lặp phản hồi Reflexion (K=3)
|
|
344
|
+
python tools/auto_heal_reflexion.py --test "TC_Checkout_01" --error "ElementClickInterceptedException"
|
|
345
|
+
|
|
346
|
+
# 10. Thẩm vấn và làm rõ yêu cầu nghiệp vụ mập mờ (Pocock Grilling)
|
|
347
|
+
python tools/interview_story.py "As a user I want to checkout"
|
|
348
|
+
|
|
349
|
+
# 11. Tối ưu câu lệnh assert chống mutant (TextGrad Optimizer)
|
|
350
|
+
python tools/textgrad_mutation_optimizer.py --file tests/test_login.py
|
|
351
|
+
|
|
352
|
+
# 12. Đo lường độ chính xác gọi tool của AI Agent (Gorilla BFCL Benchmark)
|
|
353
|
+
python tools/synapse_qa_bench.py
|
|
334
354
|
```
|
|
335
355
|
|
|
336
356
|
*(Xem toàn bộ hướng dẫn tham số chi tiết tại [docs/CLI_REFERENCE.md](docs/CLI_REFERENCE.md) và [tools/TOOLS_RUNBOOK.md](tools/TOOLS_RUNBOOK.md)).*
|
package/bin/agent-qa.js
CHANGED
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent-Skills Architecture & Design Principles
|
|
2
2
|
|
|
3
3
|
> **Scope:** Enterprise Multi-Agent QA Hub
|
|
4
|
-
> **Version:** `2.
|
|
4
|
+
> **Version:** `2.6.0` | **Status:** Active / Production Standard
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ The `agent-skills` repository functions as a centralized **Intelligence Core (Hu
|
|
|
12
12
|
```mermaid
|
|
13
13
|
flowchart TD
|
|
14
14
|
subgraph Hub["Agent-Skills Hub (Intelligence Core)"]
|
|
15
|
-
Catalog["
|
|
15
|
+
Catalog["42 Standardized Skills (.agents/skills)"]
|
|
16
16
|
Rules["Core Architectural Rules (.agents/rules)"]
|
|
17
17
|
Tools["Zero-Token Python Engine (tools/)"]
|
|
18
18
|
Swarm["6 Specialized Subagents (.agents/agents)"]
|
|
@@ -38,7 +38,7 @@ flowchart TD
|
|
|
38
38
|
|
|
39
39
|
## 2. Four-Tier Skill Stratification
|
|
40
40
|
|
|
41
|
-
The
|
|
41
|
+
The 42 skills in the hub are structured into four progressive operational tiers:
|
|
42
42
|
|
|
43
43
|
```mermaid
|
|
44
44
|
flowchart LR
|
|
@@ -69,9 +69,9 @@ Test automation scripts orchestrated through this Hub enforce strict Clean POM b
|
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
72
|
-
## 4. The
|
|
72
|
+
## 4. The 10 Quality Gates Definition-of-Done (DoD)
|
|
73
73
|
|
|
74
|
-
All automated test code authored, modified, or refactored by AI agents must pass through the deterministic
|
|
74
|
+
All automated test code authored, modified, or refactored by AI agents must pass through the deterministic 10 Quality Gates pipeline (`tools/verify_all.py`) prior to committing or merging:
|
|
75
75
|
|
|
76
76
|
| Gate | Title | Verifier Tool | Strict Acceptance Criteria |
|
|
77
77
|
| :---: | :--- | :--- | :--- |
|
|
@@ -84,6 +84,7 @@ All automated test code authored, modified, or refactored by AI agents must pass
|
|
|
84
84
|
| **Gate 6** | **Credential Security** | `verify_all.py` | AST regex scan blocking hardcoded passwords, private keys, and secret tokens in code. |
|
|
85
85
|
| **Gate 7** | **Static Defect & Fake-Pass Sentinel** | `infer_linter.py` | Detects 0-assertion tests, swallowed exception blocks (`except: pass`), hard sleeps, and unawaited promises. |
|
|
86
86
|
| **Gate 8** | **Assertion Sensitivity Sentinel** | `micro_mutator.py` | Syntactic micro-mutations linked via variable dataflow; requires Sensitivity Score $\ge 80\%$. |
|
|
87
|
+
| **Gate 9** | **Tier-2 Skill Routing & Collision Guard** | `skill_collision_guard.py` | Audits skill trigger descriptions and vectors; blocks ambiguous activation with semantic overlap $\ge 0.75$. |
|
|
87
88
|
|
|
88
89
|
---
|
|
89
90
|
|
|
@@ -99,12 +100,12 @@ The Hub equips 6 specialized subagents with scoped tool and skill permissions:
|
|
|
99
100
|
|
|
100
101
|
| Subagent Role | Primary Focus | Allowed Skills | Execution Tools |
|
|
101
102
|
| :--- | :--- | :--- | :--- |
|
|
102
|
-
| **`orchestrator`** | Task decomposition & governance | `agent-orchestration-multi-agent-optimize`, `graphify-impact-analyzer`, `architecture-decision-records`, `token-and-context-optimizer` | `verify_all.py`, `test_impact.py`, `setup_project.py` |
|
|
103
|
-
| **`pom-crafter`** | Clean POM design & test generation | `clean-pom-crafter`, `lam-script-generator`, `synthetic-test-data-generator`, `api-spec-to-e2e-matrix` | `lookup_xpath.py`, `repo_map.py`, `generate_tc_from_story.py` |
|
|
103
|
+
| **`orchestrator`** | Task decomposition & governance | `agent-orchestration-multi-agent-optimize`, `graphify-impact-analyzer`, `architecture-decision-records`, `token-and-context-optimizer` | `verify_all.py`, `test_impact.py`, `setup_project.py`, `interview_story.py`, `dspy_qa_signatures.py` |
|
|
104
|
+
| **`pom-crafter`** | Clean POM design & test generation | `clean-pom-crafter`, `lam-script-generator`, `synthetic-test-data-generator`, `api-spec-to-e2e-matrix` | `lookup_xpath.py`, `repo_map.py`, `generate_tc_from_story.py`, `skill_vault.py` |
|
|
104
105
|
| **`live-explorer`** | Live DOM & AOM exploration (<200ms) | `playwright-live-interaction`, `self-healing-locator`, `visual-regression-sentinel`, `api-network-mocking-interception` | `browser_helpers.js`, `e2e_flow_prober.ps1`, `safety_firewall.py` |
|
|
105
|
-
| **`test-runner`** | Headless CLI test execution & CI | `katalon-cli-runner`, `e2e-testing-patterns`, `flaky-test-sentinel-and-quarantine`, `backend-load-and-stress-patterns`, `github-actions-templates` | `matrix_sharder.py`, `distill_log.py`, `pinpoint_failure.py`, `flaky_detector.py` |
|
|
106
|
-
| **`failure-analyst`**| Visual & XML error autopsy | `failure-autopsy-and-healing`, `self-healing-locator`, `file-and-report-validator` | `auto_heal.py`, `heal_pr_automator.py`, `pinpoint_failure.py`, `cache_resolver.py` |
|
|
107
|
-
| **`quality-gatekeeper`**|
|
|
106
|
+
| **`test-runner`** | Headless CLI test execution & CI | `katalon-cli-runner`, `e2e-testing-patterns`, `flaky-test-sentinel-and-quarantine`, `backend-load-and-stress-patterns`, `github-actions-templates` | `matrix_sharder.py`, `distill_log.py`, `pinpoint_failure.py`, `flaky_detector.py`, `reversible_sandbox.py`, `synapse_qa_bench.py` |
|
|
107
|
+
| **`failure-analyst`**| Visual & XML error autopsy | `failure-autopsy-and-healing`, `self-healing-locator`, `file-and-report-validator` | `auto_heal.py`, `heal_pr_automator.py`, `pinpoint_failure.py`, `cache_resolver.py`, `auto_heal_reflexion.py` |
|
|
108
|
+
| **`quality-gatekeeper`**| 10 Gates DoD & Fake-Pass Sentinel | `antigravity-test-sentinel`, `code-refactoring-refactor-clean`, `wcag-audit-patterns`, `web-vitals-and-performance-profiler`, `security-dast-sentinel` | `verify_all.py`, `infer_linter.py`, `micro_mutator.py`, `trace_data_flow.py`, `skill_collision_guard.py`, `textgrad_mutation_optimizer.py` |
|
|
108
109
|
|
|
109
110
|
---
|
|
110
111
|
|
|
@@ -115,4 +116,31 @@ To ensure consistency across various distribution registries and developer inter
|
|
|
115
116
|
- **NPM Package & Antigravity Plugin:** `synapse-hub` (distributed on NPM Registry and Antigravity Marketplace)
|
|
116
117
|
- **Python Package & Universal CLI:** `agent-qa` (PEP 621 package on PyPI providing the `agent-qa` CLI binary)
|
|
117
118
|
- **MCP Server Protocol Services:** `enterprise-agent-qa` (Core QA MCP server) and `synapse-mcp-excel` (Excel tool server)
|
|
118
|
-
- **Skill Catalog Manifest:** `enterprise-agent-skills-hub` (internal catalog schema identifier in `skills_manifest.json`)
|
|
119
|
+
- **Skill Catalog Manifest:** `enterprise-agent-skills-hub` (internal catalog schema identifier in `skills_manifest.json`) and `agentskills.json` (AgentSkills v1 open standard)
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 7. Autonomous Agent Self-Evolution & Training Subsystems
|
|
124
|
+
|
|
125
|
+
To elevate AI testing beyond static prompt engineering, Synapse Hub incorporates 6 advanced agent training, compilation, and self-evolution mechanisms synthesized from modern agentic architectures:
|
|
126
|
+
|
|
127
|
+
```mermaid
|
|
128
|
+
flowchart TD
|
|
129
|
+
subgraph SelfEvolution["Autonomous Agent Self-Evolution Subsystem"]
|
|
130
|
+
Vault["<b>Voyager Lifelong Vault</b><br/>(skill_vault.py)<br/>• Verified PageClass SQLite memory<br/>• Zero repetitive prompt re-synthesis"]
|
|
131
|
+
Reflexion["<b>Episodic Reflexion Loop</b><br/>(auto_heal_reflexion.py)<br/>• K=3 trial-feedback learning<br/>• Self-healing without git pollution"]
|
|
132
|
+
DSPy["<b>DSPy Declarative QA Engine</b><br/>(dspy_qa_signatures.py)<br/>• Typed QA signatures<br/>• Eliminates brittle prompt hacking"]
|
|
133
|
+
TextGrad["<b>TextGrad Mutation Loss</b><br/>(textgrad_mutation_optimizer.py)<br/>• AST mutants as loss function<br/>• Optimizes assertions to score ≥ 80%"]
|
|
134
|
+
Reversible["<b>GoEx Reversible Sandbox</b><br/>(reversible_sandbox.py)<br/>• LIFO undo execution stack<br/>• Zero leftover test debris"]
|
|
135
|
+
Bench["<b>Gorilla BFCL Benchmark</b><br/>(synapse_qa_bench.py)<br/>• Evaluates function calling fidelity<br/>• Prevents agent regression"]
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
Vault --> DSPy --> TextGrad --> Reversible --> Reflexion --> Bench
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
1. **Lifelong Skill Memory (`skill_vault.py`):** Inspired by Voyager, stores verified POM methods and complex interaction patterns in permanent SQLite memory, growing the agent's capability with every run.
|
|
142
|
+
2. **Episodic Trial-Feedback (`auto_heal_reflexion.py`):** Implements Noah Shinn's Reflexion framework, enabling agents to evaluate test failure traces across $K=3$ iterations, generating textual self-reflection to correct locator strategies.
|
|
143
|
+
3. **Declarative Signature Compilation (`dspy_qa_signatures.py`):** Adheres to Stanford DSPy principles, compiling prompt templates into structured, typed input-output signatures.
|
|
144
|
+
4. **Mutant-Directed Loss Optimization (`textgrad_mutation_optimizer.py`):** Treats surviving AST mutants as a loss function (TextGrad), iteratively refining assertion logic until all mutants are killed.
|
|
145
|
+
5. **Reversible Execution Teardown (`reversible_sandbox.py`):** Implements GoEx-style reversible rollback stacks for filesystem and database mutations during automated exploratory runs.
|
|
146
|
+
6. **Tool Function Calling Benchmark (`synapse_qa_bench.py`):** Implements Berkeley Function-Calling Leaderboard (BFCL) standards for enterprise QA tools, benchmarking tool selection precision and multi-turn execution accuracy.
|
package/docs/CLI_REFERENCE.md
CHANGED
|
@@ -12,7 +12,7 @@ When installed via `pip install -e .`, the `agent-qa` command is globally access
|
|
|
12
12
|
agent-qa <command> [options]
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
### Supported Commands (
|
|
15
|
+
### Supported Commands (53 Subcommands)
|
|
16
16
|
|
|
17
17
|
#### A. Core Quality & DoD Gates
|
|
18
18
|
| Command | Subsystem | Description | Example |
|
|
@@ -24,6 +24,8 @@ agent-qa <command> [options]
|
|
|
24
24
|
| `wcag-audit` | Accessibility | WCAG 2.2 accessibility conformance and contrast auditor | `synapse-hub wcag-audit ./reports/WELCOME.html` |
|
|
25
25
|
| `trace-data-flow` | Data Flow | Taint analysis tracing test data lifecycles to detect DB leaks | `synapse-hub trace-data-flow ./tests` |
|
|
26
26
|
| `verify-author` | Provenance Guard | Validates canonical author attribution watermark | `synapse-hub verify-author` |
|
|
27
|
+
| `debt` | Technical Debt | Harvests `shortcut:` annotations across repo into markdown ledger | `synapse-hub debt` |
|
|
28
|
+
| `review` | Senior Review | 6-pillar code change review (Bugs, Security, Scale, Tests, Speed, Bloat) | `synapse-hub review` |
|
|
27
29
|
|
|
28
30
|
#### B. Diagnostics, Onboarding & Visual Landing
|
|
29
31
|
| Command | Subsystem | Description | Example |
|
|
@@ -137,6 +139,18 @@ python tools/cache_resolver.py record-failed --error "StaleElement" --patch "sle
|
|
|
137
139
|
python tools/distill_log.py execution.log
|
|
138
140
|
```
|
|
139
141
|
|
|
142
|
+
### 2.5. Technical Debt Harvester
|
|
143
|
+
```bash
|
|
144
|
+
python tools/debt_harvester.py --scan
|
|
145
|
+
python tools/debt_harvester.py --scan ./src --output DEBT_LEDGER.md
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 2.6. Senior Code Reviewer (6 Pillars)
|
|
149
|
+
```bash
|
|
150
|
+
python tools/senior_code_review.py
|
|
151
|
+
python tools/senior_code_review.py --staged
|
|
152
|
+
```
|
|
153
|
+
|
|
140
154
|
---
|
|
141
155
|
|
|
142
156
|
## 3. Standard Exit Code Specification & Terminal Environment
|
|
@@ -85,3 +85,12 @@ Local model gateway (default `127.0.0.1:3456`) with routing, retry, failover, an
|
|
|
85
85
|
|
|
86
86
|
- **Security note:** it is a man-in-the-middle for API keys — run strictly local, never expose the port, and audit its config before pointing production credentials at it.
|
|
87
87
|
- Hub use: route mechanical subagent work to cheaper models while keeping strong models for synthesis/review; its request logs match the hub telemetry fields (token in/out, cost).
|
|
88
|
+
|
|
89
|
+
## 9. ponytail (DietrichGebert/ponytail) — MIT
|
|
90
|
+
|
|
91
|
+
Lazy senior developer plugin for Claude Code and agentic coding workflows.
|
|
92
|
+
|
|
93
|
+
- **Provenance:** Created by DietrichGebert (<https://github.com/DietrichGebert/ponytail>) under the MIT License.
|
|
94
|
+
- **Hub Inspiration:** Core concepts adapted into Synapse-Hub include the 7-rung reuse ladder (`lean-code-ladder`), technical debt harvesting (`technical-debt-harvester` & `tools/debt_harvester.py`), 6-pillar code review (`senior-code-review` & `tools/senior_code_review.py`), and whole-repo audit (`repo-quality-audit`).
|
|
95
|
+
- **Hub Adaptations:** Re-scoped specifically for enterprise automated testing suites, Clean POM architecture, and 0-token AST verification.
|
|
96
|
+
|