synapse-hub 2.2.4 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/agents/failure-analyst.md +11 -0
- package/.agents/agents/live-explorer.md +28 -0
- package/.agents/agents/orchestrator.md +23 -4
- package/.agents/agents/pom-crafter.md +15 -0
- package/.agents/agents/quality-gatekeeper.md +20 -4
- package/.agents/agents/test-runner.md +12 -0
- package/.agents/rules/communication-style.md +40 -0
- package/.agents/rules/context-engineering.md +23 -0
- package/.agents/rules/git-push-protocol.md +10 -16
- package/.agents/rules/graphify.md +14 -14
- package/.agents/rules/mandatory-playwright-live.md +29 -29
- package/.agents/rules/mobile_appium_rules.md +132 -0
- package/.agents/rules/performance_testing_rules.md +74 -0
- package/.agents/rules/systematic-debugging.md +6 -6
- package/.agents/skills/agent-orchestration-multi-agent-optimize/SKILL.md +64 -215
- package/.agents/skills/agent-orchestration-multi-agent-optimize/examples/swarm_workload_config.json +12 -0
- package/.agents/skills/antigravity-test-sentinel/SKILL.md +3 -3
- package/.agents/skills/antigravity-test-sentinel/examples/dod_gate_policy.json +11 -0
- package/.agents/skills/api-network-mocking-interception/SKILL.md +1 -1
- package/.agents/skills/api-network-mocking-interception/examples/network_route_stub.json +9 -0
- package/.agents/skills/api-spec-to-e2e-matrix/SKILL.md +9 -9
- package/.agents/skills/api-spec-to-e2e-matrix/examples/sample_openapi.json +19 -0
- package/.agents/skills/architecture-decision-records/SKILL.md +35 -412
- package/.agents/skills/architecture-decision-records/examples/0001-record-architecture-decisions.md +12 -0
- package/.agents/skills/auth-session-and-cookie-manager/SKILL.md +1 -1
- package/.agents/skills/auth-session-and-cookie-manager/examples/storage_state_sample.json +11 -0
- package/.agents/skills/backend-load-and-stress-patterns/SKILL.md +80 -186
- package/.agents/skills/backend-load-and-stress-patterns/examples/k6_load_test_sample.js +13 -0
- package/.agents/skills/bats-testing-patterns/SKILL.md +1 -1
- package/.agents/skills/bats-testing-patterns/examples/cli_runner_test.bats +6 -0
- package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
- package/.agents/skills/clean-pom-crafter/SKILL.md +21 -3
- package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
- package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
- package/.agents/skills/code-refactoring-refactor-clean/SKILL.md +2 -2
- package/.agents/skills/code-refactoring-refactor-clean/examples/refactored_page_sample.groovy +9 -0
- package/.agents/skills/db-state-verifier-and-seeder/SKILL.md +5 -5
- package/.agents/skills/db-state-verifier-and-seeder/examples/db_fixture_seed.json +12 -0
- package/.agents/skills/e2e-testing-patterns/SKILL.md +1 -1
- package/.agents/skills/e2e-testing-patterns/examples/playwright_sharded_config.ts +12 -0
- package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
- package/.agents/skills/failure-autopsy-and-healing/SKILL.md +17 -3
- package/.agents/skills/failure-autopsy-and-healing/examples/sample_junit_failure.xml +8 -0
- package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
- package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
- package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
- package/.agents/skills/file-and-report-validator/SKILL.md +1 -1
- package/.agents/skills/file-and-report-validator/examples/sample_export_schema.json +14 -0
- package/.agents/skills/flaky-test-sentinel-and-quarantine/SKILL.md +3 -3
- package/.agents/skills/flaky-test-sentinel-and-quarantine/examples/quarantine_registry.json +11 -0
- package/.agents/skills/gherkin-to-suite/SKILL.md +103 -0
- package/.agents/skills/gherkin-to-suite/examples/checkout.feature +39 -0
- package/.agents/skills/gherkin-to-suite/examples/suite_report_sample.json +334 -0
- package/.agents/skills/github-actions-templates/SKILL.md +47 -304
- package/.agents/skills/github-actions-templates/examples/matrix_test_pipeline.yml +8 -0
- package/.agents/skills/graphify-impact-analyzer/SKILL.md +6 -6
- package/.agents/skills/graphify-impact-analyzer/examples/dependency_blast_radius.json +8 -0
- package/.agents/skills/katalon-cli-runner/SKILL.md +2 -2
- package/.agents/skills/katalon-cli-runner/examples/headless_kre_exec.sh +3 -0
- package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
- package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
- package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
- package/.agents/skills/lam-script-generator/SKILL.md +42 -1
- package/.agents/skills/lam-script-generator/examples/user_story_sample.md +8 -0
- package/.agents/skills/lean-code-ladder/SKILL.md +83 -0
- package/.agents/skills/lean-code-ladder/examples/ladder_walkthrough.md +37 -0
- package/.agents/skills/meta-prompt-crafter/SKILL.md +107 -0
- package/.agents/skills/meta-prompt-crafter/examples/qa_prompt_template.md +35 -0
- package/.agents/skills/persistent-planning-files/SKILL.md +108 -0
- package/.agents/skills/persistent-planning-files/examples/task_plan_example.md +56 -0
- package/.agents/skills/playwright-live-interaction/SKILL.md +49 -1
- package/.agents/skills/playwright-live-interaction/examples/live_probe_script.js +5 -0
- package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
- package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
- package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
- package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
- package/.agents/skills/playwright-webapp-testing/SKILL.md +93 -0
- package/.agents/skills/playwright-webapp-testing/examples/server_lifecycle_playwright.py +63 -0
- package/.agents/skills/rbt-manual-testing/SKILL.md +150 -0
- package/.agents/skills/rbt-manual-testing/examples/checkout_rbt_manual_suite.md +25 -0
- package/.agents/skills/security-dast-sentinel/SKILL.md +54 -135
- package/.agents/skills/security-dast-sentinel/examples/dast_scan_config.json +10 -0
- package/.agents/skills/self-healing-locator/SKILL.md +24 -10
- package/.agents/skills/self-healing-locator/examples/aom_diff_sample.json +16 -0
- package/.agents/skills/skillspector-security-guard/SKILL.md +32 -90
- package/.agents/skills/skillspector-security-guard/examples/safe_mcp_config.json +12 -0
- package/.agents/skills/surgical-coding-principles/SKILL.md +89 -0
- package/.agents/skills/surgical-coding-principles/examples/surgical_vs_scope_creep.md +46 -0
- package/.agents/skills/synthetic-test-data-generator/SKILL.md +3 -3
- package/.agents/skills/synthetic-test-data-generator/examples/idempotent_data_recipe.json +9 -0
- package/.agents/skills/systematic-debugging/SKILL.md +100 -0
- package/.agents/skills/systematic-debugging/examples/four_phase_case.md +44 -0
- package/.agents/skills/test-driven-development/SKILL.md +114 -0
- package/.agents/skills/test-driven-development/examples/red_green_refactor_qa.md +78 -0
- package/.agents/skills/token-and-context-optimizer/SKILL.md +1 -1
- package/.agents/skills/token-and-context-optimizer/examples/distilled_log_sample.txt +3 -0
- package/.agents/skills/verification-before-completion/SKILL.md +100 -0
- package/.agents/skills/verification-before-completion/examples/evidence_log_example.md +46 -0
- package/.agents/skills/visual-regression-sentinel/SKILL.md +21 -1
- package/.agents/skills/visual-regression-sentinel/examples/visual_mask_rules.json +9 -0
- package/.agents/skills/wcag-audit-patterns/SKILL.md +3 -3
- package/.agents/skills/wcag-audit-patterns/examples/wcag_compliance_checklist.json +10 -0
- package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
- package/.agents/skills/web-vitals-and-performance-profiler/SKILL.md +1 -1
- package/.agents/skills/web-vitals-and-performance-profiler/examples/cwv_budget_policy.json +6 -0
- package/.agents/templates/completion_report.md +57 -57
- package/.agents/workflows/analyze_requirement_document.md +18 -0
- package/.agents/workflows/export_testcases_excel.md +32 -0
- package/.agents/workflows/generate_combinatorial_test_data.md +28 -0
- package/.agents/workflows/generate_cross_module_test_plan.md +37 -0
- package/.agents/workflows/generate_manual_testcases_rbt.md +56 -0
- package/.agents/workflows/generate_requirements_from_website.md +25 -0
- package/.agents/workflows/generate_testcases_from_requirements.md +21 -0
- package/.agents/workflows/graphify.md +10 -10
- package/.agents/workflows/verify.md +2 -2
- package/.cursor/rules/language.mdc +7 -7
- package/.cursor/rules/synapse-qa.mdc +23 -0
- package/.cursorrules +7 -0
- package/.pre-commit-hooks.yaml +14 -0
- package/.windsurfrules +7 -0
- package/AGENTS.md +54 -15
- package/CLAUDE.md +35 -12
- package/LICENSE +30 -0
- package/NOTICE +180 -0
- package/README.en.md +331 -0
- package/README.md +252 -515
- package/action.yml +51 -0
- package/benchmarks/qa_eval/README.md +71 -0
- package/benchmarks/qa_eval/build_dataset.py +677 -0
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +22 -0
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +22 -0
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +22 -0
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +22 -0
- package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +22 -0
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +21 -0
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +21 -0
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +21 -0
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +21 -0
- package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +21 -0
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +23 -0
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +23 -0
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +23 -0
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +23 -0
- package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +23 -0
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +22 -0
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +22 -0
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +22 -0
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +22 -0
- package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +23 -0
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +22 -0
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +22 -0
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +22 -0
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +22 -0
- package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +22 -0
- package/benchmarks/qa_eval/eval_runner.py +418 -0
- package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +83 -0
- package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +69 -0
- package/benchmarks/qa_eval/reports/eval_results.json +105 -0
- package/bin/agent-qa.js +16 -4
- package/docs/ARCHITECTURE.md +107 -0
- package/docs/CI_CD_INTEGRATION.md +94 -0
- package/docs/CLI_REFERENCE.md +157 -0
- package/docs/CONTRIBUTING.md +91 -0
- package/docs/PLUGIN_DEVELOPMENT_GUIDE.md +126 -0
- package/docs/TOKEN_QUOTA_PLAYBOOK.md +41 -0
- package/docs/adopted-ecosystem-tools.md +87 -0
- package/docs/schemas/synapse.config.schema.json +64 -0
- package/examples/cypress-ecommerce-suite/README.md +45 -0
- package/examples/cypress-ecommerce-suite/cypress/e2e/checkout.cy.js +17 -0
- package/examples/cypress-ecommerce-suite/cypress/pages/BasePage.js +29 -0
- package/examples/cypress-ecommerce-suite/cypress/pages/CartPage.js +51 -0
- package/examples/cypress-ecommerce-suite/cypress.config.js +13 -0
- package/examples/cypress-ecommerce-suite/package.json +13 -0
- package/examples/katalon-suite/Keywords/pages/BasePage.groovy +19 -0
- package/examples/katalon-suite/Keywords/pages/DashboardPage.groovy +29 -0
- package/examples/katalon-suite/Keywords/pages/LoginPage.groovy +45 -0
- package/examples/katalon-suite/Profiles/default.glbl +12 -0
- package/examples/katalon-suite/README.md +18 -0
- package/examples/katalon-suite/Scripts/Auth/TC_LoginSuccess/Script1234567890.groovy +12 -0
- package/examples/katalon-suite/Scripts/Dashboard/TC_ViewSummary/Script1234567891.groovy +15 -0
- package/examples/katalon-suite/katalon_suite.prj +21 -0
- package/examples/playwright-crm-suite/README.md +40 -0
- package/examples/playwright-crm-suite/package.json +14 -0
- package/examples/playwright-crm-suite/pages/BasePage.ts +37 -0
- package/examples/playwright-crm-suite/pages/CustomerPage.ts +57 -0
- package/examples/playwright-crm-suite/pages/LoginPage.ts +32 -0
- package/examples/playwright-crm-suite/playwright.config.ts +27 -0
- package/examples/playwright-crm-suite/tests/auth.spec.ts +22 -0
- package/examples/playwright-crm-suite/tests/customers.spec.ts +33 -0
- package/examples/plugins/sample-custom-plugin/README.md +14 -0
- package/examples/plugins/sample-custom-plugin/plugin.json +16 -0
- package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/SKILL.md +29 -0
- package/examples/plugins/sample-custom-plugin/skills/custom-security-headers-audit/examples/audit_fixture.json +8 -0
- package/examples/plugins/sample-custom-plugin/tools/custom_security_headers.py +125 -0
- package/examples/practices/README.md +22 -0
- package/examples/practices/requirements/crm/requirements_contracts.md +292 -0
- package/examples/practices/requirements/crm/requirements_customers.md +462 -0
- package/examples/practices/requirements/crm/requirements_login.md +202 -0
- package/examples/practices/requirements/crm/requirements_projects.md +396 -0
- package/examples/practices/requirements/crm/requirements_tasks.md +343 -0
- package/examples/practices/requirements/ecommerce/requirements_category_brand.txt +402 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-1/2026-04-03_04-28-27.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-1/KAN-1_requirement.md +52 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-19.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-4/2026-04-03_04-28-57.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-4/KAN-4_requirement.md +119 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-5_overview.md +9 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-08.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-6/2026-04-03_05-58-23.png +0 -0
- package/examples/practices/requirements/jira/KAN-5/KAN-6/KAN-6_requirement.md +32 -0
- package/examples/practices/testcases/api/book_management_api_test_cases.md +144 -0
- package/examples/practices/testcases/api/user_management_api_test_cases.md +139 -0
- package/examples/practices/testcases/crm/test_cases_crm_login.md +148 -0
- package/examples/practices/testcases/crm/test_cases_customers.md +156 -0
- package/examples/pytest-api-suite/README.md +45 -0
- package/examples/pytest-api-suite/conftest.py +31 -0
- package/examples/pytest-api-suite/pages/user_api_client.py +36 -0
- package/examples/pytest-api-suite/requirements.txt +2 -0
- package/examples/pytest-api-suite/tests/test_user_api.py +44 -0
- package/examples/selenium-suite/README.md +18 -0
- package/examples/selenium-suite/pages/base_page.py +27 -0
- package/examples/selenium-suite/pages/login_page.py +29 -0
- package/examples/selenium-suite/pages/order_page.py +25 -0
- package/examples/selenium-suite/pytest.ini +6 -0
- package/examples/selenium-suite/requirements.txt +2 -0
- package/examples/selenium-suite/tests/test_login.py +10 -0
- package/examples/selenium-suite/tests/test_order.py +10 -0
- package/package.json +27 -12
- package/scripts/generate_skill_examples.py +244 -0
- package/scripts/install.ps1 +112 -0
- package/scripts/install_global_plugin.ps1 +94 -0
- package/scripts/install_global_plugin.sh +49 -0
- package/scripts/lint_skills.ps1 +57 -0
- package/scripts/package_dist.py +323 -0
- package/scripts/setup.sh +59 -0
- package/scripts/update_hub.ps1 +19 -0
- package/scripts/update_hub.sh +15 -0
- package/skills_manifest.json +209 -6
- package/synapse.config.json +30 -0
- package/templates/PROJECT_AI_GUIDE_TEMPLATE.md +7 -7
- package/templates/PROJECT_STATE_TEMPLATE.md +1 -1
- package/templates/ai_bridges/CLAUDE.md +33 -16
- package/templates/ai_bridges/copilot-instructions.md +14 -21
- package/templates/ai_bridges/cursor_synapse_qa.mdc +17 -20
- package/templates/ai_bridges/windsurfrules +21 -21
- package/templates/ci/github-actions-synapse.yml +71 -4
- package/templates/welcome.html.tmpl +1674 -0
- package/tools/.infer_baseline.json +1102 -0
- package/tools/TOOLS_RUNBOOK.md +98 -131
- package/tools/__init__.py +26 -0
- package/tools/agent_canary.py +501 -501
- package/tools/analyze_project.py +31 -17
- package/tools/api_fuzzer.py +278 -6
- package/tools/author_integrity.py +6 -6
- package/tools/auto_heal.py +1 -1
- package/tools/browser_helpers.js +105 -7
- package/tools/bug_reporter.py +31 -1
- package/tools/bump_version.py +30 -3
- package/tools/cache_resolver.py +248 -14
- package/tools/check_env.py +55 -14
- package/tools/check_version_sync.py +171 -0
- package/tools/ci_healing_hook.py +1 -1
- package/tools/cli.py +454 -42
- package/tools/count_tokens.py +1257 -0
- package/tools/dashboard_generator.py +2638 -0
- package/tools/db_sandbox.py +198 -20
- package/tools/e2e_flow_prober.ps1 +12 -64
- package/tools/e2e_flow_prober.py +99 -0
- package/tools/e2e_flow_prober.sh +4 -0
- package/tools/flaky_detector.py +4 -3
- package/tools/generate_allure_report.ps1 +12 -29
- package/tools/generate_allure_report.py +77 -0
- package/tools/generate_allure_report.sh +4 -0
- package/tools/generate_jmx_plan.py +257 -58
- package/tools/generate_test_reports.ps1 +12 -134
- package/tools/generate_test_reports.py +133 -0
- package/tools/generate_test_reports.sh +4 -0
- package/tools/gherkin_suite.py +758 -0
- package/tools/git_pre_commit_guard.py +12 -6
- package/tools/goldfish_review.py +366 -0
- package/tools/heal_pr_automator.py +1 -1
- package/tools/heuristic_locator_matcher.py +170 -21
- package/tools/infer_linter.py +612 -70
- package/tools/lint_ai_docs.py +64 -0
- package/tools/matrix_sharder.py +1 -1
- package/tools/mcp_excel_server.ps1 +12 -250
- package/tools/mcp_excel_server.py +249 -0
- package/tools/mcp_excel_server.sh +4 -0
- package/tools/mcp_server.py +368 -144
- package/tools/md_to_xlsx.py +307 -0
- package/tools/micro_mutator.py +302 -69
- package/tools/omni_transpiler.py +2 -2
- package/tools/output_formatter.py +128 -0
- package/tools/pinpoint_failure.py +88 -88
- package/tools/project_state.py +2 -2
- package/tools/repo_map.py +1 -1
- package/tools/safety_firewall.py +196 -45
- package/tools/setup_project.py +295 -31
- package/tools/skillspector.py +31 -0
- package/tools/spec_drift_sentinel.py +439 -0
- package/tools/sync_agent_rules.py +248 -0
- package/tools/telemetry_correlator.py +45 -0
- package/tools/test_impact.py +51 -12
- package/tools/tms_sync_bridge.py +21 -5
- package/tools/universal_ir.py +3 -0
- package/tools/update_sentinel.py +87 -15
- package/tools/verify_all.ps1 +13 -0
- package/tools/verify_all.py +479 -85
- package/tools/visual_diff_canvas.py +1 -0
- package/tools/visual_som_helper.py +1 -1
- package/tools/watch_mode.py +305 -0
- 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
|
|
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
|
|
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:
|
|
85
|
-
Step 2 - Falsification Hypotheses (
|
|
86
|
-
Step 3 - Self-Debate:
|
|
87
|
-
Step 4 - Emit Code / Universal IR:
|
|
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
|
|
6
|
+
# Multi-Agent Optimization & Orchestration Skill
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
> **Target:** Optimize multi-agent test workloads, reduce context overhead, streamline agent handoffs, and monitor token consumption across autonomous test swarms.
|
|
9
9
|
|
|
10
|
-
|
|
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
|
-
##
|
|
12
|
+
## 1. When to Use
|
|
154
13
|
|
|
155
|
-
|
|
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
|
-
|
|
158
|
-
- Workload partitioning
|
|
159
|
-
- Dynamic resource allocation
|
|
160
|
-
- Minimal blocking operations
|
|
19
|
+
---
|
|
161
20
|
|
|
162
|
-
##
|
|
21
|
+
## 2. Core Orchestration Principles
|
|
163
22
|
|
|
164
|
-
|
|
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
|
-
|
|
167
|
-
- Adaptive model selection
|
|
168
|
-
- Caching and result reuse
|
|
169
|
-
- Efficient prompt engineering
|
|
33
|
+
---
|
|
170
34
|
|
|
171
|
-
|
|
35
|
+
## 3. Workload Sharding & Matrix Execution
|
|
172
36
|
|
|
173
37
|
```python
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
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
|
-
|
|
49
|
+
## 4. Token & Latency Governance
|
|
219
50
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
3.
|
|
223
|
-
|
|
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
|
-
|
|
58
|
+
---
|
|
226
59
|
|
|
227
|
-
|
|
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
|
-
|
|
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
|
-
|
|
235
|
-
- Maintain system stability during optimization
|
|
236
|
-
- Balance performance gains with resource consumption
|
|
237
|
-
- Implement gradual, reversible changes
|
|
66
|
+
---
|
|
238
67
|
|
|
239
|
-
|
|
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.
|
|
@@ -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
|
-
|
|
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 `
|
|
53
|
+
- Run `synapse verify` to confirm all 6 quality gates pass.
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
@@ -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
|
|
@@ -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
|
|
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
|
|
18
|
-
Parse --> Bound["2. Boundary Value Analysis<br
|
|
19
|
-
Parse --> Neg["3. Negative & Fault Scenarios<br
|
|
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. *"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}
|