synapse-hub 2.2.3 → 2.4.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.
Files changed (317) hide show
  1. package/.agents/agents/failure-analyst.md +11 -0
  2. package/.agents/agents/live-explorer.md +28 -0
  3. package/.agents/agents/orchestrator.md +20 -4
  4. package/.agents/agents/pom-crafter.md +12 -0
  5. package/.agents/agents/quality-gatekeeper.md +19 -4
  6. package/.agents/agents/test-runner.md +11 -0
  7. package/.agents/rules/communication-style.md +40 -0
  8. package/.agents/rules/context-engineering.md +23 -0
  9. package/.agents/rules/git-push-protocol.md +11 -17
  10. package/.agents/rules/graphify.md +14 -14
  11. package/.agents/rules/lessons-learned.md +3 -3
  12. package/.agents/rules/mandatory-playwright-live.md +29 -29
  13. package/.agents/rules/mobile_appium_rules.md +132 -0
  14. package/.agents/rules/performance_testing_rules.md +74 -0
  15. package/.agents/rules/skill-precedence.md +1 -1
  16. package/.agents/rules/systematic-debugging.md +6 -6
  17. package/.agents/skills/agent-orchestration-multi-agent-optimize/SKILL.md +64 -215
  18. package/.agents/skills/agent-orchestration-multi-agent-optimize/examples/swarm_workload_config.json +12 -0
  19. package/.agents/skills/antigravity-test-sentinel/SKILL.md +3 -3
  20. package/.agents/skills/antigravity-test-sentinel/examples/dod_gate_policy.json +11 -0
  21. package/.agents/skills/api-network-mocking-interception/SKILL.md +1 -1
  22. package/.agents/skills/api-network-mocking-interception/examples/network_route_stub.json +9 -0
  23. package/.agents/skills/api-spec-to-e2e-matrix/SKILL.md +9 -9
  24. package/.agents/skills/api-spec-to-e2e-matrix/examples/sample_openapi.json +19 -0
  25. package/.agents/skills/architecture-decision-records/SKILL.md +35 -412
  26. package/.agents/skills/architecture-decision-records/examples/0001-record-architecture-decisions.md +12 -0
  27. package/.agents/skills/auth-session-and-cookie-manager/SKILL.md +4 -1
  28. package/.agents/skills/auth-session-and-cookie-manager/examples/storage_state_sample.json +11 -0
  29. package/.agents/skills/backend-load-and-stress-patterns/SKILL.md +80 -186
  30. package/.agents/skills/backend-load-and-stress-patterns/examples/k6_load_test_sample.js +13 -0
  31. package/.agents/skills/bats-testing-patterns/SKILL.md +1 -1
  32. package/.agents/skills/bats-testing-patterns/examples/cli_runner_test.bats +6 -0
  33. package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
  34. package/.agents/skills/clean-pom-crafter/SKILL.md +21 -3
  35. package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
  36. package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
  37. package/.agents/skills/code-refactoring-refactor-clean/SKILL.md +2 -2
  38. package/.agents/skills/code-refactoring-refactor-clean/examples/refactored_page_sample.groovy +9 -0
  39. package/.agents/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +9 -7
  40. package/.agents/skills/db-state-verifier-and-seeder/SKILL.md +5 -5
  41. package/.agents/skills/db-state-verifier-and-seeder/examples/db_fixture_seed.json +12 -0
  42. package/.agents/skills/e2e-testing-patterns/SKILL.md +1 -1
  43. package/.agents/skills/e2e-testing-patterns/examples/playwright_sharded_config.ts +12 -0
  44. package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
  45. package/.agents/skills/failure-autopsy-and-healing/SKILL.md +17 -3
  46. package/.agents/skills/failure-autopsy-and-healing/examples/sample_junit_failure.xml +8 -0
  47. package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
  48. package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
  49. package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
  50. package/.agents/skills/file-and-report-validator/SKILL.md +1 -1
  51. package/.agents/skills/file-and-report-validator/examples/sample_export_schema.json +14 -0
  52. package/.agents/skills/flaky-test-sentinel-and-quarantine/SKILL.md +3 -3
  53. package/.agents/skills/flaky-test-sentinel-and-quarantine/examples/quarantine_registry.json +11 -0
  54. package/.agents/skills/gherkin-to-suite/SKILL.md +103 -0
  55. package/.agents/skills/gherkin-to-suite/examples/checkout.feature +39 -0
  56. package/.agents/skills/gherkin-to-suite/examples/suite_report_sample.json +334 -0
  57. package/.agents/skills/github-actions-templates/SKILL.md +47 -304
  58. package/.agents/skills/github-actions-templates/examples/matrix_test_pipeline.yml +8 -0
  59. package/.agents/skills/graphify-impact-analyzer/SKILL.md +6 -6
  60. package/.agents/skills/graphify-impact-analyzer/examples/dependency_blast_radius.json +8 -0
  61. package/.agents/skills/katalon-cli-runner/SKILL.md +2 -2
  62. package/.agents/skills/katalon-cli-runner/examples/headless_kre_exec.sh +3 -0
  63. package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
  64. package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
  65. package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
  66. package/.agents/skills/lam-script-generator/SKILL.md +42 -1
  67. package/.agents/skills/lam-script-generator/examples/user_story_sample.md +8 -0
  68. package/.agents/skills/lean-code-ladder/SKILL.md +83 -0
  69. package/.agents/skills/lean-code-ladder/examples/ladder_walkthrough.md +37 -0
  70. package/.agents/skills/meta-prompt-crafter/SKILL.md +107 -0
  71. package/.agents/skills/meta-prompt-crafter/examples/qa_prompt_template.md +35 -0
  72. package/.agents/skills/persistent-planning-files/SKILL.md +108 -0
  73. package/.agents/skills/persistent-planning-files/examples/task_plan_example.md +56 -0
  74. package/.agents/skills/playwright-live-interaction/SKILL.md +49 -1
  75. package/.agents/skills/playwright-live-interaction/examples/live_probe_script.js +5 -0
  76. package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
  77. package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
  78. package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
  79. package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
  80. package/.agents/skills/playwright-webapp-testing/SKILL.md +93 -0
  81. package/.agents/skills/playwright-webapp-testing/examples/server_lifecycle_playwright.py +63 -0
  82. package/.agents/skills/rbt-manual-testing/SKILL.md +150 -0
  83. package/.agents/skills/rbt-manual-testing/examples/checkout_rbt_manual_suite.md +25 -0
  84. package/.agents/skills/security-dast-sentinel/SKILL.md +57 -135
  85. package/.agents/skills/security-dast-sentinel/examples/dast_scan_config.json +10 -0
  86. package/.agents/skills/self-healing-locator/SKILL.md +24 -10
  87. package/.agents/skills/self-healing-locator/examples/aom_diff_sample.json +16 -0
  88. package/.agents/skills/skillspector-security-guard/SKILL.md +32 -90
  89. package/.agents/skills/skillspector-security-guard/examples/safe_mcp_config.json +12 -0
  90. package/.agents/skills/surgical-coding-principles/SKILL.md +89 -0
  91. package/.agents/skills/surgical-coding-principles/examples/surgical_vs_scope_creep.md +46 -0
  92. package/.agents/skills/synthetic-test-data-generator/SKILL.md +3 -3
  93. package/.agents/skills/synthetic-test-data-generator/examples/idempotent_data_recipe.json +9 -0
  94. package/.agents/skills/systematic-debugging/SKILL.md +100 -0
  95. package/.agents/skills/systematic-debugging/examples/four_phase_case.md +44 -0
  96. package/.agents/skills/test-driven-development/SKILL.md +114 -0
  97. package/.agents/skills/test-driven-development/examples/red_green_refactor_qa.md +78 -0
  98. package/.agents/skills/token-and-context-optimizer/SKILL.md +1 -1
  99. package/.agents/skills/token-and-context-optimizer/examples/distilled_log_sample.txt +3 -0
  100. package/.agents/skills/verification-before-completion/SKILL.md +100 -0
  101. package/.agents/skills/verification-before-completion/examples/evidence_log_example.md +46 -0
  102. package/.agents/skills/visual-regression-sentinel/SKILL.md +21 -1
  103. package/.agents/skills/visual-regression-sentinel/examples/visual_mask_rules.json +9 -0
  104. package/.agents/skills/wcag-audit-patterns/SKILL.md +3 -3
  105. package/.agents/skills/wcag-audit-patterns/examples/wcag_compliance_checklist.json +10 -0
  106. package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
  107. package/.agents/skills/web-vitals-and-performance-profiler/SKILL.md +1 -1
  108. package/.agents/skills/web-vitals-and-performance-profiler/examples/cwv_budget_policy.json +6 -0
  109. package/.agents/templates/completion_report.md +57 -57
  110. package/.agents/workflows/analyze_requirement_document.md +18 -0
  111. package/.agents/workflows/export_testcases_excel.md +32 -0
  112. package/.agents/workflows/generate_combinatorial_test_data.md +28 -0
  113. package/.agents/workflows/generate_cross_module_test_plan.md +37 -0
  114. package/.agents/workflows/generate_manual_testcases_rbt.md +56 -0
  115. package/.agents/workflows/generate_requirements_from_website.md +25 -0
  116. package/.agents/workflows/generate_testcases_from_requirements.md +21 -0
  117. package/.agents/workflows/graphify.md +10 -10
  118. package/.agents/workflows/verify.md +2 -2
  119. package/.cursor/rules/language.mdc +7 -7
  120. package/.cursor/rules/synapse-qa.mdc +23 -0
  121. package/.cursorrules +7 -0
  122. package/.pre-commit-hooks.yaml +14 -0
  123. package/.windsurfrules +7 -0
  124. package/AGENTS.md +54 -15
  125. package/CLAUDE.md +35 -12
  126. package/LICENSE +30 -0
  127. package/NOTICE +180 -0
  128. package/README.en.md +325 -0
  129. package/README.md +247 -512
  130. package/action.yml +51 -0
  131. package/benchmarks/qa_eval/README.md +71 -0
  132. package/benchmarks/qa_eval/build_dataset.py +677 -0
  133. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +22 -0
  134. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +22 -0
  135. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +22 -0
  136. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +22 -0
  137. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +22 -0
  138. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +21 -0
  139. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +21 -0
  140. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +21 -0
  141. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +21 -0
  142. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +21 -0
  143. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +23 -0
  144. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +23 -0
  145. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +23 -0
  146. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +23 -0
  147. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +23 -0
  148. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +22 -0
  149. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +22 -0
  150. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +22 -0
  151. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +22 -0
  152. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +23 -0
  153. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +22 -0
  154. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +22 -0
  155. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +22 -0
  156. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +22 -0
  157. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +22 -0
  158. package/benchmarks/qa_eval/eval_runner.py +418 -0
  159. package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +83 -0
  160. package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +69 -0
  161. package/benchmarks/qa_eval/reports/eval_results.json +105 -0
  162. package/bin/agent-qa.js +10 -3
  163. package/docs/ARCHITECTURE.md +107 -0
  164. package/docs/CI_CD_INTEGRATION.md +94 -0
  165. package/docs/CLI_REFERENCE.md +157 -0
  166. package/docs/CONTRIBUTING.md +91 -0
  167. package/docs/PLUGIN_DEVELOPMENT_GUIDE.md +126 -0
  168. package/docs/TOKEN_QUOTA_PLAYBOOK.md +41 -0
  169. package/docs/adopted-ecosystem-tools.md +87 -0
  170. package/docs/schemas/synapse.config.schema.json +64 -0
  171. package/examples/cypress-ecommerce-suite/README.md +45 -0
  172. package/examples/cypress-ecommerce-suite/cypress/e2e/checkout.cy.js +17 -0
  173. package/examples/cypress-ecommerce-suite/cypress/pages/BasePage.js +29 -0
  174. package/examples/cypress-ecommerce-suite/cypress/pages/CartPage.js +51 -0
  175. package/examples/cypress-ecommerce-suite/cypress.config.js +13 -0
  176. package/examples/cypress-ecommerce-suite/package.json +13 -0
  177. package/examples/katalon-suite/Keywords/pages/BasePage.groovy +19 -0
  178. package/examples/katalon-suite/Keywords/pages/DashboardPage.groovy +29 -0
  179. package/examples/katalon-suite/Keywords/pages/LoginPage.groovy +45 -0
  180. package/examples/katalon-suite/Profiles/default.glbl +12 -0
  181. package/examples/katalon-suite/README.md +18 -0
  182. package/examples/katalon-suite/Scripts/Auth/TC_LoginSuccess/Script1234567890.groovy +12 -0
  183. package/examples/katalon-suite/Scripts/Dashboard/TC_ViewSummary/Script1234567891.groovy +15 -0
  184. package/examples/katalon-suite/katalon_suite.prj +21 -0
  185. package/examples/playwright-crm-suite/README.md +40 -0
  186. package/examples/playwright-crm-suite/package.json +14 -0
  187. package/examples/playwright-crm-suite/pages/BasePage.ts +37 -0
  188. package/examples/playwright-crm-suite/pages/CustomerPage.ts +57 -0
  189. package/examples/playwright-crm-suite/pages/LoginPage.ts +32 -0
  190. package/examples/playwright-crm-suite/playwright.config.ts +27 -0
  191. package/examples/playwright-crm-suite/tests/auth.spec.ts +22 -0
  192. package/examples/playwright-crm-suite/tests/customers.spec.ts +33 -0
  193. package/examples/plugins/sample-custom-plugin/README.md +14 -0
  194. package/examples/plugins/sample-custom-plugin/plugin.json +16 -0
  195. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/SKILL.md +29 -0
  196. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/examples/audit_fixture.json +8 -0
  197. package/examples/plugins/sample-custom-plugin/tools/custom_security_headers.py +125 -0
  198. package/examples/practices/README.md +22 -0
  199. package/examples/practices/requirements/crm/requirements_contracts.md +292 -0
  200. package/examples/practices/requirements/crm/requirements_customers.md +462 -0
  201. package/examples/practices/requirements/crm/requirements_login.md +202 -0
  202. package/examples/practices/requirements/crm/requirements_projects.md +396 -0
  203. package/examples/practices/requirements/crm/requirements_tasks.md +343 -0
  204. package/examples/practices/requirements/ecommerce/requirements_category_brand.txt +402 -0
  205. package/examples/practices/requirements/jira/KAN-5/KAN-1/2026-04-03_04-28-27.png +0 -0
  206. package/examples/practices/requirements/jira/KAN-5/KAN-1/KAN-1_requirement.md +52 -0
  207. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-19.png +0 -0
  208. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-57.png +0 -0
  209. package/examples/practices/requirements/jira/KAN-5/KAN-4/KAN-4_requirement.md +119 -0
  210. package/examples/practices/requirements/jira/KAN-5/KAN-5_overview.md +9 -0
  211. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-08.png +0 -0
  212. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-23.png +0 -0
  213. package/examples/practices/requirements/jira/KAN-5/KAN-6/KAN-6_requirement.md +32 -0
  214. package/examples/practices/testcases/api/book_management_api_test_cases.md +144 -0
  215. package/examples/practices/testcases/api/user_management_api_test_cases.md +139 -0
  216. package/examples/practices/testcases/crm/test_cases_crm_login.md +148 -0
  217. package/examples/practices/testcases/crm/test_cases_customers.md +156 -0
  218. package/examples/pytest-api-suite/README.md +45 -0
  219. package/examples/pytest-api-suite/conftest.py +31 -0
  220. package/examples/pytest-api-suite/pages/user_api_client.py +36 -0
  221. package/examples/pytest-api-suite/requirements.txt +2 -0
  222. package/examples/pytest-api-suite/tests/test_user_api.py +44 -0
  223. package/examples/selenium-suite/README.md +18 -0
  224. package/examples/selenium-suite/pages/base_page.py +27 -0
  225. package/examples/selenium-suite/pages/login_page.py +29 -0
  226. package/examples/selenium-suite/pages/order_page.py +25 -0
  227. package/examples/selenium-suite/pytest.ini +6 -0
  228. package/examples/selenium-suite/requirements.txt +2 -0
  229. package/examples/selenium-suite/tests/test_login.py +10 -0
  230. package/examples/selenium-suite/tests/test_order.py +10 -0
  231. package/package.json +22 -7
  232. package/scripts/generate_skill_examples.py +244 -0
  233. package/scripts/install.ps1 +112 -0
  234. package/scripts/install_global_plugin.ps1 +94 -0
  235. package/scripts/install_global_plugin.sh +49 -0
  236. package/scripts/lint_skills.ps1 +57 -0
  237. package/scripts/package_dist.py +323 -0
  238. package/scripts/setup.sh +59 -0
  239. package/scripts/update_hub.ps1 +19 -0
  240. package/scripts/update_hub.sh +15 -0
  241. package/skills_manifest.json +209 -6
  242. package/synapse.config.json +30 -0
  243. package/templates/PROJECT_AI_GUIDE_TEMPLATE.md +7 -7
  244. package/templates/PROJECT_STATE_TEMPLATE.md +1 -1
  245. package/templates/ai_bridges/CLAUDE.md +33 -16
  246. package/templates/ai_bridges/copilot-instructions.md +14 -21
  247. package/templates/ai_bridges/cursor_synapse_qa.mdc +17 -20
  248. package/templates/ai_bridges/windsurfrules +21 -21
  249. package/templates/ci/github-actions-synapse.yml +71 -4
  250. package/templates/welcome.html.tmpl +1674 -0
  251. package/tools/.infer_baseline.json +1102 -0
  252. package/tools/TOOLS_RUNBOOK.md +92 -130
  253. package/tools/__init__.py +26 -0
  254. package/tools/agent_canary.py +501 -501
  255. package/tools/analyze_project.py +31 -17
  256. package/tools/api_fuzzer.py +278 -6
  257. package/tools/author_integrity.py +6 -6
  258. package/tools/auto_heal.py +1 -1
  259. package/tools/browser_helpers.js +105 -7
  260. package/tools/bug_reporter.py +31 -1
  261. package/tools/bump_version.py +23 -3
  262. package/tools/cache_resolver.py +248 -14
  263. package/tools/check_env.py +55 -14
  264. package/tools/check_version_sync.py +153 -0
  265. package/tools/ci_healing_hook.py +1 -1
  266. package/tools/cli.py +263 -13
  267. package/tools/count_tokens.py +1257 -0
  268. package/tools/dashboard_generator.py +2638 -0
  269. package/tools/db_sandbox.py +198 -20
  270. package/tools/e2e_flow_prober.ps1 +12 -64
  271. package/tools/e2e_flow_prober.py +99 -0
  272. package/tools/e2e_flow_prober.sh +4 -0
  273. package/tools/export_postman_collection.py +29 -7
  274. package/tools/flaky_detector.py +4 -3
  275. package/tools/generate_allure_report.ps1 +12 -29
  276. package/tools/generate_allure_report.py +77 -0
  277. package/tools/generate_allure_report.sh +4 -0
  278. package/tools/generate_jmx_plan.py +299 -68
  279. package/tools/generate_test_reports.ps1 +12 -134
  280. package/tools/generate_test_reports.py +133 -0
  281. package/tools/generate_test_reports.sh +4 -0
  282. package/tools/gherkin_suite.py +758 -0
  283. package/tools/git_pre_commit_guard.py +12 -6
  284. package/tools/goldfish_review.py +366 -0
  285. package/tools/heal_pr_automator.py +1 -1
  286. package/tools/heuristic_locator_matcher.py +170 -21
  287. package/tools/infer_linter.py +612 -70
  288. package/tools/jtl_analyzer.py +1 -1
  289. package/tools/lint_ai_docs.py +64 -0
  290. package/tools/matrix_sharder.py +1 -1
  291. package/tools/mcp_excel_server.ps1 +12 -250
  292. package/tools/mcp_excel_server.py +249 -0
  293. package/tools/mcp_excel_server.sh +4 -0
  294. package/tools/mcp_server.py +368 -144
  295. package/tools/md_to_xlsx.py +307 -0
  296. package/tools/micro_mutator.py +300 -69
  297. package/tools/omni_transpiler.py +2 -2
  298. package/tools/output_formatter.py +128 -0
  299. package/tools/pinpoint_failure.py +88 -88
  300. package/tools/project_state.py +2 -2
  301. package/tools/repo_map.py +1 -1
  302. package/tools/safety_firewall.py +197 -33
  303. package/tools/setup_project.py +294 -30
  304. package/tools/skillspector.py +8 -8
  305. package/tools/spec_drift_sentinel.py +439 -0
  306. package/tools/sync_agent_rules.py +248 -0
  307. package/tools/telemetry_correlator.py +45 -0
  308. package/tools/test_impact.py +51 -12
  309. package/tools/tms_sync_bridge.py +21 -5
  310. package/tools/universal_ir.py +3 -0
  311. package/tools/update_sentinel.py +87 -15
  312. package/tools/verify_all.ps1 +13 -0
  313. package/tools/verify_all.py +463 -79
  314. package/tools/visual_diff_canvas.py +1 -0
  315. package/tools/visual_som_helper.py +1 -1
  316. package/tools/watch_mode.py +305 -0
  317. package/tools/welcome_page.py +291 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: web-vitals-and-performance-profiler
3
- description: "Measure Core Web Vitals (LCP, CLS, INP) and network waterfalls via CDP."
3
+ description: "Measure Core Web Vitals (LCP, CLS, INP) and network waterfalls via CDP. Use when the user asks why a page is slow or needs CWV budgets enforced in CI."
4
4
  ---
5
5
 
6
6
  # Web Vitals & Performance Profiler Skill
@@ -0,0 +1,6 @@
1
+ {
2
+ "LCP_ms": 2500,
3
+ "CLS_score": 0.1,
4
+ "INP_ms": 200,
5
+ "networkThrottle": "Fast 3G"
6
+ }
@@ -1,57 +1,57 @@
1
- # AI SESSION COMPLETION REPORT TEMPLATE
2
-
3
- > **Instructions:** Use this standardized schema at the conclusion of every AI working session to ensure auditability, cross-session comparability, and historical accuracy.
4
-
5
- ---
6
-
7
- ## 1. Session Metadata
8
- - **Date & Time:** `YYYY-MM-DD HH:mm`
9
- - **Agent / Engineer:** `Antigravity / Claude Code / Cursor / QA Engineer`
10
- - **Target Functional Module:** `[e.g., User Administration & RBAC]`
11
- - **Master Test Suite / Test Cases:** `[e.g., Group_07_01_CumCongNghiep.ts / TC-123 to TC-135]`
12
-
13
- ---
14
-
15
- ## 2. Test Execution Evidence
16
- - **Exit Code:** `0 (PASS) / 1 (FAIL)`
17
- - **Total Test Cases:** `[Count]`
18
- - ✅ **Passed:** `[Count]`
19
- - ❌ **Failed:** `[Count]`
20
- - **Detailed Execution Artifacts:**
21
- - Allure / Katalon Report: `Reports/<Timestamp>/...`
22
- - Verified UI Assertions & Toasts: `[e.g., "Created successfully" (NFC Normalized)]`
23
-
24
- ---
25
-
26
- ## 3. Truth Anchor & Defect Findings
27
- *(Select exactly one option below)*
28
- - [ ] **No Defects Discovered:** All scripts passed cleanly; business workflows operate strictly as specified.
29
- - [ ] **Real AUT Defect Identified:**
30
- - Defect Description / Test Case: `[e.g., TC-123 - GIS polygon coordinate collision on save]`
31
- - Logged into: `KNOWN_ISSUES.md` (Issue ID: `ISSUE-AUT-xx`)
32
- - Commitment: **Assertions remained strict; no fake pass applied.**
33
-
34
- ---
35
-
36
- ## 4. File Changes Breakdown
37
- | Action | File Path | Purpose & Technical Summary |
38
- |---|---|---|
39
- | **Added** | `[File Path]` | `[Reason for addition]` |
40
- | **Modified** | `[File Path]` | `[Summary of modification]` |
41
- | **Deleted** | `[File Path]` | `[Reason for removal]` |
42
-
43
- ---
44
-
45
- ## 5. Quality Gate Enforcement (Definition of Done)
46
- - [x] **100% UTF-8 No BOM:** Verified (`tools/git_pre_commit_guard.py`)
47
- - [x] **Zero Raw XPaths in Scripts:** Verified (Strict Clean POM adherence)
48
- - [x] **Path Portability:** Verified (Zero local absolute machine paths)
49
- - [x] **AI Docs Anti-Drift Linter:** Verified (`tools/lint_ai_docs.py` v2.0 passed)
50
- - [x] **Temporary File Blacklist:** Verified (Temporary `.properties` cleaned)
51
- - [x] **Credential Security:** Verified (No plaintext passwords; `APP_PASSWORD` injected)
52
-
53
- ---
54
-
55
- ## 6. Handoff & Memory Synchronization
56
- - [x] Updated `PROJECT_STATE.md` with latest operational state.
57
- - [ ] **Next Immediate Actions:** `[Concise instructions for the next agent session]`
1
+ # AI SESSION COMPLETION REPORT TEMPLATE
2
+
3
+ > **Instructions:** Use this standardized schema at the conclusion of every AI working session to ensure auditability, cross-session comparability, and historical accuracy.
4
+
5
+ ---
6
+
7
+ ## 1. Session Metadata
8
+ - **Date & Time:** `YYYY-MM-DD HH:mm`
9
+ - **Agent / Engineer:** `Antigravity / Claude Code / Cursor / QA Engineer`
10
+ - **Target Functional Module:** `[e.g., User Administration & RBAC]`
11
+ - **Master Test Suite / Test Cases:** `[e.g., Group_07_01_CumCongNghiep.ts / TC-123 to TC-135]`
12
+
13
+ ---
14
+
15
+ ## 2. Test Execution Evidence
16
+ - **Exit Code:** `0 (PASS) / 1 (FAIL)`
17
+ - **Total Test Cases:** `[Count]`
18
+ - ✅ **Passed:** `[Count]`
19
+ - ❌ **Failed:** `[Count]`
20
+ - **Detailed Execution Artifacts:**
21
+ - Allure / Katalon Report: `Reports/<Timestamp>/...`
22
+ - Verified UI Assertions & Toasts: `[e.g., "Created successfully" (NFC Normalized)]`
23
+
24
+ ---
25
+
26
+ ## 3. Truth Anchor & Defect Findings
27
+ *(Select exactly one option below)*
28
+ - [ ] **No Defects Discovered:** All scripts passed cleanly; business workflows operate strictly as specified.
29
+ - [ ] **Real AUT Defect Identified:**
30
+ - Defect Description / Test Case: `[e.g., TC-123 - GIS polygon coordinate collision on save]`
31
+ - Logged into: `KNOWN_ISSUES.md` (Issue ID: `ISSUE-AUT-xx`)
32
+ - Commitment: **Assertions remained strict; no fake pass applied.**
33
+
34
+ ---
35
+
36
+ ## 4. File Changes Breakdown
37
+ | Action | File Path | Purpose & Technical Summary |
38
+ |---|---|---|
39
+ | **Added** | `[File Path]` | `[Reason for addition]` |
40
+ | **Modified** | `[File Path]` | `[Summary of modification]` |
41
+ | **Deleted** | `[File Path]` | `[Reason for removal]` |
42
+
43
+ ---
44
+
45
+ ## 5. Quality Gate Enforcement (Definition of Done)
46
+ - [x] **100% UTF-8 No BOM:** Verified (`tools/git_pre_commit_guard.py`)
47
+ - [x] **Zero Raw XPaths in Scripts:** Verified (Strict Clean POM adherence)
48
+ - [x] **Path Portability:** Verified (Zero local absolute machine paths)
49
+ - [x] **AI Docs Anti-Drift Linter:** Verified (`tools/lint_ai_docs.py` v2.0 passed)
50
+ - [x] **Temporary File Blacklist:** Verified (Temporary `.properties` cleaned)
51
+ - [x] **Credential Security:** Verified (No plaintext passwords; `APP_PASSWORD` injected)
52
+
53
+ ---
54
+
55
+ ## 6. Handoff & Memory Synchronization
56
+ - [x] Updated `PROJECT_STATE.md` with latest operational state.
57
+ - [ ] **Next Immediate Actions:** `[Concise instructions for the next agent session]`
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Perform automated Ambiguity Analysis, Gap Detection, and Boundary Verification on Business Requirements Documents (BRD, PRD, User Stories).
3
+ skills:
4
+ - rbt-manual-testing
5
+ ---
6
+
7
+ # /analyze_requirement_document — Requirement Ambiguity & Gap Analysis
8
+
9
+ Scans and audits functional specifications, user stories, or PRDs to detect defects, contradictions, and missing edge cases early in the lifecycle.
10
+
11
+ ---
12
+
13
+ ## 4-Step Analysis Pipeline
14
+
15
+ 1. **Happy Path & Flow Extraction:** Extract primary user journeys and business outcomes.
16
+ 2. **Ambiguity Detection:** Identify vague phrases ("fast response", "system should handle errors", "user-friendly"), unstated timeout intervals, unhandled edge conditions, and conflicting rules.
17
+ 3. **Gap Analysis:** Highlight missing alternate paths, unauthorized user flows, data volume constraints, and concurrency scenarios.
18
+ 4. **Numbered Q&A Register:** Generate an actionable register of questions (`Q1, Q2, Q3...`) with context and proposed default assumptions for product owner / BA sign-off.
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Convert a Markdown Test Case table into a corporate-styled, formatted Excel spreadsheet (.xlsx) using the native tools/md_to_xlsx.py engine.
3
+ skills:
4
+ - rbt-manual-testing
5
+ ---
6
+
7
+ # /export_testcases_excel — Markdown to Styled Excel Converter
8
+
9
+ Converts any Markdown Test Case document or artifact into an enterprise-ready, professional Excel workbook (`.xlsx`) using the native Python openpyxl engine.
10
+
11
+ ---
12
+
13
+ ## Execution Command
14
+
15
+ ```bash
16
+ # Export with default name (input.xlsx)
17
+ agent-qa export-excel path/to/test_cases.md
18
+
19
+ # Export with custom destination and worksheet title
20
+ agent-qa export-excel path/to/test_cases.md -o output_name.xlsx --sheet-name "Regression Suite"
21
+ ```
22
+
23
+ ## Features of Exported Workbooks
24
+
25
+ - **Navy Blue Header:** Dark blue fill (`#1F4E78`), bold white text, vertically centered.
26
+ - **Frozen Header:** Top row frozen (`A2`) for continuous scrolling.
27
+ - **AutoFilter:** Filter dropdowns automatically enabled on all columns.
28
+ - **Color-Coded Status Badges:**
29
+ - `Risk Level`: High (Soft Red), Medium (Soft Yellow), Low (Soft Green).
30
+ - `Priority`: Critical/High (Soft Red/Orange), Medium (Soft Yellow), Low (Soft Green).
31
+ - `Automatable`: Yes (Soft Green), Partial (Soft Yellow), No (Soft Gray).
32
+ - **Auto-Formatting:** Multi-line `<br>` tags converted to true Excel newlines with text wrapping and optimized column widths.
@@ -0,0 +1,28 @@
1
+ ---
2
+ description: Generate concrete combinatorial test data sets (JSON, CSV, Markdown) covering all parameter combinations from a cross-module dimension matrix or Pairwise specification.
3
+ skills:
4
+ - synthetic-test-data-generator
5
+ ---
6
+
7
+ # /generate_combinatorial_test_data — Combinatorial Test Data Synthesis
8
+
9
+ Converts an abstract dimension matrix or Pairwise specification into concrete, idempotent synthetic test data fixtures ready for automation or manual execution.
10
+
11
+ ---
12
+
13
+ ## 1. Input Requirements
14
+
15
+ Provide either:
16
+ - A Markdown table of dimensions/values from `/generate_cross_module_test_plan`.
17
+ - A list of parameters with allowed values, boundaries, and negative test values.
18
+
19
+ ---
20
+
21
+ ## 2. Output Modes
22
+
23
+ 1. **GENERATE Mode (File Export):**
24
+ - Synthesizes formatted data records in JSON, CSV, or Markdown.
25
+ - Enforces unique dynamic prefixes (`AUTO_<timestamp>`) to prevent database unique-constraint collisions.
26
+ 2. **PIPELINE Mode (Live Seeding):**
27
+ - Dispatches browser actions or API seeders (`tools/db_sandbox.py`) to create records directly in the target environment.
28
+ - Automatically pairs each creation step with a teardown cleanup action.
@@ -0,0 +1,37 @@
1
+ ---
2
+ description: Analyze end-to-end user journeys traversing multiple interconnected modules, construct Data Flow Diagrams, and generate optimized Pairwise (All-Pairs) combinatorial test matrices.
3
+ skills:
4
+ - clean-pom-crafter
5
+ - e2e-testing-patterns
6
+ - synthetic-test-data-generator
7
+ ---
8
+
9
+ # /generate_cross_module_test_plan — Cross-Module Analysis & Pairwise Matrix
10
+
11
+ Use this workflow when a business feature spans across multiple sequential modules, where each module has distinct option dimensions and combinatorial outputs determine the final result.
12
+
13
+ ---
14
+
15
+ ## 1. Operational Modes
16
+
17
+ - **DOCUMENT Mode (Default):** Ingests functional specifications, user journey maps, or architecture documents.
18
+ - **BROWSER Mode:** Probes the live web application using headless Playwright to discover sequential UI modules and input dimensions.
19
+
20
+ ---
21
+
22
+ ## 2. Execution Pipeline
23
+
24
+ ### Step 1: Sequential Module Mapping & Data Flow
25
+ 1. Map the end-to-end workflow chain (e.g., Module 1: Customer Profile -> Module 2: Billing & Currency -> Module 3: Tax Profile -> Module 4: Invoice Generation).
26
+ 2. Generate a Mermaid Data Flow Diagram illustrating data dependencies between modules.
27
+
28
+ ### Step 2: Dimension Catalog & Constraints Extraction
29
+ 1. List all configurable dimensions and allowed values per module.
30
+ 2. Identify mutual exclusions, invalid business combinations, and hard constraints.
31
+
32
+ ### Step 3: Combinatorial Matrix Synthesis (Pairwise / All-Pairs)
33
+ 1. Apply **Pairwise Testing (All-Pairs)** reduction to compress multi-dimensional exponential combinations (e.g., reduce $3 \times 4 \times 3 \times 2 \times 4 = 288$ combinations down to ~20-25 optimal test sets covering 100% of two-way interactions).
34
+ 2. Format the output matrix with columns: `#`, `Module 1`, `Module 2`, ..., `Expected Result`, `Priority`.
35
+
36
+ ### Step 4: Verification Checkpoint
37
+ - Present the reduced Pairwise Matrix to the user for validation and sign-off before test case or test data synthesis.
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: Generate comprehensive manual test cases using the 6-stage AI-RBT (Risk-Based Testing) methodology with ambiguity checkpoints and 15-field validation checklist.
3
+ skills:
4
+ - rbt-manual-testing
5
+ ---
6
+
7
+ # /generate_manual_testcases_rbt — 6-Stage AI-RBT Manual Test Generation
8
+
9
+ Execute the structured 6-stage **AI-Driven Risk-Based Testing (AI-RBT)** pipeline defined in `.agents/skills/rbt-manual-testing/SKILL.md`.
10
+
11
+ ## Execution Rules & Pipeline Checkpoints
12
+
13
+ - **Execution Mode:** FULL RBT (strictly sequential, never combine stages in a single pass).
14
+ - **Mandatory Checkpoints:** The agent **MUST PAUSE** for user feedback at:
15
+ - **Stage 2 Checkpoint:** Present numbered Ambiguity Q&A (`Q1, Q2...`) with assumptions, and wait for confirmation.
16
+ - **Stage 4 Checkpoint:** Present Traceability Matrix (RTM) and High-Level Scenarios for user review.
17
+
18
+ ---
19
+
20
+ ## 6-Stage Pipeline Steps
21
+
22
+ ### Stage 1: Context & Framing
23
+ 1. Ingest project description, business domain, target persona, and release milestones (MVP vs Full).
24
+ 2. Confirm understanding and proceed to Stage 2.
25
+
26
+ ### Stage 2: Analysis & Ambiguity Q&A
27
+ 1. Map Happy Paths, Alternate Paths, and Exception Paths.
28
+ 2. Identify requirement ambiguities, contradictions, or missing validation rules.
29
+ 3. Emit a structured Q&A table (`Q1, Q2...`) with proposed assumptions.
30
+ 4. 🛑 **PAUSE — Await user confirmation before proceeding.**
31
+
32
+ ### Stage 3: System Decomposition
33
+ 1. Break down features into Modules -> Sub-modules -> UI components.
34
+ 2. Document cross-module dependencies and shared state.
35
+
36
+ ### Stage 4: Traceability Matrix (RTM) & Gap Analysis
37
+ 1. Map requirement identifiers (`REQ-xxx`) to high-level test scenarios.
38
+ 2. Highlight missing coverage gaps and non-functional scenarios.
39
+ 3. 🛑 **PAUSE — Await user review of scenario coverage.**
40
+
41
+ ### Stage 5: Detailed Test Case Generation & Risk Scoring
42
+ 1. Assign Risk Levels (`High`, `Medium`, `Low`) based on business impact.
43
+ 2. Apply test design techniques: Equivalence Partitioning (EP), Boundary Value Analysis (BVA), Decision Tables, State Transitions.
44
+ 3. Apply the **Field-Level Validation Checklist (15 Field Types)**: generate isolated validation test cases for each input field (do not merge fields).
45
+ 4. Include non-functional scenarios: Double Submit, Race Conditions, Network Drops, Browser Back/Refresh.
46
+
47
+ ### Stage 6: Template Mapping & Deliverable Packaging
48
+ 1. Assemble all test cases into the standard 12-column Markdown specification:
49
+ ```markdown
50
+ | TC ID | Module | Risk Level | Test Title | Pre-Condition | Test Steps | Expected Result | Priority | Test Data | Automatable | Auto Type | Tags |
51
+ ```
52
+ 2. Verify all test cases from Stage 5 are preserved without truncation.
53
+ 3. Inform user they can export to styled Excel via:
54
+ ```bash
55
+ agent-qa export-excel path/to/test_cases.md -o output.xlsx
56
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Reverse-engineer structured functional requirements and user story specifications by inspecting a live web application using headless Playwright.
3
+ skills:
4
+ - playwright-live-interaction
5
+ - clean-pom-crafter
6
+ ---
7
+
8
+ # /generate_requirements_from_website — Live Web Reverse-Engineering
9
+
10
+ Reverse-engineers functional requirements, acceptance criteria, and input field rules directly from a deployed web application when written specifications are missing or outdated.
11
+
12
+ ---
13
+
14
+ ## Execution Pipeline
15
+
16
+ 1. **Target Navigation:** Launch headless Playwright session at 1920x1080 and navigate to the target URL.
17
+ 2. **Compact AOM Survey:** Extract the interactive Accessibility Tree (`qa.getCompactAOM()`) to discover forms, controls, roles, and validation messages.
18
+ 3. **Behavioral Probing:**
19
+ - Probe required fields by triggering empty form submissions.
20
+ - Inspect client-side HTML5 validation attributes (`pattern`, `min`, `max`, `maxlength`, `required`).
21
+ - Identify active dropdown choices and conditional UI toggles.
22
+ 4. **Structured Requirements Document:** Output a structured Markdown specification with:
23
+ - Feature summary and business objective.
24
+ - User Stories with Gherkin Acceptance Criteria (`Given-When-Then`).
25
+ - Field Specification Table: Name, Type, Required, Format Rules, Min/Max Limits, Error Messages.
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Fast single-pass generation of structured manual test cases directly from requirements or user stories (QUICK Mode of rbt-manual-testing).
3
+ skills:
4
+ - rbt-manual-testing
5
+ ---
6
+
7
+ # /generate_testcases_from_requirements — Rapid Single-Pass Test Generation
8
+
9
+ Generates structured test cases in a single pass without pausing for multi-stage checkpoints. Best for isolated forms, standalone dialogs, or well-defined user stories.
10
+
11
+ ## Workflow Pipeline
12
+
13
+ 1. **Ingest Requirements:** Read the provided requirement text, user story, or acceptance criteria.
14
+ 2. **Path Identification:** Map Happy Paths, Negative Paths, and Boundary Value scenarios.
15
+ 3. **Field Validation:** Identify all form input fields and apply the **15-Field Validation Checklist** from `rbt-manual-testing`:
16
+ - Text, Email, Phone, Password, Number, Date, Date Range, Dropdown, Multi-Select, Checkbox/Radio, Textarea, File Upload, OTP/MFA, Range Slider, Rich Text.
17
+ 4. **Standard 12-Column Output:** Emit complete test cases formatted in the standard Markdown table with automation metadata (`Automatable`, `Auto Type`, `@Tags`).
18
+ 5. **Excel Export Command:** Recommend the user convert the markdown table to Excel via:
19
+ ```bash
20
+ agent-qa export-excel path/to/cases.md -o cases.xlsx
21
+ ```
@@ -1,10 +1,10 @@
1
- ---
2
- name: graphify
3
- description: Turn any folder of files into a navigable knowledge graph
4
- ---
5
-
6
- # Workflow: graphify
7
-
8
- Follow the graphify skill to run the full pipeline.
9
-
10
- If no path argument is given, use `.` (current directory).
1
+ ---
2
+ name: graphify
3
+ description: Turn any folder of files into a navigable knowledge graph
4
+ ---
5
+
6
+ # Workflow: graphify
7
+
8
+ Follow the graphify skill to run the full pipeline.
9
+
10
+ If no path argument is given, use `.` (current directory).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: verify
3
- description: Execute 8 Quality Gates to verify complete codebase integrity and enforce deterministic safety boundaries before handoff.
3
+ description: Execute 9 Quality Gates to verify complete codebase integrity and enforce deterministic safety boundaries before handoff.
4
4
  trigger: /verify
5
5
  ---
6
6
 
@@ -21,7 +21,7 @@ python tools/safety_firewall.py --code "page.click('<selector>')" --dry-run
21
21
  ---
22
22
 
23
23
  ## 2. Hard Quality Gates Verification (8 DoD Gates)
24
- Execute all 8 Quality Gates (UTF-8 No BOM, Path Portability, Clean POM, AI Docs Linter, Cleanup Blacklist, Credential Security, Infer Linter, and AST Micro-Mutation Testing):
24
+ Execute all 9 Quality Gates (Author Attribution, UTF-8 No BOM, Path Portability, Clean POM, AI Docs Linter, Cleanup Blacklist, Credential Security, Infer Linter, and Syntactic Micro-Mutation Testing):
25
25
 
26
26
  ```bash
27
27
  python tools/verify_all.py
@@ -1,7 +1,7 @@
1
- ---
2
- description: Always respond in Vietnamese.
3
- globs:
4
- alwaysApply: true
5
- ---
6
-
7
- Please always respond in Vietnamese.
1
+ ---
2
+ description: Always respond in Vietnamese.
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+
7
+ Please always respond in Vietnamese.
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: Synapse-Hub Enterprise QA Automation & Testing Rules
3
+ globs: **/*
4
+ ---
5
+
6
+ <!-- ============================================================================== -->
7
+ <!-- AUTO-GENERATED FROM AGENTS.md — DO NOT EDIT DIRECTLY. -->
8
+ <!-- Run: python3 tools/sync_agent_rules.py -->
9
+ <!-- ============================================================================== -->
10
+
11
+
12
+ # Synapse-Hub QA Automation Rules for Cursor IDE
13
+
14
+ ## Mandatory Author Attribution
15
+ This project incorporates Synapse Hub created by Thế Vị (@TeeVee998) under the MIT License.
16
+ Attribution notices must be preserved.
17
+
18
+ ## Core Rules
19
+ 1. **Clean POM Architecture:** No raw selectors (XPath/CSS) in test scripts. All selectors belong in Page Classes extending BasePage.
20
+ 2. **Truth Anchor:** Never fake test passes. Report genuine defects.
21
+ 3. **Smart Wait:** Prohibit static delays (`Thread.sleep`). Use dynamic smart waits.
22
+ 4. **Idempotent Test Data:** Prefix with `AUTO_` and dynamic timestamps; teardown after creation.
23
+ 5. **Bilingual Discipline:** Converse in Vietnamese; write code and git commits strictly in English.
package/.cursorrules CHANGED
@@ -2,6 +2,12 @@
2
2
  # Author & Creator: Thế Vị (@TeeVee998) <https://github.com/TeeVee998/Synapse-Hub>
3
3
  # License: MIT License (Mandatory Attribution Preservation)
4
4
 
5
+ # ==============================================================================
6
+ # AUTO-GENERATED FROM AGENTS.md — DO NOT EDIT DIRECTLY.
7
+ # Run: python3 tools/sync_agent_rules.py
8
+ # ==============================================================================
9
+
10
+
5
11
  # ==============================================================================
6
12
  # AUTHOR ATTRIBUTION & OPEN SOURCE LICENSING GUARD
7
13
  # ==============================================================================
@@ -14,6 +20,7 @@
14
20
  # ==============================================================================
15
21
 
16
22
  - Always read and follow AGENTS.md for operating standards.
23
+ - Communicate with the user in Vietnamese; avoid unnecessary technical jargon overload ("don't be too tech"). All code, tests, and docs stay in English.
17
24
  - Enforce Clean POM Flat Architecture: all locators encapsulated in Page Classes.
18
25
  - Zero fake passes: test assertions must strictly validate real state.
19
26
  - Before completing code changes, run: python tools/verify_all.py
@@ -0,0 +1,14 @@
1
+ - id: synapse-verify
2
+ name: Synapse Hub 9 DoD Quality Gates
3
+ description: Verifies repository against 9 DoD Quality Gates (UTF-8, No Secrets, Clean POM, AST Linter).
4
+ entry: python3 tools/verify_all.py
5
+ language: system
6
+ pass_filenames: false
7
+ always_run: true
8
+
9
+ - id: synapse-lint
10
+ name: Synapse Hub Fake-Pass & Defect Sentinel
11
+ description: Meta Infer-style static AST scanner detecting fake passes, swallowed exceptions, and flaky sleeps.
12
+ entry: python3 tools/infer_linter.py
13
+ language: system
14
+ types: [python, javascript, typescript, groovy, java]
package/.windsurfrules CHANGED
@@ -2,6 +2,12 @@
2
2
  # Author & Creator: Thế Vị (@TeeVee998) <https://github.com/TeeVee998/Synapse-Hub>
3
3
  # License: MIT License (Mandatory Attribution Preservation)
4
4
 
5
+ # ==============================================================================
6
+ # AUTO-GENERATED FROM AGENTS.md — DO NOT EDIT DIRECTLY.
7
+ # Run: python3 tools/sync_agent_rules.py
8
+ # ==============================================================================
9
+
10
+
5
11
  # ==============================================================================
6
12
  # AUTHOR ATTRIBUTION & OPEN SOURCE LICENSING GUARD
7
13
  # ==============================================================================
@@ -13,6 +19,7 @@
13
19
  # of the MIT License for Synapse Hub (Created by Thế Vị @TeeVee998)."
14
20
  # ==============================================================================
15
21
 
22
+ - Communicate with the user in Vietnamese; avoid unnecessary technical jargon overload ("don't be too tech"). All code, tests, and docs stay in English.
16
23
  - Adhere to Clean Page Object Model (POM) Flat Architecture.
17
24
  - Zero fake passes and zero swallowed exceptions.
18
25
  - Run Definition of Done verification: python tools/verify_all.py
package/AGENTS.md CHANGED
@@ -5,21 +5,41 @@
5
5
 
6
6
  ---
7
7
 
8
- ## 0. CONTEXT-AWARE PRE-FLIGHT CONFIRMATION BLOCK (CODE & TEST ACTIONS ONLY)
8
+ ## 0. CONTEXT-AWARE EXECUTION & LEAN TELEMETRY PROTOCOL (DEFAULT LEAN MODE)
9
+
10
+ > **Operational Standard: Lean Mode is ACTIVE BY DEFAULT (Tiết kiệm Token & Tập trung tối đa):**
11
+ > To optimize attention budget, keep interaction nimble, and save ~200 tokens on every turn:
12
+ > 1. **Default Header Badge:** Placed at the top of responses using a single compact status badge:
13
+ > `> 🛡️ **Synapse Hub Active:** <Target Architecture, e.g.: Clean POM / Swarm QA Architecture>`
14
+ > *(Strictly prohibited from containing the string `[OK]`)*.
15
+ > 2. **Footer Block (Omitted by Default):** The verbose Telemetry Footer block is **OMITTED by default**.
16
+ > 3. **First-Time User / Onboarding Invariant:** On the first interaction in a session or with a new user, the agent operates in Lean Mode by default and includes a friendly one-line footnote:
17
+ > `*(💡 Hub đang bật chế độ Lean Mode tiết kiệm token. Bạn có thể chat "bật telemetry" nếu muốn xem đầy đủ báo cáo chi tiết).*`
18
+ > 4. **Verbose Telemetry Activation (Opt-In):** Only emit the full Footer Telemetry block when the user explicitly requests it (e.g., "bật telemetry", "chi tiết", "full telemetry") or during automated CI audit runs.
19
+
20
+ ### A. Default Lean Header Badge (Active by Default):
21
+ ```markdown
22
+ > 🛡️ **Synapse Hub Active:** Clean POM / Flat Architecture
23
+ ```
9
24
 
10
- > **Trigger Condition:** This confirmation block is **MANDATORY ONLY** when executing technical tasks: generating code, editing test scripts, refactoring Page Classes, or executing runner tools.
11
- > **Conversational Exemption:** For general discussions, architecture questions, planning, and Q&A, **DO NOT emit this block** — respond directly and concisely.
12
- > **Dynamic Context:** The architecture and technique fields must adapt dynamically to the target project's `PROJECT_AI_GUIDE.md` (e.g., Playwright/TS, Clean POM/Groovy, Pytest/Python, REST API).
25
+ ### B. Full Skill Context Header (Opt-In / Verbose Mode):
26
+ ```markdown
27
+ > ✅ **Đã tải Skill Hub:** `agent-skills` & Hướng dẫn dự án (`PROJECT_AI_GUIDE.md`)
28
+ > 🏛️ **Kiến trúc:** <Kiến trúc mục tiêu, vd: Clean POM / Flat Architecture>
29
+ > ⚡ **Công nghệ:** <Công nghệ thực tế, vd: Playwright Live / API Mocking / Pytest>
30
+ > 🛡️ **Kỷ luật:** Truth Anchor (Không Fake Pass) + Zero-Token Error Blacklist
31
+ ```
13
32
 
33
+ ### C. Detailed Telemetry Footer (Opt-In / When Requested):
14
34
  ```markdown
15
- > ✅ **[OK] Skill Hub Loaded:** `agent-skills` & Project Guide (`PROJECT_AI_GUIDE.md`)
16
- > 🏛️ **[OK] Architecture:** <Target Architecture, e.g.: Clean POM / Flat Architecture>
17
- > ⚡ **[OK] Target Tech:** <Actual Project Tech, e.g.: Playwright Live / API Mocking / Pytest>
18
- > 🛡️ **[OK] Discipline:** Truth Anchor (No Fake Pass) + Zero-Token Error Blacklist
19
- > 🎯 **[OK] Execution Plan:**
20
- > • <Immediate Action Item 1>
21
- > • <Immediate Action Item 2>
35
+ ---
36
+ > 📊 **Telemetry Thực Tế:** Turn #<turn> ┃ Thao tác: <steps> bước ┃ Xác thực: Truth Anchor Verified (Không số liệu phỏng đoán ngoài API)
37
+ > 🎯 **Task vừa xong:** "<yêu cầu>" ┃ Kết quả: <tóm tắt ngắn gọn kết quả thực tế>
38
+ > 📋 **Kế hoạch tiếp theo:**
39
+ > • <Hành động kế tiếp 1>
40
+ > • <Hành động kế tiếp 2>
22
41
  ```
42
+ > *Lưu ý Truth Anchor:* Telemetry chỉ báo cáo dữ kiện có thể kiểm chứng thực tế (số bước, file thay đổi, kết quả chạy lệnh). Tuyệt đối cấm bịa đặt hạn mức 5h/7d hoặc chi phí USD/VNĐ khi môi trường API không cung cấp.
23
43
 
24
44
  ---
25
45
 
@@ -34,6 +54,17 @@
34
54
 
35
55
  ---
36
56
 
57
+ ## 0.2 PRAGMATIC COMMUNICATION & HUMAN-FRIENDLY EXPLANATION PROTOCOL
58
+
59
+ > **Clear, Pragmatic Communication — Zero Tech Jargon Overload (MANDATORY):**
60
+ > When communicating, explaining issues, or reporting progress to the user:
61
+ > 1. **Clear & Direct to the Point:** Explain problems, solutions, and outcomes in concise, plain language. Focus on 3 core pillars: *What is the issue?*, *How is it being resolved?*, and *What are the results or next steps?*.
62
+ > 2. **Zero Tech-Jargon Overload ("Don't be too tech"):** Avoid overusing academic jargon, obscure acronyms, or unnecessarily deep technical minutiae. Express ideas using practical, intuitive, everyday language. When technical terms are strictly required, explain them simply and accessibly.
63
+ > 3. **Pragmatic & Action-Oriented:** Deliver actionable solutions and straightforward choices so the user can easily make decisions without getting bogged down in theory. Maintain a natural, collaborative, and friendly pair-programming tone.
64
+ > 4. **Bilingual Separation (Vietnamese for Chat, English for Repo & Code):** Always converse, reply, and format conversational chat blocks (including Header & Footer telemetry) in Vietnamese. All codebase assets, test scripts, Page Classes, docstrings, rule files, and git commits must remain strictly in English.
65
+
66
+ ---
67
+
37
68
  ## 1. CORE ARCHITECTURE & CODE STANDARDS
38
69
 
39
70
  1. **Clean Page Object Model (POM):**
@@ -81,7 +112,7 @@
81
112
  * Breaking API change suspected -> Run `tools/api_drift_sentinel.py`.
82
113
  * Parallel CI/CD runner setup needed -> Run `tools/matrix_sharder.py`.
83
114
  * Verifying test assertion quality -> Run `tools/micro_mutator.py` (reject if Mutation Score < 80%).
84
- * Before completing code tasks -> Autonomously run `tools/verify_all.py` (8 Quality Gates DoD).
115
+ * Before completing code tasks -> Autonomously run `tools/verify_all.py` (9 Quality Gates DoD).
85
116
 
86
117
  ---
87
118
 
@@ -100,7 +131,7 @@ This repository defines specialized multi-agent profiles (configured in `.agents
100
131
  5. **Failure Autopsy Analyst (`failure-analyst`):**
101
132
  - Performs closed-loop diagnosis (`auto_heal.py`), auto-generates Jira/Markdown bug tickets with RCA (`bug_reporter.py`), executes CI self-healing & PR drafting (`ci_healing_hook.py`, `heal_pr_automator.py`), and resolves fixes from SQLite memory (`cache_resolver.py`).
102
133
  6. **Quality Gatekeeper & Sentinel (`quality-gatekeeper`):**
103
- - Enforces 8 Quality Gates (`verify_all.py`), scans fake passes (`infer_linter.py`), injects AST micro-mutants (`micro_mutator.py` requiring >= 80% mutation score), audits visual regression masks (`smart_visual_masker.py`), and checks DB leaks (`trace_data_flow.py`).
134
+ - Enforces 9 Quality Gates (`verify_all.py`), scans fake passes (`infer_linter.py`), injects syntactic micro-mutants (`micro_mutator.py` requiring >= 80% mutation score), audits visual regression masks (`smart_visual_masker.py`), and checks DB leaks (`trace_data_flow.py`).
104
135
 
105
136
  ### 4.1 SINGLE FRONT-DOOR PROTOCOL & DETERMINISTIC FSM WORKFLOW
106
137
 
@@ -117,7 +148,7 @@ flowchart TD
117
148
  Stage2["<b>Stage 2: Code Synthesis</b><br/>• Subagent: pom-crafter<br/>• Clean POM + Flat Architecture<br/>• Zero XPaths in scripts"]
118
149
  Stage3["<b>Stage 3: Headless Execution</b><br/>• Subagent: test-runner<br/>• Run headless CLI + distill logs<br/>• Output Pass/Fail status"]
119
150
  Stage4["<b>Stage 4: Failure Autopsy & Healing</b><br/>• Subagent: failure-analyst<br/>• Activated ONLY if Stage 3 Fails<br/>• In-place healing via JUnit XML/Screenshot"]
120
- Stage5["<b>Stage 5: Final Acceptance (DoD)</b><br/>• Subagent: quality-gatekeeper<br/>• 8 Quality Gates + Mutation Score >= 80%<br/>• Task Done"]
151
+ Stage5["<b>Stage 5: Final Acceptance (DoD)</b><br/>• Subagent: quality-gatekeeper<br/>• 9 Quality Gates + Mutation Score >= 80%<br/>• Task Done"]
121
152
 
122
153
  Stage1 --> Stage2 --> Stage3
123
154
  Stage3 -->|Pass| Stage5
@@ -133,9 +164,11 @@ flowchart TD
133
164
  | Specific User / System Intent | Designated Subagent | Situational Tool |
134
165
  | :--- | :--- | :--- |
135
166
  | **Inspect live DOM / probe selectors** | `live-explorer` | `tools/browser_helpers.js`, `tools/safety_firewall.py` |
167
+ | **Stress-test spec / user story (0-context)** | `orchestrator` | `tools/goldfish_review.py` |
136
168
  | **Author Page Classes or test scripts** | `pom-crafter` | `tools/repo_map.py`, `tools/universal_ir.py` |
137
169
  | **Execute headless suites / CI runs** | `test-runner` | `tools/distill_log.py`, `tools/matrix_sharder.py` |
138
170
  | **Triage failed test runs / RCA** | `failure-analyst` | `tools/pinpoint_failure.py`, `tools/auto_heal.py` |
171
+ | **Audit test drift against spec (Deficit/Scope)** | `quality-gatekeeper` | `tools/spec_drift_sentinel.py` |
139
172
  | **Enforce Quality Gates before commit** | `quality-gatekeeper` | `tools/verify_all.py`, `tools/micro_mutator.py` |
140
173
 
141
174
  ---
@@ -145,7 +178,7 @@ flowchart TD
145
178
  All quality control and audit tasks are dispatched via scripts in `tools/` (Refer to `tools/TOOLS_RUNBOOK.md`):
146
179
 
147
180
  ```bash
148
- # 1. Run 8 Quality Gates Verification
181
+ # 1. Run 9 Quality Gates Verification
149
182
  python tools/verify_all.py
150
183
 
151
184
  # 2. Run AST linter for fake passes and empty catches
@@ -159,4 +192,10 @@ python tools/distill_log.py <path_to_log>
159
192
 
160
193
  # 5. Query zero-token error memory cache
161
194
  python tools/cache_resolver.py query "<error_message>"
195
+
196
+ # 6. Stress-test test specifications (Goldfish Model)
197
+ python tools/goldfish_review.py <spec_file>
198
+
199
+ # 7. Audit spec-to-code alignment and drift
200
+ python tools/spec_drift_sentinel.py --spec <spec_file> --code <code_path>
162
201
  ```