synapse-hub 2.7.0 → 3.0.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/live-explorer.md +2 -0
- package/.agents/agents/pom-crafter.md +2 -0
- package/.agents/agents/test-runner.md +3 -0
- package/.agents/skills/lean-impact-scoreboard/SKILL.md +1 -1
- package/.agents/skills/repo-quality-audit/SKILL.md +1 -1
- package/.agents/skills/review-spec/SKILL.md +1 -1
- package/.agents/skills/senior-code-review/SKILL.md +1 -1
- package/.agents/skills/technical-debt-harvester/SKILL.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.en.md +70 -291
- package/README.md +68 -303
- package/docs/ARCHITECTURE.md +48 -2
- package/docs/CONTRIBUTING.md +1 -1
- package/docs/QUALITY_GATES.md +113 -0
- package/package.json +1 -1
- package/scripts/package_dist.py +2 -1
- package/skills_manifest.json +6 -6
- package/synapse.config.json +1 -1
- package/templates/ai_bridges/CLAUDE.md +1 -1
- package/templates/ai_bridges/copilot-instructions.md +2 -2
- package/tools/__init__.py +18 -1
- package/tools/_openapi_parser.py +1 -1
- package/tools/agent_canary.py +42 -30
- package/tools/agentless_patcher.py +2 -2
- package/tools/analyze_project.py +3 -5
- package/tools/api_drift_sentinel.py +4 -4
- package/tools/api_fuzzer.py +8 -8
- package/tools/auto_heal.py +4 -5
- package/tools/auto_heal_reflexion.py +2 -2
- package/tools/autogen_qa_broker.py +2 -2
- package/tools/browser_helpers.js +2 -2
- package/tools/browsergym_eval.py +2 -3
- package/tools/bug_reporter.py +11 -13
- package/tools/bump_version.py +75 -5
- package/tools/cache_resolver.py +78 -83
- package/tools/check_env.py +9 -1
- package/tools/check_version_sync.py +40 -3
- package/tools/ci_healing_hook.py +4 -6
- package/tools/cli.py +5 -7
- package/tools/config_decoupler.py +2 -3
- package/tools/core/__init__.py +52 -0
- package/tools/count_tokens.py +22 -20
- package/tools/dashboard_generator.py +627 -998
- package/tools/db_sandbox.py +65 -53
- package/tools/debt_harvester.py +3 -3
- package/tools/distill_log.py +3 -3
- package/tools/dspy_qa_signatures.py +3 -4
- package/tools/export_postman_collection.py +8 -8
- package/tools/flaky_detector.py +2 -2
- package/tools/fuzz_payloads.py +5 -5
- package/tools/generate_allure_report.py +1 -1
- package/tools/generate_jmx_plan.py +4 -4
- package/tools/gherkin_suite.py +1 -1
- package/tools/git_pre_commit_guard.py +2 -2
- package/tools/goldfish_review.py +2 -2
- package/tools/heal/__init__.py +28 -0
- package/tools/heal_pr_automator.py +6 -6
- package/tools/heuristic_locator_matcher.py +2 -2
- package/tools/infer_linter.py +8 -8
- package/tools/interview_story.py +0 -1
- package/tools/jtl_analyzer.py +11 -11
- package/tools/lint/__init__.py +30 -0
- package/tools/lint_ai_docs.py +42 -0
- package/tools/lookup_tc.py +1 -1
- package/tools/matrix_sharder.py +15 -13
- package/tools/mcp/__init__.py +16 -0
- package/tools/mcp_excel_server.py +2 -2
- package/tools/mcp_server.py +3 -4
- package/tools/md_to_xlsx.py +26 -26
- package/tools/micro_mutator.py +11 -12
- package/tools/network_mock_shield.py +27 -27
- package/tools/newman_analyzer.py +2 -3
- package/tools/omni_emitter.py +5 -8
- package/tools/omni_parser.py +5 -5
- package/tools/omni_transpiler.py +5 -5
- package/tools/output_formatter.py +19 -0
- package/tools/perf/__init__.py +24 -0
- package/tools/pinpoint_failure.py +1 -1
- package/tools/project_state.py +0 -2
- package/tools/qa_event_stream.py +1 -1
- package/tools/repo_map.py +8 -8
- package/tools/report/__init__.py +32 -0
- package/tools/reversible_sandbox.py +1 -2
- package/tools/safety_firewall.py +2 -2
- package/tools/senior_code_review.py +2 -2
- package/tools/setup_project.py +10 -12
- package/tools/skill_collision_guard.py +3 -3
- package/tools/skill_vault.py +12 -3
- package/tools/skillspector.py +5 -7
- package/tools/smart_visual_masker.py +4 -6
- package/tools/spec_drift_sentinel.py +1 -2
- package/tools/swe_qa_aci.py +2 -2
- package/tools/synapse_qa_bench.py +3 -3
- package/tools/sync_agent_rules.py +17 -3
- package/tools/telemetry_correlator.py +3 -2
- package/tools/test_memory_os.py +15 -5
- package/tools/textgrad_mutation_optimizer.py +3 -3
- package/tools/tms_sync_bridge.py +5 -5
- package/tools/tot_exploratory_tester.py +5 -6
- package/tools/traffic_session_converter.py +9 -9
- package/tools/universal_ir.py +2 -3
- package/tools/update_sentinel.py +6 -9
- package/tools/verify_all.py +10 -0
- package/tools/visual_diff_canvas.py +1 -2
- package/tools/visual_som_helper.py +15 -13
- package/tools/watch_mode.py +1 -1
- package/tools/wcag_audit.py +22 -1
- package/tools/welcome_page.py +5 -6
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# 🧠 Synapse Hub — AI Test Quality Linter & Guardrails
|
|
1
|
+
# 🧠 Synapse Hub — AI Test Quality Linter & Guardrails
|
|
2
|
+
|
|
2
3
|
### *Bộ Linter & Chốt Chặn Chất Lượng Test Dành Cho Thời Đại AI Viết Code*
|
|
3
4
|
|
|
4
5
|
[🇻🇳 Tiếng Việt](README.md) | [🇬🇧 English Edition](README.en.md)
|
|
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 —
|
|
7
|
-
> **
|
|
8
|
-
> **
|
|
9
|
-
> **Phiên bản Hub:** `v2.7.0` | **Quy mô:** 51 Kỹ năng chuẩn hóa, 6 Vai trò AI Agent, 76 Lệnh CLI & 76+ Công cụ kiểm thử chuyên sâu, 10 Cổng kiểm định DoD.
|
|
7
|
+
> **Đị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 — Tự động bắt 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.
|
|
8
|
+
> **Tác giả:** Thế Vị ([@TeeVee998](https://github.com/TeeVee998)) | **Giấy phép:** MIT License
|
|
9
|
+
> **Phiên bản:** `v2.9.0` | **Quy mô:** 51 Kỹ năng QA, 6 Vai trò AI Agent, 10 Cổng kiểm định DoD.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/synapse-hub)
|
|
12
12
|
[](https://nodejs.org)
|
|
@@ -16,350 +16,115 @@
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
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 42 kỹ năng, linter và công cụ, **không phải** là dự án kiểm thử của bạn.
|
|
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
|
-
> 👉 Để 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
|
-
> `npx synapse-hub setup` *(hoặc đứng từ đây trỏ đường dẫn: `npx synapse-hub setup --target ../du-an-cua-ban`)*.
|
|
26
|
-
|
|
27
|
-
Bạn có thể sử dụng Synapse Hub theo **2 cách cực kỳ linh hoạt**:
|
|
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
|
-
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.
|
|
19
|
+
## 💡 Synapse Hub Giải Quyết Vấn Đề Gì?
|
|
30
20
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
#### ⚖️ Trước & Sau khi có Synapse Hub bảo vệ:
|
|
21
|
+
Khi lập trình viên và QA dùng AI (Cursor, Copilot, Claude Code, Antigravity) để viết test tự động, AI thường sinh ra mã kiểm thử có vấn đề:
|
|
34
22
|
|
|
35
23
|
| Khi để AI tự viết test (Chưa có Synapse) | Khi có Synapse Hub gác cổng 🛡️ |
|
|
36
24
|
| :--- | :--- |
|
|
37
|
-
| ❌ **Test "pass ảo":** Chạy xanh
|
|
38
|
-
| ❌ **Dùng sleep cứng:** Chèn `sleep(5000)`
|
|
39
|
-
| ❌ **Tràn context AI:** Log CI dài 20.000 dòng làm AI
|
|
40
|
-
| ❌ **Thủng bảo mật:** AI vô tình commit
|
|
25
|
+
| ❌ **Test "pass ảo":** Chạy xanh nhưng có **0 câu lệnh assert**, không kiểm tra gì cả. | ✅ **Phát hiện trong 0.1s:** Báo lỗi test rỗng, bắt buộc assertion có ý nghĩa. |
|
|
26
|
+
| ❌ **Dùng sleep cứng:** Chèn `sleep(5000)` bừa bãi làm test chậm và flaky trên CI. | ✅ **Ép dùng Smart Wait:** Tự động phát hiện và hướng dẫn thay thế smart wait. |
|
|
27
|
+
| ❌ **Tràn context AI:** Log CI dài 20.000 dòng làm AI quá tải, tốn token vô ích. | ✅ **Nén sạch 95% log:** Cô đọng còn ~30 dòng stacktrace nguyên nhân gốc. |
|
|
28
|
+
| ❌ **Thủng bảo mật:** AI vô tình commit mật khẩu hoặc API token dạng plaintext. | ✅ **Chốt chặn Gate 6:** Quét và chặn đứng chuỗi nhạy cảm trước khi commit. |
|
|
41
29
|
|
|
42
30
|
---
|
|
43
31
|
|
|
44
|
-
## ⚡
|
|
32
|
+
## ⚡ Bắt Đầu Nhanh Trong 60 Giây (1 Lệnh Khởi Chạy 🚀)
|
|
45
33
|
|
|
46
|
-
|
|
34
|
+
Bạn **không cần học hay ghi nhớ** 51 kỹ năng hay các công cụ bên trong. Synapse Hub hoạt động tự động khi cần:
|
|
47
35
|
|
|
48
|
-
### 🔍 1. Phát Hiện Test "Pass Ảo", Sleep Cố Định & Bỏ Qua Lỗi Ngầm
|
|
49
36
|
```bash
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* **Vấn đề:** AI viết test thường tạo ra các bài test chạy pass bề ngoài nhưng không kiểm tra gì (0 assert), dùng `Thread.sleep` làm test chậm và flaky, hoặc dùng `try-catch` rỗng bỏ qua ngoại lệ ngầm.
|
|
53
|
-
* **Giải pháp:** Phân tích tĩnh heuristic & AST đa ngôn ngữ (Playwright TypeScript/JavaScript, Pytest Python, Cypress, Groovy/Katalon), phát hiện và báo lỗi ngay lập tức mà không tốn token gọi API LLM.
|
|
37
|
+
# 1. Chẩn đoán môi trường hệ thống (Node, Python, Chrome, Git):
|
|
38
|
+
npx synapse-hub doctor
|
|
54
39
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
npx synapse-hub export-excel
|
|
58
|
-
```
|
|
59
|
-
* **Vấn đề:** Tester tốn nhiều giờ định dạng bảng tính Excel thủ công từ User Story hoặc kịch bản Markdown.
|
|
60
|
-
* **Giải pháp:** Chuyển đổi tự động kịch bản thành file Excel `.xlsx` chuẩn 12 cột, có sẵn ma trận rủi ro P × I, định dạng màu sắc chuyên nghiệp sẵn sàng gửi cho khách hàng và PM.
|
|
40
|
+
# 2. Kích hoạt bảo vệ dự án kiểm thử của bạn (Playwright, Pytest, Cypress, Katalon):
|
|
41
|
+
npx synapse-hub setup --target /duong-dan/toi/du-an-test
|
|
61
42
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
npx synapse-hub distill path/to/ci.log
|
|
65
|
-
```
|
|
66
|
-
* **Vấn đề:** Log build CI/CD dài hàng chục ngàn dòng làm tràn context của AI hoặc khiến kỹ sư mỏi mắt tìm dòng lỗi.
|
|
67
|
-
* **Giải pháp:** Lọc bỏ 95% nhiễu thông tin, cô đọng lại ~30 dòng chứa đúng stacktrace, mã lỗi và kịch bản thất bại.
|
|
43
|
+
# 3. Quét lỗi test pass ảo & sleep cứng ngay lập tức:
|
|
44
|
+
npx synapse-hub lint ./tests
|
|
68
45
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
$ npx synapse-hub lint ./tests
|
|
72
|
-
|
|
73
|
-
======================================================================
|
|
74
|
-
ENTERPRISE STATIC DEFECT & FAKE-PASS SENTINEL
|
|
75
|
-
======================================================================
|
|
76
|
-
Target Scope : 6 Test Scripts (Polyglot TS/Python/Groovy)
|
|
77
|
-
Detected Items:
|
|
78
|
-
- [CRITICAL] tests/checkout.spec.ts:42 - Fake-pass risk: Test contains 0 assertions!
|
|
79
|
-
- [CRITICAL] tests/login.spec.ts:14 - Hardcoded sleep (5000ms) detected. Replace with dynamic wait.
|
|
80
|
-
======================================================================
|
|
81
|
-
Result: 2 anti-patterns flagged in 0.12s (Zero LLM tokens used).
|
|
46
|
+
# 4. Kiểm định 10 Cổng Chất Lượng DoD trước khi đẩy code:
|
|
47
|
+
npx synapse-hub verify
|
|
82
48
|
```
|
|
83
49
|
|
|
84
|
-
|
|
50
|
+
> 💡 **Mẹo:** Cài đặt toàn cục để gõ trực tiếp `synapse-hub <lệnh>` không cần tiền tố `npx`:
|
|
51
|
+
> `npm install -g synapse-hub` (hoặc qua Python: `pip install agent-qa`)
|
|
85
52
|
|
|
86
|
-
|
|
53
|
+
---
|
|
87
54
|
|
|
88
|
-
|
|
55
|
+
## 🛠️ Các Lệnh CLI Cốt Lõi Hàng Ngày
|
|
89
56
|
|
|
90
57
|
```bash
|
|
91
|
-
#
|
|
92
|
-
|
|
58
|
+
# Bắt test pass ảo, sleep cố định, try-catch nuốt lỗi (đa ngôn ngữ TS/JS, Python, Groovy):
|
|
59
|
+
synapse-hub lint ./tests
|
|
93
60
|
|
|
94
|
-
#
|
|
95
|
-
|
|
96
|
-
synapse-hub doctor
|
|
61
|
+
# Chạy toàn diện 10 Cổng Kiểm Định DoD (Definition of Done):
|
|
62
|
+
synapse-hub verify
|
|
97
63
|
|
|
98
|
-
#
|
|
99
|
-
|
|
64
|
+
# Chẩn đoán và xuất báo cáo sức khỏe dự án (PROJECT_HEALTH_REPORT.md):
|
|
65
|
+
synapse-hub analyze
|
|
100
66
|
|
|
101
|
-
#
|
|
102
|
-
|
|
67
|
+
# Nén 95% log CI thừa — lọc đúng nguyên nhân gốc rễ và stacktrace:
|
|
68
|
+
synapse-hub distill path/to/ci.log
|
|
103
69
|
|
|
104
|
-
#
|
|
105
|
-
|
|
70
|
+
# Xuất User Story thành file Excel chuẩn 12 cột kèm ma trận rủi ro:
|
|
71
|
+
synapse-hub export-excel
|
|
106
72
|
|
|
107
|
-
#
|
|
108
|
-
|
|
73
|
+
# Đo độ nhạy của các câu lệnh assert (Micro-Mutation testing ~0.1s):
|
|
74
|
+
synapse-hub mutate ./tests
|
|
109
75
|
```
|
|
110
76
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 🛡️ 10 Cổng Kiểm Định Chất Lượng (DoD Gates)
|
|
80
|
+
|
|
81
|
+
Mọi thay đổi mã nguồn kiểm thử đều được kiểm chứng qua 10 Cổng Chất Lượng trước khi merge PR:
|
|
82
|
+
|
|
83
|
+
- **Gate 0:** Bảo Toàn Tác Quyền & MIT License Provenance
|
|
84
|
+
- **Gate 1:** Mã Hóa Chuẩn 100% UTF-8 No BOM (Zero byte rác)
|
|
85
|
+
- **Gate 2:** Đường Dẫn Linh Hoạt (Zero hardcoded absolute paths)
|
|
86
|
+
- **Gate 3:** Kiến Trúc Clean POM Phẳng (Zero locator trong test script)
|
|
87
|
+
- **Gate 4:** Chống Lệch Tài Liệu AI (Zero hallucinated PageClasses)
|
|
88
|
+
- **Gate 5:** Danh Sách Đen File Tạm (Zero `.tmp`, heap dump làm bẩn git)
|
|
89
|
+
- **Gate 6:** Bảo Vệ Bí Mật & Mật Khẩu (Zero hardcoded credentials)
|
|
90
|
+
- **Gate 7:** Quét Lỗi Tĩnh & Bắt Test Pass Ảo (Zero 0-assert, zero sleep)
|
|
91
|
+
- **Gate 8:** Đo Độ Nhạy Assert Micro-Mutation (Mutation Score $\ge 80\%$)
|
|
92
|
+
- **Gate 9:** Điều Phối Kỹ Năng & Ngăn Xung Đột (Similarity $< 0.75$)
|
|
116
93
|
|
|
117
|
-
|
|
118
|
-
|
|
94
|
+
*(Xem chi tiết tiêu chuẩn, mã lỗi và cách khắc phục tại [docs/QUALITY_GATES.md](docs/QUALITY_GATES.md)).*
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 🔄 Tích Hợp CI/CD & Pre-commit Hook
|
|
119
99
|
|
|
120
100
|
```yaml
|
|
121
|
-
#
|
|
101
|
+
# GitHub Actions (.github/workflows/verify.yml):
|
|
122
102
|
- name: Run Synapse Hub Quality Gates
|
|
123
103
|
uses: TeeVee998/Synapse-Hub@v2
|
|
124
104
|
with:
|
|
125
105
|
mode: 'target'
|
|
126
|
-
format: 'sarif'
|
|
127
106
|
|
|
128
|
-
#
|
|
107
|
+
# Hoặc chạy trực tiếp trên bất kỳ CI nào (GitLab, Bitbucket, Jenkins):
|
|
129
108
|
- name: Run Synapse Hub Quality Gates
|
|
130
109
|
run: npx synapse-hub verify
|
|
131
110
|
```
|
|
132
111
|
|
|
133
112
|
```yaml
|
|
134
|
-
#
|
|
113
|
+
# Pre-commit hook (.pre-commit-config.yaml):
|
|
135
114
|
repos:
|
|
136
115
|
- repo: https://github.com/TeeVee998/Synapse-Hub
|
|
137
|
-
rev:
|
|
116
|
+
rev: v3.0.0
|
|
138
117
|
hooks:
|
|
139
118
|
- id: synapse-lint
|
|
140
119
|
- id: synapse-verify
|
|
141
120
|
```
|
|
142
|
-
*(Cấu hình linh hoạt qua file `synapse.config.json` ở thư mục gốc. Xem hướng dẫn chi tiết tại [docs/CI_CD_INTEGRATION.md](docs/CI_CD_INTEGRATION.md)).*
|
|
143
|
-
|
|
144
|
-
| Cổng | Tên cổng kiểm soát | Mục tiêu kiểm định thực tế |
|
|
145
|
-
| :---: | :--- | :--- |
|
|
146
|
-
| **Gate 0** | **Bảo Toàn Tác Quyền & MIT** | Xác thực nguồn gốc tác quyền Thế Vị (@TeeVee998) theo MIT License. |
|
|
147
|
-
| **Gate 1** | **Mã Hóa UTF-8 No BOM** | Quét sạch 100% byte BOM và lỗi vỡ ký tự font chữ trên toàn repository. |
|
|
148
|
-
| **Gate 2** | **Đường Dẫn Linh Hoạt (Portability)** | Không gắn cứng đường dẫn máy cá nhân (`/Users/...`, `C:\...`), đảm bảo chạy mượt trên mọi môi trường. |
|
|
149
|
-
| **Gate 3** | **Kiến Trúc Clean POM Phẳng** | Đóng gói 100% locator vào Page Class, cấm raw XPath/CSS trong kịch bản test. |
|
|
150
|
-
| **Gate 4** | **Chống Lệch Tài Liệu AI (Anti-Drift)** | Đối chiếu AST thực tế với `PROJECT_AI_GUIDE.md`, loại bỏ PageClass ảo. |
|
|
151
|
-
| **Gate 5** | **Danh Sách Đen File Tạm** | Chặn rò rỉ file rác (`*.tmp`, memory dump, cache thừa) làm bẩn workspace. |
|
|
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
|
-
| **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
|
-
| **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). |
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## 🎯 3. Lộ Trình Theo Trình Độ (Tailored For Every Level)
|
|
160
|
-
|
|
161
|
-
| Trình độ | Điều bạn cần | Điểm chạm phù hợp trong Synapse Hub |
|
|
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/`. |
|
|
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. |
|
|
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. |
|
|
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`.*
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 💎 4. Kiến Trúc & Các Trụ Cột Kỹ Thuật
|
|
172
|
-
|
|
173
|
-
```mermaid
|
|
174
|
-
flowchart TD
|
|
175
|
-
subgraph Hub["🧠 Synapse Hub (Core v2.4.0)"]
|
|
176
|
-
Skills[".agents/skills/ (51 Skills)"]
|
|
177
|
-
Agents[".agents/agents/ (6 Specialized Roles)"]
|
|
178
|
-
Rules[".agents/rules/ (11 Core Rules)"]
|
|
179
|
-
Tools["tools/ (60+ Universal Python Tools)"]
|
|
180
|
-
Workflows[".agents/workflows/ (10 Workflows)"]
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
subgraph ChatSession["💬 AI Agent Workspace / IDE"]
|
|
184
|
-
Hub -->|Mount / Plugins| ChatSession
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
subgraph Projects["📁 Dự Án Kiểm Thử Mục Tiêu"]
|
|
188
|
-
ProjectA["Playwright (TS/JS)"]
|
|
189
|
-
ProjectB["Pytest (Python)"]
|
|
190
|
-
ProjectC["Cypress / Katalon"]
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
ProjectA -->|Verify & Lint| ChatSession
|
|
194
|
-
ProjectB -->|Verify & Lint| ChatSession
|
|
195
|
-
ProjectC -->|Verify & Lint| ChatSession
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### 🧠 Trụ cột 1: Chống Pass Ảo & Kiểm Tra Độ Nhạy Assertion (Heuristic)
|
|
199
|
-
- **Static Defect Sentinel (`tools/infer_linter.py`):** Dò tìm các mẫu phản quy chuẩn (anti-patterns) như test thiếu assertion, catch bỏ qua ngoại lệ ngầm, sleep cố định, unawaited Playwright assertions. Đạt độ chính xác cao trên tập benchmark mẫu.
|
|
200
|
-
- **Assertion Sensitivity Sentinel (`tools/micro_mutator.py`):** Tiêm đột biến cú pháp nhẹ (đảo toán tử so sánh, đảo logic boolean) để kiểm tra xem các assertion bên dưới có bắt được lỗi hay không. Bắt buộc độ nhạy assertion ≥ 80% để pass Gate 8.
|
|
201
|
-
|
|
202
|
-
### ⚡ Trụ cột 2: Tối Ưu Hóa Ngữ Cảnh & Tiết Kiệm Token
|
|
203
|
-
- **Lọc Log Thông Minh (`tools/distill_log.py`):** Rút gọn log CI cồng kềnh, đưa đúng thông tin stacktrace vào context của LLM.
|
|
204
|
-
- **AST Method Mapping (`tools/repo_map.py`):** Quét chữ ký hàm và cấu trúc lớp Page Object vào bản đồ nén < 600 tokens; agent không cần đọc toàn bộ mã nguồn lớn.
|
|
205
|
-
- **Bộ Nhớ Lỗi Cục Bộ (`tools/cache_resolver.py`):** Lưu trữ kinh nghiệm sửa lỗi ngoại tuyến vào SQLite tại `~/.agent_memory/global_cache.db` (truy xuất 0 token).
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## ⚖️ 5. So Sánh Minh Bạch & Giới Hạn Kỹ Thuật Đã Biết (Comparison & Limitations)
|
|
210
|
-
|
|
211
|
-
### 📊 Bảng so sánh với các công cụ hiện có trong ngành
|
|
212
|
-
|
|
213
|
-
| Tiêu chí / Giải pháp | ESLint Plugin (Playwright) | Stryker Mutator | Allure Report | Healenium | Synapse Hub 🧠 |
|
|
214
|
-
| :--- | :---: | :---: | :---: | :---: | :---: |
|
|
215
|
-
| **Phạm vi ngôn ngữ** | Chỉ JS / TS | JS / TS, C#, Scala | Mọi ngôn ngữ (nhận XML) | Java / Python / C# (Selenium) | **Đa ngôn ngữ** (TS/JS, Python, Groovy, Java) |
|
|
216
|
-
| **Tích hợp sâu trong Agent Context** | ❌ (Chỉ chạy CLI/IDE) | ❌ (Chạy độc lập) | ❌ (Viewer sau test) | ❌ (Proxy trung gian) | ✅ **NATIVE** (Rule, MCP, Prompt Context, 6 Subagents) |
|
|
217
|
-
| **Diệt Fake-Pass do AI sinh ra** | ⚠️ Hạn chế (chỉ check lint cú pháp) | ❌ Không (chỉ đột biến code app) | ❌ Không | ❌ Không | ✅ **Chuyên biệt** (AST nhận diện 0 assert, try-catch bỏ qua ngoại lệ ngầm, tautology) |
|
|
218
|
-
| **Thời gian chạy Mutation Check** | N/A | ⏱️ Chậm (vài phút đến hàng giờ) | N/A | N/A | ⚡ **Siêu tốc (~0.1s)** với AST Micro-Mutator trước khi commit |
|
|
219
|
-
| **Tự chữa Locator (Self-Healing)** | ❌ | ❌ | ❌ | ⚠️ Cần Server JVM + Docker proxy | ⚡ **Nhẹ (< 500 tokens)** dựa trên AOM Diffing trong luồng Agent |
|
|
220
|
-
| **Tiết kiệm Token & Lọc Log CI** | ❌ | ❌ | ❌ | ❌ | ✅ **Cắt giảm 95%** log thừa (`distill_log.py`, `repo_map.py`) |
|
|
221
|
-
| **Bảo vệ chuẩn kiến trúc Clean POM** | ❌ | ❌ | ❌ | ❌ | ✅ **Bắt buộc Clean POM**, Flat Architecture, cấm selector trong script |
|
|
222
|
-
|
|
223
|
-
### ⚠️ Giới hạn kỹ thuật đã biết (Known Limitations)
|
|
224
|
-
|
|
225
|
-
Để duy trì tính minh bạch kỹ thuật (**Truth Anchor**), Synapse Hub công khai các giới hạn thực tế:
|
|
226
|
-
|
|
227
|
-
1. **Kiểm tra độ nhạy Assert qua AST tĩnh (Không phải Mutation Testing toàn diện runtime):**
|
|
228
|
-
Công cụ `tools/micro_mutator.py` sử dụng phương pháp phân tích cú pháp tĩnh siêu nhanh (~0.1s) để kiểm tra xem câu lệnh assert có bắt được lỗi khi mã bị sửa đổi hay không. Nó giúp bạn phát hiện ngay các assert "vô thưởng vô phạt" mà không làm chậm máy, nhưng **không thay thế** các công cụ kiểm thử đột biến cấp runtime biên dịch (như Stryker cho JS/TS hoặc mutmut cho Python). Khi dự án yêu cầu báo cáo Mutation Testing chuẩn công nghiệp cho toàn bộ runtime, hãy sử dụng các công cụ chuyên dụng tương ứng.
|
|
229
|
-
2. **Số Liệu Kiểm Chứng & Benchmark Thực Nghiệm (`benchmarks/qa_eval`):**
|
|
230
|
-
Kết quả đo kiểm trên 25 thử thách thực tế đa ngôn ngữ (Groovy, TypeScript, Python, Java) đạt:
|
|
231
|
-
- **Tỷ lệ giải quyết tự động:** 25 / 25 thử thách (100.0%).
|
|
232
|
-
- **Chi phí Token trung bình:** 76.2 tokens / bug (tiết kiệm 95% ngữ cảnh so với quét toàn bộ repo).
|
|
233
|
-
- **Độ nhạy kiểm thử đột biến (Mutation Score):** 100.0% mutant bị bắt hạ.
|
|
234
|
-
- **Độ chính xác Fake-Pass Sentinel (`infer_linter.py`):** **100.0% Precision** (0 báo động giả), **95.7% Recall**, **97.8% F1-Score** trên 51 mẫu corpus độc lập.
|
|
235
|
-
3. **Phạm Vi Hỗ Trợ Framework & Công Nghệ:**
|
|
236
|
-
Hệ thống cung cấp runner và adapter trực tiếp cho **Playwright, Pytest, Katalon Studio/Groovy, và Cypress**. Đối với **Selenium WebDriver**, hệ thống hỗ trợ chuẩn kiến trúc Clean POM, smart-wait patterns và universal IR transpilation; người dùng có thể áp dụng cấu trúc này vào các dự án Selenium hiện có.
|
|
237
|
-
4. **Môi Trường Runtime Khuyến Nghị:**
|
|
238
|
-
- Node.js: `>= 18.0.0` (Khuyến nghị Node.js 20 hoặc 22 LTS).
|
|
239
|
-
- Python: `>= 3.9` (Khuyến nghị Python 3.10+; hỗ trợ đầy đủ Python 3.10, 3.11, 3.12, 3.13).
|
|
240
|
-
5. **Yêu Cầu Môi Trường Headless Browser:**
|
|
241
|
-
Các tính năng khảo sát trực tiếp live DOM/AOM và self-healing locator yêu cầu môi trường có cài đặt trình duyệt headless (như Playwright Chromium) để trích xuất cây khả năng truy cập (Accessibility Object Model).
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## 👥 6. Hệ Thống Multi-Agent Swarm (6 Vai Trò Chuyên Biệt)
|
|
246
|
-
|
|
247
|
-
| Vai Trò Subagent | Trách Nhiệm Cốt Lõi | Kỹ Năng Tiêu Biểu | Công Cụ Đi Kèm |
|
|
248
|
-
| :--- | :--- | :--- | :--- |
|
|
249
|
-
| **`orchestrator`** | Trưởng nhóm điều phối: khởi tạo dự án, kiểm tra sức khỏe và lưu giữ trạng thái công việc. | `agent-orchestration`, `graphify`, `architecture-decision-records` | `setup_project.py`, `analyze_project.py`, `repo_map.py` |
|
|
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` |
|
|
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` |
|
|
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` |
|
|
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` |
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## 📦 7. Danh Mục 42 Kỹ Năng Chuẩn Hóa (.agents/skills/)
|
|
259
|
-
|
|
260
|
-
<details>
|
|
261
|
-
<summary><b>📦 Bấm để xem: Danh Mục 42 Kỹ Năng Chuẩn Hóa</b></summary>
|
|
262
|
-
|
|
263
|
-
| # | Mã Kỹ Năng | Mô Tả Thực Chiến |
|
|
264
|
-
|:---:|---|---|
|
|
265
|
-
| 1 | `clean-pom-crafter` | Thiết kế Page Classes chuẩn Clean POM & Flat Architecture (zero locator trong test script). |
|
|
266
|
-
| 2 | `playwright-live-interaction` | Khảo sát trực tiếp DOM/AOM, kiểm định selector < 200ms qua Playwright Headless. |
|
|
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. |
|
|
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. |
|
|
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). |
|
|
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. |
|
|
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). |
|
|
272
|
-
| 8 | `api-network-mocking-interception` | Chặn bắt traffic HTTP/GraphQL, giả lập route và tiêm lỗi mạng hỗn loạn (chaos testing). |
|
|
273
|
-
| 9 | `synthetic-test-data-generator` | Sinh dữ liệu kiểm thử giả lập, chống trùng lặp khóa chính trong cơ sở dữ liệu. |
|
|
274
|
-
| 10 | `db-state-verifier-and-seeder` | Khởi tạo dữ liệu mẫu cô lập và kiểm tra biến đổi DB qua SQL/NoSQL. |
|
|
275
|
-
| 11 | `visual-regression-sentinel` | So sánh ảnh chụp màn hình phát hiện lệch pixel với cơ chế che chắn ảnh động (anti-flake mask). |
|
|
276
|
-
| 12 | `wcag-audit-patterns` | Kiểm toán khả năng tiếp cận theo tiêu chuẩn WCAG 2.2 A/AA và vai trò ARIA. |
|
|
277
|
-
| 13 | `security-dast-sentinel` | Kiểm tra bảo mật động DAST: OWASP Top 10, tiêu đề bảo mật, rò rỉ token và IDOR. |
|
|
278
|
-
| 14 | `web-vitals-and-performance-profiler` | Đo lường Core Web Vitals (LCP, CLS, INP) và thác mạng (network waterfall) qua CDP. |
|
|
279
|
-
| 15 | `backend-load-and-stress-patterns` | Điều phối kịch bản tải k6, Locust và Apache JMeter đo lường SLA chịu tải. |
|
|
280
|
-
| 16 | `auth-session-and-cookie-manager` | Quản lý phiên đăng nhập `storageState`, JWT token và trạng thái đa vai trò. |
|
|
281
|
-
| 17 | `file-and-report-validator` | Kiểm tra tính toàn vẹn của tệp tải về/tải lên (Excel, CSV, PDF) so với schema. |
|
|
282
|
-
| 18 | `e2e-testing-patterns` | Thiết kế kiến trúc kiểm thử E2E đa trình duyệt, chia tải song song và quản trị retry. |
|
|
283
|
-
| 19 | `lam-script-generator` | Chuyển đổi User Story và tiêu chí chấp nhận thành kịch bản kiểm thử tự động. |
|
|
284
|
-
| 20 | `katalon-cli-runner` | Điều phối chạy kiểm thử Katalon/Gradle headless với cơ chế tự dọn driver. |
|
|
285
|
-
| 21 | `bats-testing-patterns` | Kiểm thử shell script, công cụ CLI và pipeline CI/CD bằng Bats. |
|
|
286
|
-
| 22 | `code-refactoring-refactor-clean` | Khử nợ kỹ thuật, tái cấu trúc mã kiểm thử theo nguyên lý SOLID & Clean Code. |
|
|
287
|
-
| 23 | `agent-orchestration-multi-agent-optimize` | Đo lường tải và điều phối đa agent tối ưu hóa lưu lượng token. |
|
|
288
|
-
| 24 | `architecture-decision-records` | Soạn thảo và duy trì hồ sơ quyết định kiến trúc kỹ thuật (ADR). |
|
|
289
|
-
| 25 | `github-actions-templates` | Mẫu pipeline GitHub Actions chuẩn sản xuất cho kiểm thử tự động và CI/CD. |
|
|
290
|
-
| 26 | `graphify-impact-analyzer` | Phân tích phạm vi ảnh hưởng của thay đổi mã nguồn qua đồ thị quan hệ AST. |
|
|
291
|
-
| 27 | `skillspector-security-guard` | Quét lỗ hổng prompt injection và cấu hình MCP theo tiêu chuẩn an toàn bảo mật. |
|
|
292
|
-
| 28 | `gherkin-to-suite` | Biên dịch file `.feature` BDD thành ma trận test, Universal IR và phân tích khoảng trống độ phủ. |
|
|
293
|
-
| 29 | `rbt-manual-testing` | Quy trình AI-RBT sinh kịch bản kiểm thử thủ công dựa trên rủi ro, ma trận 12 cột và checklist input field. |
|
|
294
|
-
| 30 | `self-healing-locator` | Tự động phát hiện và vá lỗi định vị phần tử bằng phân tích sai khác cây Accessibility (AOM). |
|
|
295
|
-
| 31 | `persistent-planning-files` | Lưu kế hoạch, phát hiện và tiến độ xuống 3 file markdown để công việc đa pha sống sót qua reset ngữ cảnh. |
|
|
296
|
-
| 32 | `surgical-coding-principles` | Bốn nguyên tắc chỉnh sửa có kỷ luật: nêu giả định, tối giản diff, mọi dòng đổi đều truy về yêu cầu. |
|
|
297
|
-
| 33 | `lean-code-ladder` | Thang 7 bậc reuse-first: chọn phương án nhỏ nhất hoàn chỉnh trước khi viết code mới. |
|
|
298
|
-
| 34 | `playwright-webapp-testing` | Vòng đời server có kiểm soát (start/ready/teardown) khi chạy Playwright test web app cục bộ. |
|
|
299
|
-
| 35 | `test-driven-development` | Kỷ luật RED-GREEN-REFACTOR: chưa xem test fail đúng lý do thì chưa viết code sản phẩm. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
307
|
-
|
|
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`.
|
|
309
|
-
|
|
310
|
-
</details>
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## 🛠️ 8. Bộ Công Cụ Dòng Lệnh CLI (tools/)
|
|
315
|
-
|
|
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:
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
# 1. Chẩn đoán môi trường hệ thống (Node, Python, Chrome, Git)
|
|
320
|
-
npx synapse-hub doctor
|
|
321
|
-
|
|
322
|
-
# 2. Kiểm tra 10 Cổng Chất Lượng DoD (Gate 0–9)
|
|
323
|
-
npx synapse-hub verify
|
|
324
|
-
|
|
325
|
-
# 3. Quét phát hiện test pass ảo và ngoại lệ bị bỏ qua ngầm
|
|
326
|
-
npx synapse-hub lint ./tests
|
|
327
|
-
|
|
328
|
-
# 4. Nén 95% log CI/CD cồng kềnh
|
|
329
|
-
npx synapse-hub distill path/to/ci.log
|
|
330
|
-
|
|
331
|
-
# 5. Xuất test case sang file Excel .xlsx chuẩn 12 cột
|
|
332
|
-
npx synapse-hub export-excel
|
|
333
|
-
|
|
334
|
-
# 6. Kiểm tra độ nhạy của các câu lệnh assert
|
|
335
|
-
npx synapse-hub mutate ./tests
|
|
336
|
-
|
|
337
|
-
# 7. Dò tìm và cách ly test chập chờn (Flaky Tests)
|
|
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
|
|
354
|
-
```
|
|
355
|
-
|
|
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)).*
|
|
357
|
-
|
|
358
|
-
> 💡 **Bí danh dòng lệnh tương đương:** Khi cài đặt toàn cục (`npm i -g synapse-hub`), bạn có thể sử dụng bất kỳ bí danh nào: `synapse-hub`, `synapse`, hoặc `agent-qa` (ví dụ: `synapse verify`, `agent-qa lint ./tests`).
|
|
359
121
|
|
|
360
122
|
---
|
|
361
123
|
|
|
362
|
-
##
|
|
124
|
+
## 📚 Tài Liệu Kỹ Thuật Chuyên Sâu
|
|
363
125
|
|
|
364
|
-
|
|
365
|
-
|
|
126
|
+
- 🏛️ **Kiến Trúc & Bảng So Sánh Chi Tiết:** [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
|
|
127
|
+
- 🛡️ **Đặc Tả 10 Cổng Chất Lượng (DoD):** [docs/QUALITY_GATES.md](docs/QUALITY_GATES.md)
|
|
128
|
+
- 📖 **Cẩm Nang Tra Cứu Lệnh CLI:** [docs/CLI_REFERENCE.md](docs/CLI_REFERENCE.md)
|
|
129
|
+
- 🚀 **Hướng Dẫn Tích Hợp CI/CD:** [docs/CI_CD_INTEGRATION.md](docs/CI_CD_INTEGRATION.md)
|
|
130
|
+
- 🤝 **Hướng Dẫn Đóng Góp:** [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
|
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:** `
|
|
4
|
+
> **Version:** `3.0.0` | **Status:** Active / Production Standard
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -38,7 +38,7 @@ flowchart TD
|
|
|
38
38
|
|
|
39
39
|
## 2. Four-Tier Skill Stratification
|
|
40
40
|
|
|
41
|
-
The
|
|
41
|
+
The 51 skills in the hub are structured into four progressive operational tiers:
|
|
42
42
|
|
|
43
43
|
```mermaid
|
|
44
44
|
flowchart LR
|
|
@@ -107,6 +107,17 @@ The Hub equips 6 specialized subagents with scoped tool and skill permissions:
|
|
|
107
107
|
| **`failure-analyst`**| Visual & XML error autopsy | `failure-autopsy-and-healing`, `self-healing-locator`, `file-and-report-validator`, `systematic-debugging`, `agentless-qa-repair` | `auto_heal.py`, `heal_pr_automator.py`, `pinpoint_failure.py`, `cache_resolver.py`, `auto_heal_reflexion.py`, `agentless_patcher.py`, `heuristic_locator_matcher.py`, `telemetry_correlator.py` |
|
|
108
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`, `lean-impact-scoreboard`, `web-agent-gym-benchmarking` | `verify_all.py`, `infer_linter.py`, `micro_mutator.py`, `trace_data_flow.py`, `skill_collision_guard.py`, `textgrad_mutation_optimizer.py`, `skillspector.py`, `author_integrity.py`, `browsergym_eval.py` |
|
|
109
109
|
|
|
110
|
+
### 5.1 Standalone CLI Utilities & Hub Infrastructure Tools (Non-Persona Scoped)
|
|
111
|
+
|
|
112
|
+
The remaining 7 tools serve as global repository entry points and offline infrastructure services, callable directly without subagent persona routing:
|
|
113
|
+
- `cli.py`: Central Agent-QA / Synapse CLI command router and entrypoint (`npx synapse-hub` / `agent-qa`).
|
|
114
|
+
- `output_formatter.py`: ANSI terminal color styling, status badges, and table formatting utility.
|
|
115
|
+
- `welcome_page.py`: Visual HTML onboarding and landing page generator (`agent-qa welcome`).
|
|
116
|
+
- `bump_version.py`: Atomic polyglot semantic version bumper for releases (`agent-qa bump`).
|
|
117
|
+
- `sync_agent_rules.py`: Universal AI bridge synchronization engine (Cursor, Claude Code, Copilot, Windsurf).
|
|
118
|
+
- `md_to_xlsx.py`: Standalone Markdown to Excel converter utility (`agent-qa md-to-xlsx`).
|
|
119
|
+
- `mcp_excel_server.py`: Model Context Protocol (MCP) offline Excel spreadsheet server.
|
|
120
|
+
|
|
110
121
|
---
|
|
111
122
|
|
|
112
123
|
## 6. Nomenclature & Package Architecture
|
|
@@ -144,3 +155,38 @@ flowchart TD
|
|
|
144
155
|
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
156
|
5. **Reversible Execution Teardown (`reversible_sandbox.py`):** Implements GoEx-style reversible rollback stacks for filesystem and database mutations during automated exploratory runs.
|
|
146
157
|
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.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 8. Comparative Analysis & Industry Positioning
|
|
162
|
+
|
|
163
|
+
| Evaluation Criteria / Solution | ESLint Plugin (Playwright) | Stryker Mutator | Allure Report | Healenium | Synapse Hub 🧠 |
|
|
164
|
+
| :--- | :---: | :---: | :---: | :---: | :---: |
|
|
165
|
+
| **Language & Framework Scope** | Only JS / TS | JS / TS, C#, Scala | Any language (XML ingest) | Java / Python / C# (Selenium) | **Polyglot** (TS/JS, Python, Groovy, Java) |
|
|
166
|
+
| **Deep Agent Context Integration** | ❌ (CLI/IDE lint only) | ❌ (Standalone tool) | ❌ (Post-test visualizer) | ❌ (JVM proxy server) | ✅ **Native** (Rules, MCP, AST Map, 6 Subagents) |
|
|
167
|
+
| **AI Fake-Pass Elimination** | ⚠️ Syntax lint only | ❌ (App code mutations only) | ❌ | ❌ | ✅ **Specialized** (0-assert detection, swallowed exceptions, tautology) |
|
|
168
|
+
| **Mutation Testing Speed** | N/A | ⏱️ Minutes to hours | N/A | N/A | ⚡ **Ultra-fast (~0.1s)** static AST micro-mutations before commit |
|
|
169
|
+
| **Locator Self-Healing** | ❌ | ❌ | ❌ | ⚠️ Requires JVM server + Docker | ⚡ **Lightweight (< 500 tokens)** AOM diffing inside agent loop |
|
|
170
|
+
| **Token & Log Distillation** | ❌ | ❌ | ❌ | ❌ | ✅ **Reduces 95%** log noise (`distill_log.py`, `repo_map.py`) |
|
|
171
|
+
| **Clean POM Architectural Guard** | ❌ | ❌ | ❌ | ❌ | ✅ **Strict enforcement**, Clean POM Flat Architecture |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## 9. Known Technical Limitations & Empirical Benchmarks
|
|
176
|
+
|
|
177
|
+
To maintain strict engineering rigor (**Truth Anchor**), Synapse Hub discloses all known technical boundaries:
|
|
178
|
+
|
|
179
|
+
1. **Static Heuristic Mutation Testing vs Runtime Mutation Testing:**
|
|
180
|
+
`tools/micro_mutator.py` performs fast static AST-level mutation analysis (~0.1s) to detect unasserted branches and weak assertions. While this catches over 90% of superficial assertions instantly without execution lag, it does not replace full compiled runtime mutation testing (e.g., Stryker or mutmut) for mission-critical regression certifications.
|
|
181
|
+
2. **Empirical Benchmarks (`benchmarks/qa_eval`):**
|
|
182
|
+
Evaluated across 25 polyglot testing challenges:
|
|
183
|
+
- Automated resolution rate: 25 / 25 challenges (100.0%).
|
|
184
|
+
- Average token footprint: 76.2 tokens per bug (95% context reduction vs whole-repo ingestion).
|
|
185
|
+
- Assertion mutation score: 100% mutant kill rate.
|
|
186
|
+
- Fake-pass precision: 100.0% precision (0 false positives), 95.7% recall, 97.8% F1-score across 51 test corpora.
|
|
187
|
+
3. **Supported Runners:**
|
|
188
|
+
First-class runner adapters for **Playwright, Pytest, Katalon Studio/Groovy, and Cypress**. Selenium WebDriver is supported via Clean POM architecture patterns, smart-wait primitives, and Universal IR transpilation.
|
|
189
|
+
4. **Environment Prerequisites:**
|
|
190
|
+
- Node.js >= 18.0.0 (Node.js 20 or 22 LTS recommended).
|
|
191
|
+
- Python >= 3.9 (Python 3.10+ recommended; fully tested on 3.10, 3.11, 3.12, 3.13, 3.15).
|
|
192
|
+
- Headless browser: Playwright Chromium required for live DOM/AOM probing and self-healing locators.
|
package/docs/CONTRIBUTING.md
CHANGED
|
@@ -31,7 +31,7 @@ Trước khi gửi PR hoặc đẩy code lên nhánh `develop`:
|
|
|
31
31
|
# 1. Chạy toàn bộ 170+ bài kiểm thử đơn vị
|
|
32
32
|
python3 -m unittest discover tests
|
|
33
33
|
|
|
34
|
-
# 2. Kiểm định toàn vẹn
|
|
34
|
+
# 2. Kiểm định toàn vẹn 10 Cổng Chất Lượng DoD (Gate 0–9)
|
|
35
35
|
python3 tools/verify_all.py
|
|
36
36
|
|
|
37
37
|
# 3. Kiểm tra tính toàn vẹn của tài liệu và công cụ
|