synapse-hub 2.2.4 → 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 (311) 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 +10 -16
  10. package/.agents/rules/graphify.md +14 -14
  11. package/.agents/rules/mandatory-playwright-live.md +29 -29
  12. package/.agents/rules/mobile_appium_rules.md +132 -0
  13. package/.agents/rules/performance_testing_rules.md +74 -0
  14. package/.agents/rules/systematic-debugging.md +6 -6
  15. package/.agents/skills/agent-orchestration-multi-agent-optimize/SKILL.md +64 -215
  16. package/.agents/skills/agent-orchestration-multi-agent-optimize/examples/swarm_workload_config.json +12 -0
  17. package/.agents/skills/antigravity-test-sentinel/SKILL.md +3 -3
  18. package/.agents/skills/antigravity-test-sentinel/examples/dod_gate_policy.json +11 -0
  19. package/.agents/skills/api-network-mocking-interception/SKILL.md +1 -1
  20. package/.agents/skills/api-network-mocking-interception/examples/network_route_stub.json +9 -0
  21. package/.agents/skills/api-spec-to-e2e-matrix/SKILL.md +9 -9
  22. package/.agents/skills/api-spec-to-e2e-matrix/examples/sample_openapi.json +19 -0
  23. package/.agents/skills/architecture-decision-records/SKILL.md +35 -412
  24. package/.agents/skills/architecture-decision-records/examples/0001-record-architecture-decisions.md +12 -0
  25. package/.agents/skills/auth-session-and-cookie-manager/SKILL.md +1 -1
  26. package/.agents/skills/auth-session-and-cookie-manager/examples/storage_state_sample.json +11 -0
  27. package/.agents/skills/backend-load-and-stress-patterns/SKILL.md +80 -186
  28. package/.agents/skills/backend-load-and-stress-patterns/examples/k6_load_test_sample.js +13 -0
  29. package/.agents/skills/bats-testing-patterns/SKILL.md +1 -1
  30. package/.agents/skills/bats-testing-patterns/examples/cli_runner_test.bats +6 -0
  31. package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
  32. package/.agents/skills/clean-pom-crafter/SKILL.md +21 -3
  33. package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
  34. package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
  35. package/.agents/skills/code-refactoring-refactor-clean/SKILL.md +2 -2
  36. package/.agents/skills/code-refactoring-refactor-clean/examples/refactored_page_sample.groovy +9 -0
  37. package/.agents/skills/db-state-verifier-and-seeder/SKILL.md +5 -5
  38. package/.agents/skills/db-state-verifier-and-seeder/examples/db_fixture_seed.json +12 -0
  39. package/.agents/skills/e2e-testing-patterns/SKILL.md +1 -1
  40. package/.agents/skills/e2e-testing-patterns/examples/playwright_sharded_config.ts +12 -0
  41. package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
  42. package/.agents/skills/failure-autopsy-and-healing/SKILL.md +17 -3
  43. package/.agents/skills/failure-autopsy-and-healing/examples/sample_junit_failure.xml +8 -0
  44. package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
  45. package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
  46. package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
  47. package/.agents/skills/file-and-report-validator/SKILL.md +1 -1
  48. package/.agents/skills/file-and-report-validator/examples/sample_export_schema.json +14 -0
  49. package/.agents/skills/flaky-test-sentinel-and-quarantine/SKILL.md +3 -3
  50. package/.agents/skills/flaky-test-sentinel-and-quarantine/examples/quarantine_registry.json +11 -0
  51. package/.agents/skills/gherkin-to-suite/SKILL.md +103 -0
  52. package/.agents/skills/gherkin-to-suite/examples/checkout.feature +39 -0
  53. package/.agents/skills/gherkin-to-suite/examples/suite_report_sample.json +334 -0
  54. package/.agents/skills/github-actions-templates/SKILL.md +47 -304
  55. package/.agents/skills/github-actions-templates/examples/matrix_test_pipeline.yml +8 -0
  56. package/.agents/skills/graphify-impact-analyzer/SKILL.md +6 -6
  57. package/.agents/skills/graphify-impact-analyzer/examples/dependency_blast_radius.json +8 -0
  58. package/.agents/skills/katalon-cli-runner/SKILL.md +2 -2
  59. package/.agents/skills/katalon-cli-runner/examples/headless_kre_exec.sh +3 -0
  60. package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
  61. package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
  62. package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
  63. package/.agents/skills/lam-script-generator/SKILL.md +42 -1
  64. package/.agents/skills/lam-script-generator/examples/user_story_sample.md +8 -0
  65. package/.agents/skills/lean-code-ladder/SKILL.md +83 -0
  66. package/.agents/skills/lean-code-ladder/examples/ladder_walkthrough.md +37 -0
  67. package/.agents/skills/meta-prompt-crafter/SKILL.md +107 -0
  68. package/.agents/skills/meta-prompt-crafter/examples/qa_prompt_template.md +35 -0
  69. package/.agents/skills/persistent-planning-files/SKILL.md +108 -0
  70. package/.agents/skills/persistent-planning-files/examples/task_plan_example.md +56 -0
  71. package/.agents/skills/playwright-live-interaction/SKILL.md +49 -1
  72. package/.agents/skills/playwright-live-interaction/examples/live_probe_script.js +5 -0
  73. package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
  74. package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
  75. package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
  76. package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
  77. package/.agents/skills/playwright-webapp-testing/SKILL.md +93 -0
  78. package/.agents/skills/playwright-webapp-testing/examples/server_lifecycle_playwright.py +63 -0
  79. package/.agents/skills/rbt-manual-testing/SKILL.md +150 -0
  80. package/.agents/skills/rbt-manual-testing/examples/checkout_rbt_manual_suite.md +25 -0
  81. package/.agents/skills/security-dast-sentinel/SKILL.md +54 -135
  82. package/.agents/skills/security-dast-sentinel/examples/dast_scan_config.json +10 -0
  83. package/.agents/skills/self-healing-locator/SKILL.md +24 -10
  84. package/.agents/skills/self-healing-locator/examples/aom_diff_sample.json +16 -0
  85. package/.agents/skills/skillspector-security-guard/SKILL.md +32 -90
  86. package/.agents/skills/skillspector-security-guard/examples/safe_mcp_config.json +12 -0
  87. package/.agents/skills/surgical-coding-principles/SKILL.md +89 -0
  88. package/.agents/skills/surgical-coding-principles/examples/surgical_vs_scope_creep.md +46 -0
  89. package/.agents/skills/synthetic-test-data-generator/SKILL.md +3 -3
  90. package/.agents/skills/synthetic-test-data-generator/examples/idempotent_data_recipe.json +9 -0
  91. package/.agents/skills/systematic-debugging/SKILL.md +100 -0
  92. package/.agents/skills/systematic-debugging/examples/four_phase_case.md +44 -0
  93. package/.agents/skills/test-driven-development/SKILL.md +114 -0
  94. package/.agents/skills/test-driven-development/examples/red_green_refactor_qa.md +78 -0
  95. package/.agents/skills/token-and-context-optimizer/SKILL.md +1 -1
  96. package/.agents/skills/token-and-context-optimizer/examples/distilled_log_sample.txt +3 -0
  97. package/.agents/skills/verification-before-completion/SKILL.md +100 -0
  98. package/.agents/skills/verification-before-completion/examples/evidence_log_example.md +46 -0
  99. package/.agents/skills/visual-regression-sentinel/SKILL.md +21 -1
  100. package/.agents/skills/visual-regression-sentinel/examples/visual_mask_rules.json +9 -0
  101. package/.agents/skills/wcag-audit-patterns/SKILL.md +3 -3
  102. package/.agents/skills/wcag-audit-patterns/examples/wcag_compliance_checklist.json +10 -0
  103. package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
  104. package/.agents/skills/web-vitals-and-performance-profiler/SKILL.md +1 -1
  105. package/.agents/skills/web-vitals-and-performance-profiler/examples/cwv_budget_policy.json +6 -0
  106. package/.agents/templates/completion_report.md +57 -57
  107. package/.agents/workflows/analyze_requirement_document.md +18 -0
  108. package/.agents/workflows/export_testcases_excel.md +32 -0
  109. package/.agents/workflows/generate_combinatorial_test_data.md +28 -0
  110. package/.agents/workflows/generate_cross_module_test_plan.md +37 -0
  111. package/.agents/workflows/generate_manual_testcases_rbt.md +56 -0
  112. package/.agents/workflows/generate_requirements_from_website.md +25 -0
  113. package/.agents/workflows/generate_testcases_from_requirements.md +21 -0
  114. package/.agents/workflows/graphify.md +10 -10
  115. package/.agents/workflows/verify.md +2 -2
  116. package/.cursor/rules/language.mdc +7 -7
  117. package/.cursor/rules/synapse-qa.mdc +23 -0
  118. package/.cursorrules +7 -0
  119. package/.pre-commit-hooks.yaml +14 -0
  120. package/.windsurfrules +7 -0
  121. package/AGENTS.md +54 -15
  122. package/CLAUDE.md +35 -12
  123. package/LICENSE +30 -0
  124. package/NOTICE +180 -0
  125. package/README.en.md +325 -0
  126. package/README.md +247 -516
  127. package/action.yml +51 -0
  128. package/benchmarks/qa_eval/README.md +71 -0
  129. package/benchmarks/qa_eval/build_dataset.py +677 -0
  130. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +22 -0
  131. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +22 -0
  132. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +22 -0
  133. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +22 -0
  134. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +22 -0
  135. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +21 -0
  136. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +21 -0
  137. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +21 -0
  138. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +21 -0
  139. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +21 -0
  140. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +23 -0
  141. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +23 -0
  142. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +23 -0
  143. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +23 -0
  144. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +23 -0
  145. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +22 -0
  146. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +22 -0
  147. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +22 -0
  148. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +22 -0
  149. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +23 -0
  150. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +22 -0
  151. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +22 -0
  152. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +22 -0
  153. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +22 -0
  154. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +22 -0
  155. package/benchmarks/qa_eval/eval_runner.py +418 -0
  156. package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +83 -0
  157. package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +69 -0
  158. package/benchmarks/qa_eval/reports/eval_results.json +105 -0
  159. package/bin/agent-qa.js +10 -3
  160. package/docs/ARCHITECTURE.md +107 -0
  161. package/docs/CI_CD_INTEGRATION.md +94 -0
  162. package/docs/CLI_REFERENCE.md +157 -0
  163. package/docs/CONTRIBUTING.md +91 -0
  164. package/docs/PLUGIN_DEVELOPMENT_GUIDE.md +126 -0
  165. package/docs/TOKEN_QUOTA_PLAYBOOK.md +41 -0
  166. package/docs/adopted-ecosystem-tools.md +87 -0
  167. package/docs/schemas/synapse.config.schema.json +64 -0
  168. package/examples/cypress-ecommerce-suite/README.md +45 -0
  169. package/examples/cypress-ecommerce-suite/cypress/e2e/checkout.cy.js +17 -0
  170. package/examples/cypress-ecommerce-suite/cypress/pages/BasePage.js +29 -0
  171. package/examples/cypress-ecommerce-suite/cypress/pages/CartPage.js +51 -0
  172. package/examples/cypress-ecommerce-suite/cypress.config.js +13 -0
  173. package/examples/cypress-ecommerce-suite/package.json +13 -0
  174. package/examples/katalon-suite/Keywords/pages/BasePage.groovy +19 -0
  175. package/examples/katalon-suite/Keywords/pages/DashboardPage.groovy +29 -0
  176. package/examples/katalon-suite/Keywords/pages/LoginPage.groovy +45 -0
  177. package/examples/katalon-suite/Profiles/default.glbl +12 -0
  178. package/examples/katalon-suite/README.md +18 -0
  179. package/examples/katalon-suite/Scripts/Auth/TC_LoginSuccess/Script1234567890.groovy +12 -0
  180. package/examples/katalon-suite/Scripts/Dashboard/TC_ViewSummary/Script1234567891.groovy +15 -0
  181. package/examples/katalon-suite/katalon_suite.prj +21 -0
  182. package/examples/playwright-crm-suite/README.md +40 -0
  183. package/examples/playwright-crm-suite/package.json +14 -0
  184. package/examples/playwright-crm-suite/pages/BasePage.ts +37 -0
  185. package/examples/playwright-crm-suite/pages/CustomerPage.ts +57 -0
  186. package/examples/playwright-crm-suite/pages/LoginPage.ts +32 -0
  187. package/examples/playwright-crm-suite/playwright.config.ts +27 -0
  188. package/examples/playwright-crm-suite/tests/auth.spec.ts +22 -0
  189. package/examples/playwright-crm-suite/tests/customers.spec.ts +33 -0
  190. package/examples/plugins/sample-custom-plugin/README.md +14 -0
  191. package/examples/plugins/sample-custom-plugin/plugin.json +16 -0
  192. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/SKILL.md +29 -0
  193. package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/examples/audit_fixture.json +8 -0
  194. package/examples/plugins/sample-custom-plugin/tools/custom_security_headers.py +125 -0
  195. package/examples/practices/README.md +22 -0
  196. package/examples/practices/requirements/crm/requirements_contracts.md +292 -0
  197. package/examples/practices/requirements/crm/requirements_customers.md +462 -0
  198. package/examples/practices/requirements/crm/requirements_login.md +202 -0
  199. package/examples/practices/requirements/crm/requirements_projects.md +396 -0
  200. package/examples/practices/requirements/crm/requirements_tasks.md +343 -0
  201. package/examples/practices/requirements/ecommerce/requirements_category_brand.txt +402 -0
  202. package/examples/practices/requirements/jira/KAN-5/KAN-1/2026-04-03_04-28-27.png +0 -0
  203. package/examples/practices/requirements/jira/KAN-5/KAN-1/KAN-1_requirement.md +52 -0
  204. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-19.png +0 -0
  205. package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-57.png +0 -0
  206. package/examples/practices/requirements/jira/KAN-5/KAN-4/KAN-4_requirement.md +119 -0
  207. package/examples/practices/requirements/jira/KAN-5/KAN-5_overview.md +9 -0
  208. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-08.png +0 -0
  209. package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-23.png +0 -0
  210. package/examples/practices/requirements/jira/KAN-5/KAN-6/KAN-6_requirement.md +32 -0
  211. package/examples/practices/testcases/api/book_management_api_test_cases.md +144 -0
  212. package/examples/practices/testcases/api/user_management_api_test_cases.md +139 -0
  213. package/examples/practices/testcases/crm/test_cases_crm_login.md +148 -0
  214. package/examples/practices/testcases/crm/test_cases_customers.md +156 -0
  215. package/examples/pytest-api-suite/README.md +45 -0
  216. package/examples/pytest-api-suite/conftest.py +31 -0
  217. package/examples/pytest-api-suite/pages/user_api_client.py +36 -0
  218. package/examples/pytest-api-suite/requirements.txt +2 -0
  219. package/examples/pytest-api-suite/tests/test_user_api.py +44 -0
  220. package/examples/selenium-suite/README.md +18 -0
  221. package/examples/selenium-suite/pages/base_page.py +27 -0
  222. package/examples/selenium-suite/pages/login_page.py +29 -0
  223. package/examples/selenium-suite/pages/order_page.py +25 -0
  224. package/examples/selenium-suite/pytest.ini +6 -0
  225. package/examples/selenium-suite/requirements.txt +2 -0
  226. package/examples/selenium-suite/tests/test_login.py +10 -0
  227. package/examples/selenium-suite/tests/test_order.py +10 -0
  228. package/package.json +22 -7
  229. package/scripts/generate_skill_examples.py +244 -0
  230. package/scripts/install.ps1 +112 -0
  231. package/scripts/install_global_plugin.ps1 +94 -0
  232. package/scripts/install_global_plugin.sh +49 -0
  233. package/scripts/lint_skills.ps1 +57 -0
  234. package/scripts/package_dist.py +323 -0
  235. package/scripts/setup.sh +59 -0
  236. package/scripts/update_hub.ps1 +19 -0
  237. package/scripts/update_hub.sh +15 -0
  238. package/skills_manifest.json +209 -6
  239. package/synapse.config.json +30 -0
  240. package/templates/PROJECT_AI_GUIDE_TEMPLATE.md +7 -7
  241. package/templates/PROJECT_STATE_TEMPLATE.md +1 -1
  242. package/templates/ai_bridges/CLAUDE.md +33 -16
  243. package/templates/ai_bridges/copilot-instructions.md +14 -21
  244. package/templates/ai_bridges/cursor_synapse_qa.mdc +17 -20
  245. package/templates/ai_bridges/windsurfrules +21 -21
  246. package/templates/ci/github-actions-synapse.yml +71 -4
  247. package/templates/welcome.html.tmpl +1674 -0
  248. package/tools/.infer_baseline.json +1102 -0
  249. package/tools/TOOLS_RUNBOOK.md +92 -130
  250. package/tools/__init__.py +26 -0
  251. package/tools/agent_canary.py +501 -501
  252. package/tools/analyze_project.py +31 -17
  253. package/tools/api_fuzzer.py +278 -6
  254. package/tools/author_integrity.py +6 -6
  255. package/tools/auto_heal.py +1 -1
  256. package/tools/browser_helpers.js +105 -7
  257. package/tools/bug_reporter.py +31 -1
  258. package/tools/bump_version.py +23 -3
  259. package/tools/cache_resolver.py +248 -14
  260. package/tools/check_env.py +55 -14
  261. package/tools/check_version_sync.py +153 -0
  262. package/tools/ci_healing_hook.py +1 -1
  263. package/tools/cli.py +263 -13
  264. package/tools/count_tokens.py +1257 -0
  265. package/tools/dashboard_generator.py +2638 -0
  266. package/tools/db_sandbox.py +198 -20
  267. package/tools/e2e_flow_prober.ps1 +12 -64
  268. package/tools/e2e_flow_prober.py +99 -0
  269. package/tools/e2e_flow_prober.sh +4 -0
  270. package/tools/flaky_detector.py +4 -3
  271. package/tools/generate_allure_report.ps1 +12 -29
  272. package/tools/generate_allure_report.py +77 -0
  273. package/tools/generate_allure_report.sh +4 -0
  274. package/tools/generate_jmx_plan.py +257 -58
  275. package/tools/generate_test_reports.ps1 +12 -134
  276. package/tools/generate_test_reports.py +133 -0
  277. package/tools/generate_test_reports.sh +4 -0
  278. package/tools/gherkin_suite.py +758 -0
  279. package/tools/git_pre_commit_guard.py +12 -6
  280. package/tools/goldfish_review.py +366 -0
  281. package/tools/heal_pr_automator.py +1 -1
  282. package/tools/heuristic_locator_matcher.py +170 -21
  283. package/tools/infer_linter.py +612 -70
  284. package/tools/lint_ai_docs.py +64 -0
  285. package/tools/matrix_sharder.py +1 -1
  286. package/tools/mcp_excel_server.ps1 +12 -250
  287. package/tools/mcp_excel_server.py +249 -0
  288. package/tools/mcp_excel_server.sh +4 -0
  289. package/tools/mcp_server.py +368 -144
  290. package/tools/md_to_xlsx.py +307 -0
  291. package/tools/micro_mutator.py +300 -69
  292. package/tools/omni_transpiler.py +2 -2
  293. package/tools/output_formatter.py +128 -0
  294. package/tools/pinpoint_failure.py +88 -88
  295. package/tools/project_state.py +2 -2
  296. package/tools/repo_map.py +1 -1
  297. package/tools/safety_firewall.py +196 -45
  298. package/tools/setup_project.py +294 -30
  299. package/tools/spec_drift_sentinel.py +439 -0
  300. package/tools/sync_agent_rules.py +248 -0
  301. package/tools/telemetry_correlator.py +45 -0
  302. package/tools/test_impact.py +51 -12
  303. package/tools/tms_sync_bridge.py +21 -5
  304. package/tools/universal_ir.py +3 -0
  305. package/tools/update_sentinel.py +87 -15
  306. package/tools/verify_all.ps1 +13 -0
  307. package/tools/verify_all.py +463 -79
  308. package/tools/visual_diff_canvas.py +1 -0
  309. package/tools/visual_som_helper.py +1 -1
  310. package/tools/watch_mode.py +305 -0
  311. package/tools/welcome_page.py +291 -0
@@ -0,0 +1,74 @@
1
+ # Performance & Load Testing Invariants (k6 · JMeter · Locust)
2
+
3
+ > **Scope:** Applies whenever designing, executing, or analyzing performance, load, stress, spike, or soak test workloads.
4
+ > These invariants complement `AGENTS.md` and enforce enterprise safety, workload realism, and zero-hallucination analysis.
5
+
6
+ ---
7
+
8
+ ## 1. Safety Gate & Approval Invariants (Mandatory Pre-Flight)
9
+
10
+ 1. **Explicit Authorization:**
11
+ - Execute load tests **only** against pre-approved, dedicated environments (performance test environment or isolated sandbox).
12
+ - **Strictly forbidden:** Running load tests against production, shared staging, public demo sites, or third-party APIs without formal written sign-off.
13
+ 2. **Pre-Run Declaration:**
14
+ - Prior to any execution above Smoke test, the agent must declare the run profile and wait for explicit confirmation:
15
+ - Target host and environment owner
16
+ - Test archetype (Smoke, Average Load, Stress, Spike, Soak)
17
+ - Load profile (max VUs, target iterations/sec or requests/sec, duration, ramp-up/down phases)
18
+ - Data volume created and teardown strategy
19
+ - Kill-switch threshold (`abortOnFail`)
20
+ 3. **Progressive Stepped Escalation:**
21
+ - Always adhere to progressive ramp-up: **Smoke (1–5 VUs) → Baseline Average Load → Stress / Spike / Soak**.
22
+ - Never initiate Stress, Spike, Soak, or Breakpoint runs autonomously.
23
+ 4. **Hard Caps & Kill-Switch:**
24
+ - Every script must enforce hard upper bounds on rate and VUs, finite duration, and an automatic abort condition (`abortOnFail` when error rate breaches acceptable thresholds, e.g., > 10%).
25
+ - Unbounded loops or infinite duration scripts are strictly prohibited.
26
+ 5. **Third-Party Isolation:**
27
+ - Mock or stub third-party external dependencies (Payment Gateways, SMS providers, email senders, CAPTCHA, web analytics). Never send synthetic load to unisolated external partners.
28
+ 6. **Data Safety & Idempotent Cleanup:**
29
+ - Write traffic must use isolated, synthetic test data with recognizable prefixes (e.g., `PERF_AUTO_`, `PERF-`). Real customer credentials or PII must never be used.
30
+ - Every creation run must be paired with an automated teardown or ephemeral DB rollback.
31
+
32
+ ---
33
+
34
+ ## 2. Workload Modeling Invariants
35
+
36
+ 1. **Open vs. Closed Model:**
37
+ - **Open Model (Arrival Rate):** Use arrival-rate executors for public web traffic or SLA requirements stated in rate (e.g., `N req/sec`). Real users arrive independently of system slowdown.
38
+ - **Closed Model (Virtual Users):** Use VU-based executors only when modeling fixed concurrent sessions (e.g., internal enterprise portals).
39
+ 2. **Realistic Think Time:**
40
+ - Model user think time between journey steps using realistic distributions (e.g., Gaussian or uniform 1s–5s). Zero-think-time "hammer" testing is forbidden unless specifically requested for denial-of-service resilience audits.
41
+ 3. **Data Realism & Cache Skew Prevention:**
42
+ - Parameterize query parameters, identifiers, and payloads across realistic key spaces. Repeatedly querying identical records measures database cache hit rates rather than true backend capability.
43
+ 4. **Phase-Based Evaluation:**
44
+ - Structure tests into `Ramp-Up`, `Steady State`, and `Ramp-Down` phases.
45
+ - Compute SLA thresholds and verdicts **strictly against the Steady State**, never against warm-up or cool-down transients.
46
+
47
+ ---
48
+
49
+ ## 3. k6 Script Engineering Standards
50
+
51
+ 1. **Script Structure:**
52
+ - `options` (profile, stages, thresholds) → `setup()` (one-time auth and shared state) → default function (user journey with `check()` calls) → `teardown()` (cleanup).
53
+ 2. **Valid Threshold Syntax:**
54
+ - Use standard k6 threshold syntax: `metric{tag:value}: ['p(95)<500']`. Braces contain tag filters only.
55
+ - Latency thresholds must evaluate successful responses: `'http_req_duration{expected_response:true}': ['p(95)<500', 'p(99)<1000']`.
56
+ - Always pair `check()` with a `checks` threshold (e.g., `'checks': ['rate>0.99']`), as unasserted check failures do not alter k6 exit codes.
57
+ 3. **Generator Efficiency:**
58
+ - Set `discardResponseBodies: true` when response bodies are not required for subsequent extractions, minimizing memory overhead on the load generator.
59
+ 4. **Strict Credential Hygiene:**
60
+ - Pass tokens, usernames, and base URLs via environment variables (`__ENV.BASE_URL`). Never hardcode secrets in test plans or committed repository scripts.
61
+
62
+ ---
63
+
64
+ ## 4. Truth Anchor & Performance Autopsy Protocol
65
+
66
+ 1. **No Lowering Thresholds (Truth Anchor):**
67
+ - If an SLA threshold is breached, report the failure with root causes. **Never loosen thresholds, truncate steady states, or drop samples to manufacture a false pass.**
68
+ 2. **Structured Analysis Sequence:**
69
+ - Analyze results in strict sequence:
70
+ 1. **Run Validity:** Confirm `dropped_iterations == 0` and generator CPU remained < 80%. If the generator was saturated, mark the run INVALID.
71
+ 2. **Error Rate:** Categorize HTTP 4xx, 5xx, timeouts, connection resets.
72
+ 3. **Latency Percentiles:** Report P50, P90, P95, P99, and Max. Never headline average latency.
73
+ 4. **Throughput:** Compare target requests/sec vs. achieved requests/sec.
74
+ 5. **Correlation:** Correlate breaches with backend APM traces (database slow queries, GC pauses, connection pool exhaustion) before attributing root causes.
@@ -31,7 +31,7 @@ This rule governs all AI Agents operating on the repository. It mandates strict
31
31
  ```bash
32
32
  python3 tools/verify_all.py
33
33
  ```
34
- - All 8 Gates must return `PASS`. If any gate fails, the task is NOT complete.
34
+ - All 9 Gates must return `PASS`. If any gate fails, the task is NOT complete.
35
35
  2. **Targeted Re-Test:**
36
36
  - After modifying Page Classes, check impacted Test Cases with:
37
37
  ```bash
@@ -61,7 +61,7 @@ This rule governs all AI Agents operating on the repository. It mandates strict
61
61
  | **Dispatching Browser Actions (Live/CDP)** | `python3 tools/safety_firewall.py --dry-run` | Mandatory Pre-execution Hook: Block irreversible/destructive operations before browser dispatch. |
62
62
  | **Creating or updating Test Scripts** | `python3 tools/infer_linter.py` | Run AST scan for Fake-Pass (0 asserts) and empty catch blocks. |
63
63
  | **New/Modified Test Case Quality** | `python3 tools/micro_mutator.py --min-score 80` | AST Mutation Testing: Reject test suites with mutation score < 80%. |
64
- | **Before Git Commit or Completing Task** | `python3 tools/verify_all.py` | Validate all 8 Quality Gates DoD. |
64
+ | **Before Git Commit or Completing Task** | `python3 tools/verify_all.py` | Validate all 9 Quality Gates DoD. |
65
65
  | **After modifying Page Classes** | `python3 tools/test_impact.py --git-diff` | Scope impacted test cases; avoid re-running entire test suites. |
66
66
  | **When Test FAILS in CLI/KRE** | `python3 tools/pinpoint_failure.py` | Parse JUnit XML to identify exact failing line and exception in 0.1s. |
67
67
  | **When CLI / Gradle logs are verbose** | `python3 tools/distill_log.py <log>` | Filter 95% noise; preserve only actionable stacktraces and pointers. |
@@ -81,10 +81,10 @@ This rule governs all AI Agents operating on the repository. It mandates strict
81
81
 
82
82
  ```markdown
83
83
  <reasoning_protocol>
84
- Step 1 - Boundary & Invariant Extraction: Xác định các bất biến (invariants) của hệ thống. Cái gì bắt buộc không bao giờ được phép xảy ra?
85
- Step 2 - Falsification Hypotheses (Phản đề Popper): Đưa ra 3 kịch bản lập trình viên có thể làm hàm chạy sai mà test thông thường vẫn pass (False Negatives).
86
- Step 3 - Self-Debate: Tự giải thích tại sao assertion chuẩn bị viết sẽ bắt chết cả 3 kịch bản phá hoại ở Step 2.
87
- Step 4 - Emit Code / Universal IR: Chỉ sinh code khi đã hoàn thành 3 bước trên.
84
+ Step 1 - Boundary & Invariant Extraction: Define system invariants. What must strictly NEVER happen under any circumstances?
85
+ Step 2 - Falsification Hypotheses (Popper's Falsification): Propose 3 realistic scenarios where a developer could break functionality while conventional tests still pass (False Negatives).
86
+ Step 3 - Self-Debate: Explain why the proposed assertion will catch and fail all 3 destructive scenarios in Step 2.
87
+ Step 4 - Emit Code / Universal IR: Only synthesize code once the 3 steps above are completed.
88
88
  </reasoning_protocol>
89
89
  ```
90
90
 
@@ -1,239 +1,88 @@
1
1
  ---
2
2
  name: agent-orchestration-multi-agent-optimize
3
- description: "Profile, benchmark, and orchestrate multi-agent test workloads and token throughput."
3
+ description: "Profile, benchmark, and orchestrate multi-agent test workloads and token throughput. Use when orchestrating multi-agent swarms, partitioning workloads, or optimizing agent roles."
4
4
  ---
5
5
 
6
- # Multi-Agent Optimization Toolkit
6
+ # Multi-Agent Optimization & Orchestration Skill
7
7
 
8
- ## Use this skill when
8
+ > **Target:** Optimize multi-agent test workloads, reduce context overhead, streamline agent handoffs, and monitor token consumption across autonomous test swarms.
9
9
 
10
- - Improving multi-agent coordination, throughput, or latency
11
- - Profiling agent workflows to identify bottlenecks
12
- - Designing orchestration strategies for complex workflows
13
- - Optimizing cost, context usage, or tool efficiency
14
-
15
- ## Do not use this skill when
16
-
17
- - You only need to tune a single agent prompt
18
- - There are no measurable metrics or evaluation data
19
- - The task is unrelated to multi-agent orchestration
20
-
21
- ## Instructions
22
-
23
- 1. Establish baseline metrics and target performance goals.
24
- 2. Profile agent workloads and identify coordination bottlenecks.
25
- 3. Apply orchestration changes and cost controls incrementally.
26
- 4. Validate improvements with repeatable tests and rollbacks.
27
-
28
- ## Safety
29
-
30
- - Avoid deploying orchestration changes without regression testing.
31
- - Roll out changes gradually to prevent system-wide regressions.
32
-
33
- ## Role: AI-Powered Multi-Agent Performance Engineering Specialist
34
-
35
- ### Context
36
-
37
- The Multi-Agent Optimization Tool is an advanced AI-driven framework designed to holistically improve system performance through intelligent, coordinated agent-based optimization. Leveraging cutting-edge AI orchestration techniques, this tool provides a comprehensive approach to performance engineering across multiple domains.
38
-
39
- ### Core Capabilities
40
-
41
- - Intelligent multi-agent coordination
42
- - Performance profiling and bottleneck identification
43
- - Adaptive optimization strategies
44
- - Cross-domain performance optimization
45
- - Cost and efficiency tracking
46
-
47
- ## Arguments Handling
48
-
49
- The tool processes optimization arguments with flexible input parameters:
50
-
51
- - `$TARGET`: Primary system/application to optimize
52
- - `$PERFORMANCE_GOALS`: Specific performance metrics and objectives
53
- - `$OPTIMIZATION_SCOPE`: Depth of optimization (quick-win, comprehensive)
54
- - `$BUDGET_CONSTRAINTS`: Cost and resource limitations
55
- - `$QUALITY_METRICS`: Performance quality thresholds
56
-
57
- ## 1. Multi-Agent Performance Profiling
58
-
59
- ### Profiling Strategy
60
-
61
- - Distributed performance monitoring across system layers
62
- - Real-time metrics collection and analysis
63
- - Continuous performance signature tracking
64
-
65
- #### Profiling Agents
66
-
67
- 1. **Database Performance Agent**
68
- - Query execution time analysis
69
- - Index utilization tracking
70
- - Resource consumption monitoring
71
-
72
- 2. **Application Performance Agent**
73
- - CPU and memory profiling
74
- - Algorithmic complexity assessment
75
- - Concurrency and async operation analysis
76
-
77
- 3. **Frontend Performance Agent**
78
- - Rendering performance metrics
79
- - Network request optimization
80
- - Core Web Vitals monitoring
81
-
82
- ### Profiling Code Example
83
-
84
- ```python
85
- def multi_agent_profiler(target_system):
86
- agents = [
87
- DatabasePerformanceAgent(target_system),
88
- ApplicationPerformanceAgent(target_system),
89
- FrontendPerformanceAgent(target_system)
90
- ]
91
-
92
- performance_profile = {}
93
- for agent in agents:
94
- performance_profile[agent.__class__.__name__] = agent.profile()
95
-
96
- return aggregate_performance_metrics(performance_profile)
97
- ```
98
-
99
- ## 2. Context Window Optimization
100
-
101
- ### Optimization Techniques
102
-
103
- - Intelligent context compression
104
- - Semantic relevance filtering
105
- - Dynamic context window resizing
106
- - Token budget management
107
-
108
- ### Context Compression Algorithm
109
-
110
- ```python
111
- def compress_context(context, max_tokens=4000):
112
- # Semantic compression using embedding-based truncation
113
- compressed_context = semantic_truncate(
114
- context,
115
- max_tokens=max_tokens,
116
- importance_threshold=0.7
117
- )
118
- return compressed_context
119
- ```
120
-
121
- ## 3. Agent Coordination Efficiency
122
-
123
- ### Coordination Principles
124
-
125
- - Parallel execution design
126
- - Minimal inter-agent communication overhead
127
- - Dynamic workload distribution
128
- - Fault-tolerant agent interactions
129
-
130
- ### Orchestration Framework
131
-
132
- ```python
133
- class MultiAgentOrchestrator:
134
- def __init__(self, agents):
135
- self.agents = agents
136
- self.execution_queue = PriorityQueue()
137
- self.performance_tracker = PerformanceTracker()
138
-
139
- def optimize(self, target_system):
140
- # Parallel agent execution with coordinated optimization
141
- with concurrent.futures.ThreadPoolExecutor() as executor:
142
- futures = {
143
- executor.submit(agent.optimize, target_system): agent
144
- for agent in self.agents
145
- }
146
-
147
- for future in concurrent.futures.as_completed(futures):
148
- agent = futures[future]
149
- result = future.result()
150
- self.performance_tracker.log(agent, result)
151
- ```
10
+ ---
152
11
 
153
- ## 4. Parallel Execution Optimization
12
+ ## 1. When to Use
154
13
 
155
- ### Key Strategies
14
+ - Managing multi-agent coordination, test suite sharding, and throughput.
15
+ - Profiling sub-agent task decomposition to eliminate redundant execution.
16
+ - Implementing dynamic model tiering (fast models for search, deep models for healing).
17
+ - Budgeting context tokens across collaborative agent swarms.
156
18
 
157
- - Asynchronous agent processing
158
- - Workload partitioning
159
- - Dynamic resource allocation
160
- - Minimal blocking operations
19
+ ---
161
20
 
162
- ## 5. Cost Optimization Strategies
21
+ ## 2. Core Orchestration Principles
163
22
 
164
- ### LLM Cost Management
23
+ 1. **Single Front-Door Protocol:**
24
+ - All inbound tasks route through `orchestrator` to prevent split-brain execution.
25
+ 2. **Context Isolation (`Workspace: 'share'`):**
26
+ - Subagents run in isolated workspaces to avoid git index collisions and context pollution.
27
+ 3. **Observation Distillation:**
28
+ - Subagents return only 3-5 line summaries and pointers to logs on disk, never dumping thousands of stdout lines into the parent context.
29
+ 4. **Dynamic Model Routing:**
30
+ - Use lighter models (`flash`, `flash_lite`) for element exploration and log filtering.
31
+ - Use deeper models (`inherit`, `pro`) for root-cause synthesis and AST mutation testing.
165
32
 
166
- - Token usage tracking
167
- - Adaptive model selection
168
- - Caching and result reuse
169
- - Efficient prompt engineering
33
+ ---
170
34
 
171
- ### Cost Tracking Example
35
+ ## 3. Workload Sharding & Matrix Execution
172
36
 
173
37
  ```python
174
- class CostOptimizer:
175
- def __init__(self):
176
- self.token_budget = 100000 # Monthly budget
177
- self.token_usage = 0
178
- self.model_costs = { # USD per 1K input tokens
179
- 'gpt-5': 0.03,
180
- 'claude-sonnet-4-6': 0.003,
181
- 'claude-haiku-4-5': 0.001
182
- }
183
-
184
- def select_optimal_model(self, complexity):
185
- # Dynamic model selection based on task complexity and budget
186
- pass
38
+ # Multi-agent workload partition example
39
+ def shard_test_workload(suite_files: list, max_agents: int = 4) -> list:
40
+ """Partitions test cases across parallel subagents to minimize total execution wall-clock time."""
41
+ shards = [[] for _ in range(max_agents)]
42
+ for idx, test_file in enumerate(suite_files):
43
+ shards[idx % max_agents].append(test_file)
44
+ return [s for s in shards if s]
187
45
  ```
188
46
 
189
- ## 6. Latency Reduction Techniques
190
-
191
- ### Performance Acceleration
192
-
193
- - Predictive caching
194
- - Pre-warming agent contexts
195
- - Intelligent result memoization
196
- - Reduced round-trip communication
197
-
198
- ## 7. Quality vs Speed Tradeoffs
199
-
200
- ### Optimization Spectrum
201
-
202
- - Performance thresholds
203
- - Acceptable degradation margins
204
- - Quality-aware optimization
205
- - Intelligent compromise selection
206
-
207
- ## 8. Monitoring and Continuous Improvement
208
-
209
- ### Observability Framework
210
-
211
- - Real-time performance dashboards
212
- - Automated optimization feedback loops
213
- - Machine learning-driven improvement
214
- - Adaptive optimization strategies
215
-
216
- ## Reference Workflows
47
+ ---
217
48
 
218
- ### Workflow 1: E-Commerce Platform Optimization
49
+ ## 4. Token & Latency Governance
219
50
 
220
- 1. Initial performance profiling
221
- 2. Agent-based optimization
222
- 3. Cost and performance tracking
223
- 4. Continuous improvement cycle
51
+ | Optimization Layer | Baseline (Naive) | Optimized (Synapse Swarm) | Savings |
52
+ | :--- | :--- | :--- | :--- |
53
+ | **CLI Log Output** | Dump 3,000 lines | `tools/distill_log.py` (< 50 tokens) | **95%** |
54
+ | **Codebase Reading** | Read whole classes | `tools/repo_map.txt` (< 600 tokens) | **90%** |
55
+ | **Failure Resolution**| Multiple prompt loops | SQLite cache lookup (< 0.1s) | **> 90%** |
56
+ | **DOM Inspection** | Raw HTML DOM | Compact AOM (< 500 tokens) | **90%** |
224
57
 
225
- ### Workflow 2: Enterprise API Performance Enhancement
58
+ ---
226
59
 
227
- 1. Comprehensive system analysis
228
- 2. Multi-layered agent optimization
229
- 3. Iterative performance refinement
230
- 4. Cost-efficient scaling strategy
60
+ ## 5. Verification & Safety Guidelines
231
61
 
232
- ## Key Considerations
62
+ - Always establish baseline metrics before applying workflow changes.
63
+ - Ensure subagent dynamic test data uses unique runtime IDs (`AUTO_<timestamp>_<agentId>`).
64
+ - Enforce automated teardown for all creation actions dispatched by subagents.
233
65
 
234
- - Always measure before and after optimization
235
- - Maintain system stability during optimization
236
- - Balance performance gains with resource consumption
237
- - Implement gradual, reversible changes
66
+ ---
238
67
 
239
- Target Optimization: $ARGUMENTS
68
+ ## 6. Hierarchical Process & Manager Delegation
69
+
70
+ > *Borrowed and adapted from the crewAI hierarchical process model (MIT license, crewAIInc/crewAI).*
71
+
72
+ The hub's default is a flat swarm with the `orchestrator` as single front-door
73
+ (Section 2). For tasks too large for one dispatch round, escalate to a
74
+ **hierarchical process**:
75
+
76
+ 1. **Manager delegation** — the orchestrator becomes a manager: it decomposes
77
+ the goal, assigns one bounded sub-task per specialist (`live-explorer`,
78
+ `pom-crafter`, `test-runner`, `failure-analyst`), and validates each result
79
+ before assigning the next. Workers never talk sideways; all coordination
80
+ flows through the manager.
81
+ 2. **Bounded delegation depth** — max 2 levels (orchestrator → specialist →
82
+ sub-task). Deeper recursion hides cost and breaks the token budget.
83
+ 3. **Validation gates between hops** — a manager accepts a sub-task result
84
+ only when it passes its stage gate (e.g. Stage 1 Data Contract JSON is
85
+ schema-valid); rejected results are retried once, then escalated.
86
+ 4. **Escalate structure, not authority** — the hierarchy speeds coordination;
87
+ Truth Anchor, safety firewall and quality gates apply identically at every
88
+ level. Delegation never bypasses a gate.
@@ -0,0 +1,12 @@
1
+ {
2
+ "swarm": "LeadQAOrchestrator",
3
+ "subagents": [
4
+ "live-explorer",
5
+ "pom-crafter",
6
+ "test-runner",
7
+ "failure-analyst",
8
+ "quality-gatekeeper"
9
+ ],
10
+ "tokenBudgetPerAgent": 1200,
11
+ "concurrency": 3
12
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: antigravity-test-sentinel
3
- description: "Enforce verification-first discipline: blocks task completion until tests and quality gates pass."
3
+ description: "Enforce verification-first discipline: blocks task completion until tests and quality gates pass. Use when enforcing Definition-of-Done quality gates before completing a code or test task."
4
4
  ---
5
5
 
6
6
  # Antigravity Test Sentinel — Verification-First Gatekeeper
@@ -41,7 +41,7 @@ flowchart TD
41
41
  1. **Step 1: Execute Runner Command:**
42
42
  - Run the targeted test case or test suite via headless CLI runner or verification gate:
43
43
  ```bash
44
- python3 tools/verify_all.py
44
+ synapse verify
45
45
  ```
46
46
  2. **Step 2: Inspect Exit Code:**
47
47
  - If the process terminates with exit code != 0, the task is **LOCKED**.
@@ -50,7 +50,7 @@ flowchart TD
50
50
  - The Agent must parse the exact error exception and stack trace from the failure output.
51
51
  - Apply targeted in-place healing and re-execute.
52
52
  4. **Step 4: Definition of Done Verification:**
53
- - Run `python3 tools/verify_all.py` to confirm all 6 quality gates pass.
53
+ - Run `synapse verify` to confirm all 6 quality gates pass.
54
54
 
55
55
  ---
56
56
 
@@ -0,0 +1,11 @@
1
+ {
2
+ "policyName": "Enterprise-DoD-Gate-0-to-8",
3
+ "enforceGates": [
4
+ "Gate-0-Integrity",
5
+ "Gate-1-UTF8-NoBOM",
6
+ "Gate-3-CleanPOM",
7
+ "Gate-7-InferLinter",
8
+ "Gate-8-MicroMutator"
9
+ ],
10
+ "minMutationScore": 80.0
11
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: api-network-mocking-interception
3
- description: "Intercept HTTP/GraphQL traffic, stub routes, and simulate chaos network failures."
3
+ description: "Intercept HTTP/GraphQL traffic, stub routes, and simulate chaos network failures. Use when stubbing, mocking, or intercepting network calls during UI or API tests."
4
4
  ---
5
5
 
6
6
  # API Network Mocking, Interception & Resilience Skill
@@ -0,0 +1,9 @@
1
+ {
2
+ "route": "**/api/v1/checkout",
3
+ "method": "POST",
4
+ "status": 200,
5
+ "response": {
6
+ "orderId": "ORD-AUTO-998822",
7
+ "status": "CONFIRMED"
8
+ }
9
+ }
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: api-spec-to-e2e-matrix
3
- description: "Generate automated positive, boundary, and negative test matrices from OpenAPI specifications."
3
+ description: "Generate automated positive, boundary, and negative test matrices from OpenAPI specifications. Use when converting an OpenAPI/Swagger spec into an end-to-end test matrix."
4
4
  ---
5
5
 
6
- # API Spec to E2E Matrix — Contract-Based Test Generator
6
+ # API Spec to E2E Matrix — Contract-Based Test Generator
7
7
 
8
8
  This skill converts OpenAPI / Swagger specifications, JSON Schemas, or REST endpoint contracts into a structured, executable End-to-End (E2E) testing matrix covering happy path, boundary values, and negative error scenarios.
9
9
 
@@ -14,9 +14,9 @@ This skill converts OpenAPI / Swagger specifications, JSON Schemas, or REST endp
14
14
  ```mermaid
15
15
  flowchart TD
16
16
  Spec["OpenAPI / Swagger / JSON Schema"] --> Parse["Extract Endpoint Contracts"]
17
- Parse --> Pos["1. Positive Happy Path<br/>• Valid payload<br/>• HTTP 200/201<br/>• Response schema match"]
18
- Parse --> Bound["2. Boundary Value Analysis<br/>• Min/Max string length<br/>• Zero, negative numbers<br/>• Unicode & special chars"]
19
- Parse --> Neg["3. Negative & Fault Scenarios<br/>• Missing required fields (400)<br/>• Invalid auth token (401/403)<br/>• Malformed payload (422)"]
17
+ Parse --> Pos["1. Positive Happy Path<br/>• Valid payload<br/>• HTTP 200/201<br/>• Response schema match"]
18
+ Parse --> Bound["2. Boundary Value Analysis<br/>• Min/Max string length<br/>• Zero, negative numbers<br/>• Unicode & special chars"]
19
+ Parse --> Neg["3. Negative & Fault Scenarios<br/>• Missing required fields (400)<br/>• Invalid auth token (401/403)<br/>• Malformed payload (422)"]
20
20
 
21
21
  Pos & Bound & Neg --> Suite["Executable Test Suite"]
22
22
  ```
@@ -44,7 +44,7 @@ Every negative test case must assert two distinct layers:
44
44
  - Verify HTTP Status Code is appropriately 400, 401, 403, 404, or 422.
45
45
  - Verify error payload contains expected error codes and localization messages.
46
46
  2. **UI / Toast Notification Layer Assertion:**
47
- - Verify that the web UI displays the appropriate red toast notification (e.g. *"Dữ liệu không hợp lệ"* or *"Mã đã tồn tại"*).
47
+ - Verify that the web UI displays the appropriate red toast notification (e.g. *"Dữ liệu không hợp lệ"* or *"Mã đã tồn tại"*).
48
48
  - Verify that the form remains open and input fields preserve user state without losing entered data.
49
49
 
50
50
  ---
@@ -62,13 +62,13 @@ Agent can automatically invoke `tools/generate_api_matrix.py` and `tools/export_
62
62
 
63
63
  ```bash
64
64
  # 1. Generate Markdown matrix
65
- python tools/generate_api_matrix.py --spec path/to/openapi.json --format md -o docs/api_matrix.md
65
+ python3 tools/generate_api_matrix.py --spec path/to/openapi.json --format md -o docs/api_matrix.md
66
66
 
67
67
  # 2. Generate JSON matrix for programmatic ingestion
68
- python tools/generate_api_matrix.py --spec path/to/openapi.json --format json -o tools/api_matrix.json
68
+ python3 tools/generate_api_matrix.py --spec path/to/openapi.json --format json -o tools/api_matrix.json
69
69
 
70
70
  # 3. Export directly to Postman Collection v2.1.0 with AJV JSON Schema & DDT
71
- python tools/export_postman_collection.py --spec path/to/openapi.json -o postman_collection.json --env-output postman_env.json --ddt-output test_data.csv
71
+ synapse export-postman --spec path/to/openapi.json -o postman_collection.json --env-output postman_env.json --ddt-output test_data.csv
72
72
 
73
73
  # 4. Zero-Input Autonomous Synthesis (No input file provided!)
74
74
  agent-qa export-postman --domain banking -o banking_col.json --env-output env.json --ddt-output ddt.csv
@@ -0,0 +1,19 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "Payment API",
5
+ "version": "1.0.0"
6
+ },
7
+ "paths": {
8
+ "/payments": {
9
+ "post": {
10
+ "summary": "Create payment",
11
+ "responses": {
12
+ "201": {
13
+ "description": "Created"
14
+ }
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }