synapse-hub 2.4.1 → 2.4.3

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 (77) hide show
  1. package/.agents/rules/graphify.md +14 -14
  2. package/.agents/rules/mandatory-playwright-live.md +29 -29
  3. package/.agents/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -614
  4. package/.agents/skills/clean-pom-crafter/examples/standard_test_case.groovy +28 -28
  5. package/.agents/skills/clean-pom-crafter/references/pom_patterns.groovy +138 -138
  6. package/.agents/skills/e2e-testing-patterns/resources/implementation-playbook.md +522 -522
  7. package/.agents/skills/failure-autopsy-and-healing/references/healing_matrix.md +64 -64
  8. package/.agents/skills/failure-autopsy-and-healing/references/qa_investigation_protocol.md +56 -56
  9. package/.agents/skills/failure-autopsy-and-healing/scripts/triage_failures.sh +98 -98
  10. package/.agents/skills/katalon-cli-runner/references/groovy-patterns.md +209 -209
  11. package/.agents/skills/katalon-cli-runner/references/katalon-api.md +155 -155
  12. package/.agents/skills/katalon-cli-runner/references/runner_commands.md +67 -67
  13. package/.agents/skills/playwright-live-interaction/references/advanced_superpowers.md +160 -160
  14. package/.agents/skills/playwright-live-interaction/references/compact_accessibility_snapshots.md +75 -75
  15. package/.agents/skills/playwright-live-interaction/references/recipes.md +388 -388
  16. package/.agents/skills/playwright-live-interaction/references/swarm_orchestration.md +134 -134
  17. package/.agents/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -541
  18. package/.agents/templates/completion_report.md +57 -57
  19. package/.agents/workflows/graphify.md +10 -10
  20. package/.cursor/rules/language.mdc +7 -7
  21. package/README.en.md +1 -1
  22. package/README.md +1 -1
  23. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-06_api_contract_drift.json +21 -21
  24. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-07_api_contract_drift.json +21 -21
  25. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-08_api_contract_drift.json +21 -21
  26. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-09_api_contract_drift.json +21 -21
  27. package/benchmarks/qa_eval/dataset/api_contract_drift/qa-challenge-10_api_contract_drift.json +21 -21
  28. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-21_fake_pass_tautology.json +20 -20
  29. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-22_fake_pass_tautology.json +20 -20
  30. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-23_fake_pass_tautology.json +20 -20
  31. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-24_fake_pass_tautology.json +20 -20
  32. package/benchmarks/qa_eval/dataset/fake_pass_tautology/qa-challenge-25_fake_pass_tautology.json +20 -20
  33. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-01_locator_drift.json +22 -22
  34. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-02_locator_drift.json +22 -22
  35. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-03_locator_drift.json +22 -22
  36. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-04_locator_drift.json +22 -22
  37. package/benchmarks/qa_eval/dataset/locator_drift/qa-challenge-05_locator_drift.json +22 -22
  38. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-16_stale_and_mutation.json +21 -21
  39. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-17_stale_and_mutation.json +21 -21
  40. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-18_stale_and_mutation.json +21 -21
  41. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-19_stale_and_mutation.json +21 -21
  42. package/benchmarks/qa_eval/dataset/stale_and_mutation/qa-challenge-20_stale_and_mutation.json +22 -22
  43. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-11_timing_and_race.json +21 -21
  44. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-12_timing_and_race.json +21 -21
  45. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-13_timing_and_race.json +21 -21
  46. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-14_timing_and_race.json +21 -21
  47. package/benchmarks/qa_eval/dataset/timing_and_race/qa-challenge-15_timing_and_race.json +21 -21
  48. package/bin/agent-qa.js +0 -0
  49. package/docs/ARCHITECTURE.md +12 -1
  50. package/package.json +1 -1
  51. package/scripts/install.ps1 +112 -112
  52. package/scripts/lint_skills.ps1 +57 -57
  53. package/skills_manifest.json +1 -1
  54. package/synapse.config.json +1 -1
  55. package/tools/__init__.py +1 -1
  56. package/tools/agent_canary.py +501 -501
  57. package/tools/api_fuzzer.py +11 -2
  58. package/tools/browser_helpers.js +2 -2
  59. package/tools/bump_version.py +1 -0
  60. package/tools/check_env.py +71 -13
  61. package/tools/cli.py +2 -2
  62. package/tools/dashboard_generator.py +2 -2
  63. package/tools/e2e_flow_prober.sh +0 -0
  64. package/tools/generate_allure_report.sh +0 -0
  65. package/tools/generate_test_reports.sh +0 -0
  66. package/tools/mcp_excel_server.py +3 -1
  67. package/tools/mcp_excel_server.sh +0 -0
  68. package/tools/mcp_server.py +1 -1
  69. package/tools/pinpoint_failure.py +88 -88
  70. package/tools/setup_project.py +8 -0
  71. package/tools/update_sentinel.py +10 -9
  72. package/tools/verify_all.sh +0 -0
  73. package/tools/visual_som_helper.py +14 -3
  74. package/tools/welcome_page.py +1 -1
  75. package/benchmarks/qa_eval/reports/AB_METHODOLOGY_REPORT.md +0 -83
  76. package/benchmarks/qa_eval/reports/BENCHMARK_REPORT.md +0 -69
  77. package/benchmarks/qa_eval/reports/eval_results.json +0 -105
@@ -1,22 +1,22 @@
1
- {
2
- "id": "QA-CHALLENGE-14",
3
- "name": "Async Chart SVG Animation Race Condition",
4
- "category": "timing_and_race",
5
- "difficulty": "MEDIUM",
6
- "description": "Financial chart takes 1200ms to calculate series and render SVG paths.",
7
- "failure_vector": {
8
- "type": "ASYNC_RENDER_RACE",
9
- "broken_code": "page.click('.chart-bar:last-child')",
10
- "error_log": "ElementNotFoundException: Selector '.chart-bar:last-child' not found",
11
- "environment_condition": "Highcharts Rendering Animation"
12
- },
13
- "expected_resolution": {
14
- "healed_code": "page.waitForSelector('.highcharts-series path', state: 'visible'); page.click('.chart-bar:last-child')",
15
- "strategy": "SVG_VISIBILITY_SMART_WAIT"
16
- },
17
- "benchmark_targets": {
18
- "max_heal_time_sec": 2.0,
19
- "max_token_cost": 310,
20
- "min_confidence_score": 0.9
21
- }
1
+ {
2
+ "id": "QA-CHALLENGE-14",
3
+ "name": "Async Chart SVG Animation Race Condition",
4
+ "category": "timing_and_race",
5
+ "difficulty": "MEDIUM",
6
+ "description": "Financial chart takes 1200ms to calculate series and render SVG paths.",
7
+ "failure_vector": {
8
+ "type": "ASYNC_RENDER_RACE",
9
+ "broken_code": "page.click('.chart-bar:last-child')",
10
+ "error_log": "ElementNotFoundException: Selector '.chart-bar:last-child' not found",
11
+ "environment_condition": "Highcharts Rendering Animation"
12
+ },
13
+ "expected_resolution": {
14
+ "healed_code": "page.waitForSelector('.highcharts-series path', state: 'visible'); page.click('.chart-bar:last-child')",
15
+ "strategy": "SVG_VISIBILITY_SMART_WAIT"
16
+ },
17
+ "benchmark_targets": {
18
+ "max_heal_time_sec": 2.0,
19
+ "max_token_cost": 310,
20
+ "min_confidence_score": 0.9
21
+ }
22
22
  }
@@ -1,22 +1,22 @@
1
- {
2
- "id": "QA-CHALLENGE-15",
3
- "name": "Infinite Scroll Lazy Loaded Chunk Detach",
4
- "category": "timing_and_race",
5
- "difficulty": "MEDIUM",
6
- "description": "Table rows 50-100 require viewport scroll to trigger network chunk download.",
7
- "failure_vector": {
8
- "type": "LAZY_LOAD_RACE",
9
- "broken_code": "page.locator('tr[data-id=\"75\"]').click()",
10
- "error_log": "TimeoutException: Timed out waiting for 'tr[data-id=\"75\"]' to be visible",
11
- "environment_condition": "Virtual Scrolling Table"
12
- },
13
- "expected_resolution": {
14
- "healed_code": "page.locator('tr[data-id=\"75\"]').scrollIntoViewIfNeeded(); page.locator('tr[data-id=\"75\"]').click()",
15
- "strategy": "VIRTUAL_SCROLL_INTO_VIEW"
16
- },
17
- "benchmark_targets": {
18
- "max_heal_time_sec": 2.0,
19
- "max_token_cost": 300,
20
- "min_confidence_score": 0.92
21
- }
1
+ {
2
+ "id": "QA-CHALLENGE-15",
3
+ "name": "Infinite Scroll Lazy Loaded Chunk Detach",
4
+ "category": "timing_and_race",
5
+ "difficulty": "MEDIUM",
6
+ "description": "Table rows 50-100 require viewport scroll to trigger network chunk download.",
7
+ "failure_vector": {
8
+ "type": "LAZY_LOAD_RACE",
9
+ "broken_code": "page.locator('tr[data-id=\"75\"]').click()",
10
+ "error_log": "TimeoutException: Timed out waiting for 'tr[data-id=\"75\"]' to be visible",
11
+ "environment_condition": "Virtual Scrolling Table"
12
+ },
13
+ "expected_resolution": {
14
+ "healed_code": "page.locator('tr[data-id=\"75\"]').scrollIntoViewIfNeeded(); page.locator('tr[data-id=\"75\"]').click()",
15
+ "strategy": "VIRTUAL_SCROLL_INTO_VIEW"
16
+ },
17
+ "benchmark_targets": {
18
+ "max_heal_time_sec": 2.0,
19
+ "max_token_cost": 300,
20
+ "min_confidence_score": 0.92
21
+ }
22
22
  }
package/bin/agent-qa.js CHANGED
File without changes
@@ -1,7 +1,7 @@
1
1
  # Agent-Skills Architecture & Design Principles
2
2
 
3
3
  > **Scope:** Enterprise Multi-Agent QA Hub
4
- > **Version:** `2.4.1` | **Status:** Active / Production Standard
4
+ > **Version:** `2.4.3` | **Status:** Active / Production Standard
5
5
 
6
6
  ---
7
7
 
@@ -105,3 +105,14 @@ The Hub equips 6 specialized subagents with scoped tool and skill permissions:
105
105
  | **`test-runner`** | Headless CLI test execution & CI | `katalon-cli-runner`, `e2e-testing-patterns`, `flaky-test-sentinel-and-quarantine`, `backend-load-and-stress-patterns`, `github-actions-templates` | `matrix_sharder.py`, `distill_log.py`, `pinpoint_failure.py`, `flaky_detector.py` |
106
106
  | **`failure-analyst`**| Visual & XML error autopsy | `failure-autopsy-and-healing`, `self-healing-locator`, `file-and-report-validator` | `auto_heal.py`, `heal_pr_automator.py`, `pinpoint_failure.py`, `cache_resolver.py` |
107
107
  | **`quality-gatekeeper`**| 9 Gates DoD & Fake-Pass Sentinel | `antigravity-test-sentinel`, `code-refactoring-refactor-clean`, `wcag-audit-patterns`, `web-vitals-and-performance-profiler`, `security-dast-sentinel` | `verify_all.py`, `infer_linter.py`, `micro_mutator.py`, `trace_data_flow.py` |
108
+
109
+ ---
110
+
111
+ ## 6. Nomenclature & Package Architecture
112
+
113
+ To ensure consistency across various distribution registries and developer interfaces:
114
+ - **Ecosystem / Project Name:** Synapse Hub (`Synapse-Hub` on GitHub)
115
+ - **NPM Package & Antigravity Plugin:** `synapse-hub` (distributed on NPM Registry and Antigravity Marketplace)
116
+ - **Python Package & Universal CLI:** `agent-qa` (PEP 621 package on PyPI providing the `agent-qa` CLI binary)
117
+ - **MCP Server Protocol Services:** `enterprise-agent-qa` (Core QA MCP server) and `synapse-mcp-excel` (Excel tool server)
118
+ - **Skill Catalog Manifest:** `enterprise-agent-skills-hub` (internal catalog schema identifier in `skills_manifest.json`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synapse-hub",
3
- "version": "2.4.1",
3
+ "version": "2.4.3",
4
4
  "description": "Enterprise AI Agent Intelligence Hub & Autonomous Skill Network",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,112 +1,112 @@
1
- <#
2
- .SYNOPSIS
3
- One-click setup and dependency bootstrap script for Enterprise Agent-Skills Hub.
4
- .DESCRIPTION
5
- Detects and installs Python, Node.js, Playwright, sets up a clean virtual environment,
6
- installs requirements.txt, and verifies the full 38-skill catalog.
7
- #>
8
-
9
- [CmdletBinding()]
10
- param(
11
- [switch]$ForceInstall = $false
12
- )
13
-
14
- Write-Host "==========================================================" -ForegroundColor Cyan
15
- Write-Host " Enterprise Agent-Skills Hub: Automated Bootstrap Setup " -ForegroundColor Cyan
16
- Write-Host "==========================================================" -ForegroundColor Cyan
17
-
18
- $repoRoot = Split-Path -Parent $PSScriptRoot
19
- Set-Location $repoRoot
20
-
21
- # 1. Verify / Install Python
22
- Write-Host "`n[1/5] Checking Python 3 Runtime..." -ForegroundColor Yellow
23
- $py = $null
24
- foreach ($cmd in @("python", "python3", "py")) {
25
- try {
26
- $v = & $cmd --version 2>&1
27
- if ($LASTEXITCODE -eq 0 -and $v -match "Python\s+3\.(1[0-9]|[2-9][0-9])") {
28
- $py = $cmd
29
- Write-Host " [OK] Found Python: $v" -ForegroundColor Green
30
- break
31
- }
32
- } catch { }
33
- }
34
-
35
- if (-not $py) {
36
- Write-Host " [WARN] Python 3.10+ not found in PATH." -ForegroundColor Yellow
37
- Write-Host " Attempting automated installation via winget..." -ForegroundColor Cyan
38
- try {
39
- winget install -e --id Python.Python.3.11 --accept-source-agreements --accept-package-agreements --scope currentUser
40
- Write-Host " [OK] Python 3.11 installed. Please restart your shell if PATH is not updated." -ForegroundColor Green
41
- } catch {
42
- Write-Host " [FAIL] Could not auto-install Python. Please install from https://python.org" -ForegroundColor Red
43
- }
44
- }
45
-
46
- # 2. Virtual Environment Setup
47
- Write-Host "`n[2/5] Setting up Virtual Environment (.venv)..." -ForegroundColor Yellow
48
- $venvDir = Join-Path $repoRoot ".venv"
49
- if (-not (Test-Path $venvDir) -and $py) {
50
- Write-Host " Creating virtual environment at $venvDir..." -ForegroundColor Cyan
51
- & $py -m venv $venvDir
52
- }
53
-
54
- $venvPython = if ($IsWindows -or $env:OS -match "Windows") {
55
- Join-Path $venvDir "Scripts\python.exe"
56
- } else {
57
- Join-Path $venvDir "bin/python"
58
- }
59
-
60
- # 3. Pip Dependencies
61
- Write-Host "`n[3/5] Installing Core Python Dependencies..." -ForegroundColor Yellow
62
- $reqFile = Join-Path $repoRoot "requirements.txt"
63
- if (Test-Path $venvPython) {
64
- Write-Host " Upgrading pip & wheel..." -ForegroundColor Cyan
65
- & $venvPython -m pip install --upgrade pip setuptools wheel --quiet
66
- if (Test-Path $reqFile) {
67
- Write-Host " Installing requirements from requirements.txt..." -ForegroundColor Cyan
68
- & $venvPython -m pip install -r $reqFile --quiet
69
- Write-Host " [OK] Dependencies installed in .venv" -ForegroundColor Green
70
- }
71
- } elseif ($py) {
72
- Write-Host " Installing requirements using system $py..." -ForegroundColor Cyan
73
- & $py -m pip install -r $reqFile --quiet
74
- } else {
75
- Write-Host " [SKIP] Skipping pip install: Python runtime not yet active." -ForegroundColor Yellow
76
- }
77
-
78
- # 4. Check Node.js / Playwright
79
- Write-Host "`n[4/5] Checking Node.js & Playwright CLI..." -ForegroundColor Yellow
80
- try {
81
- $nodeVer = & node --version 2>&1
82
- Write-Host " [OK] Found Node.js: $nodeVer" -ForegroundColor Green
83
- } catch {
84
- Write-Host " [INFO] Node.js not detected. Optional for standalone Python tools, required for Playwright MCP." -ForegroundColor Gray
85
- }
86
-
87
- # 5. Run Quality Gate Linting
88
- Write-Host "`n[5/6] Running Quality Gate & Skill Integrity Verification..." -ForegroundColor Yellow
89
- $linter = Join-Path $repoRoot "scripts\lint_skills.ps1"
90
- if (Test-Path $linter) {
91
- & powershell -ExecutionPolicy Bypass -File $linter
92
- }
93
-
94
- # 6. Initialize SQLite Central Agent Memory
95
- Write-Host "`n[6/6] Initializing Global Central Agent Memory (~/.agent_memory/global_cache.db)..." -ForegroundColor Yellow
96
- $cacheTool = Join-Path $repoRoot "tools\cache_resolver.py"
97
- if (Test-Path $cacheTool) {
98
- try {
99
- if (Test-Path $venvPython) {
100
- & $venvPython $cacheTool init
101
- } elseif ($py) {
102
- & $py $cacheTool init
103
- }
104
- Write-Host " [OK] Central Agent Memory initialized and seeded." -ForegroundColor Green
105
- } catch {
106
- Write-Host " [WARN] Could not initialize ~/.agent_memory/global_cache.db: $_" -ForegroundColor Yellow
107
- }
108
- }
109
-
110
- Write-Host "`n==========================================================" -ForegroundColor Cyan
111
- Write-Host " Bootstrap Complete! Hub is ready for Multi-Agent Swarm. " -ForegroundColor Green
112
- Write-Host "==========================================================" -ForegroundColor Cyan
1
+ <#
2
+ .SYNOPSIS
3
+ One-click setup and dependency bootstrap script for Enterprise Agent-Skills Hub.
4
+ .DESCRIPTION
5
+ Detects and installs Python, Node.js, Playwright, sets up a clean virtual environment,
6
+ installs requirements.txt, and verifies the full 38-skill catalog.
7
+ #>
8
+
9
+ [CmdletBinding()]
10
+ param(
11
+ [switch]$ForceInstall = $false
12
+ )
13
+
14
+ Write-Host "==========================================================" -ForegroundColor Cyan
15
+ Write-Host " Enterprise Agent-Skills Hub: Automated Bootstrap Setup " -ForegroundColor Cyan
16
+ Write-Host "==========================================================" -ForegroundColor Cyan
17
+
18
+ $repoRoot = Split-Path -Parent $PSScriptRoot
19
+ Set-Location $repoRoot
20
+
21
+ # 1. Verify / Install Python
22
+ Write-Host "`n[1/5] Checking Python 3 Runtime..." -ForegroundColor Yellow
23
+ $py = $null
24
+ foreach ($cmd in @("python", "python3", "py")) {
25
+ try {
26
+ $v = & $cmd --version 2>&1
27
+ if ($LASTEXITCODE -eq 0 -and $v -match "Python\s+3\.(1[0-9]|[2-9][0-9])") {
28
+ $py = $cmd
29
+ Write-Host " [OK] Found Python: $v" -ForegroundColor Green
30
+ break
31
+ }
32
+ } catch { }
33
+ }
34
+
35
+ if (-not $py) {
36
+ Write-Host " [WARN] Python 3.10+ not found in PATH." -ForegroundColor Yellow
37
+ Write-Host " Attempting automated installation via winget..." -ForegroundColor Cyan
38
+ try {
39
+ winget install -e --id Python.Python.3.11 --accept-source-agreements --accept-package-agreements --scope currentUser
40
+ Write-Host " [OK] Python 3.11 installed. Please restart your shell if PATH is not updated." -ForegroundColor Green
41
+ } catch {
42
+ Write-Host " [FAIL] Could not auto-install Python. Please install from https://python.org" -ForegroundColor Red
43
+ }
44
+ }
45
+
46
+ # 2. Virtual Environment Setup
47
+ Write-Host "`n[2/5] Setting up Virtual Environment (.venv)..." -ForegroundColor Yellow
48
+ $venvDir = Join-Path $repoRoot ".venv"
49
+ if (-not (Test-Path $venvDir) -and $py) {
50
+ Write-Host " Creating virtual environment at $venvDir..." -ForegroundColor Cyan
51
+ & $py -m venv $venvDir
52
+ }
53
+
54
+ $venvPython = if ($IsWindows -or $env:OS -match "Windows") {
55
+ Join-Path $venvDir "Scripts\python.exe"
56
+ } else {
57
+ Join-Path $venvDir "bin/python"
58
+ }
59
+
60
+ # 3. Pip Dependencies
61
+ Write-Host "`n[3/5] Installing Core Python Dependencies..." -ForegroundColor Yellow
62
+ $reqFile = Join-Path $repoRoot "requirements.txt"
63
+ if (Test-Path $venvPython) {
64
+ Write-Host " Upgrading pip & wheel..." -ForegroundColor Cyan
65
+ & $venvPython -m pip install --upgrade pip setuptools wheel --quiet
66
+ if (Test-Path $reqFile) {
67
+ Write-Host " Installing requirements from requirements.txt..." -ForegroundColor Cyan
68
+ & $venvPython -m pip install -r $reqFile --quiet
69
+ Write-Host " [OK] Dependencies installed in .venv" -ForegroundColor Green
70
+ }
71
+ } elseif ($py) {
72
+ Write-Host " Installing requirements using system $py..." -ForegroundColor Cyan
73
+ & $py -m pip install -r $reqFile --quiet
74
+ } else {
75
+ Write-Host " [SKIP] Skipping pip install: Python runtime not yet active." -ForegroundColor Yellow
76
+ }
77
+
78
+ # 4. Check Node.js / Playwright
79
+ Write-Host "`n[4/5] Checking Node.js & Playwright CLI..." -ForegroundColor Yellow
80
+ try {
81
+ $nodeVer = & node --version 2>&1
82
+ Write-Host " [OK] Found Node.js: $nodeVer" -ForegroundColor Green
83
+ } catch {
84
+ Write-Host " [INFO] Node.js not detected. Optional for standalone Python tools, required for Playwright MCP." -ForegroundColor Gray
85
+ }
86
+
87
+ # 5. Run Quality Gate Linting
88
+ Write-Host "`n[5/6] Running Quality Gate & Skill Integrity Verification..." -ForegroundColor Yellow
89
+ $linter = Join-Path $repoRoot "scripts\lint_skills.ps1"
90
+ if (Test-Path $linter) {
91
+ & powershell -ExecutionPolicy Bypass -File $linter
92
+ }
93
+
94
+ # 6. Initialize SQLite Central Agent Memory
95
+ Write-Host "`n[6/6] Initializing Global Central Agent Memory (~/.agent_memory/global_cache.db)..." -ForegroundColor Yellow
96
+ $cacheTool = Join-Path $repoRoot "tools\cache_resolver.py"
97
+ if (Test-Path $cacheTool) {
98
+ try {
99
+ if (Test-Path $venvPython) {
100
+ & $venvPython $cacheTool init
101
+ } elseif ($py) {
102
+ & $py $cacheTool init
103
+ }
104
+ Write-Host " [OK] Central Agent Memory initialized and seeded." -ForegroundColor Green
105
+ } catch {
106
+ Write-Host " [WARN] Could not initialize ~/.agent_memory/global_cache.db: $_" -ForegroundColor Yellow
107
+ }
108
+ }
109
+
110
+ Write-Host "`n==========================================================" -ForegroundColor Cyan
111
+ Write-Host " Bootstrap Complete! Hub is ready for Multi-Agent Swarm. " -ForegroundColor Green
112
+ Write-Host "==========================================================" -ForegroundColor Cyan
@@ -1,57 +1,57 @@
1
- <#
2
- .SYNOPSIS
3
- Automated validation test for all skills in Agent-Skills Hub.
4
- .DESCRIPTION
5
- Checks presence of SKILL.md, valid frontmatter (name, description), and verifies skills_manifest.json.
6
- #>
7
-
8
- Write-Host "==========================================================" -ForegroundColor Cyan
9
- Write-Host " Agent-Skills Quality & Integrity Linter " -ForegroundColor Cyan
10
- Write-Host "==========================================================" -ForegroundColor Cyan
11
-
12
- $skillsDir = Join-Path $PSScriptRoot "..\.agents\skills"
13
- $manifestPath = Join-Path $PSScriptRoot "..\skills_manifest.json"
14
-
15
- $passed = 0
16
- $failed = 0
17
-
18
- if (-not (Test-Path $manifestPath)) {
19
- Write-Host "[FAIL] Missing skills_manifest.json!" -ForegroundColor Red
20
- exit 1
21
- }
22
-
23
- $manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json
24
- Write-Host "[INFO] Manifest loaded: $($manifest.totalSkills) declared skills." -ForegroundColor Gray
25
-
26
- $skillDirs = Get-ChildItem -Path $skillsDir -Directory
27
-
28
- foreach ($dir in $skillDirs) {
29
- $skillMd = Join-Path $dir.FullName "SKILL.md"
30
- if (-not (Test-Path $skillMd)) {
31
- Write-Host "[FAIL] $($dir.Name): Missing SKILL.md" -ForegroundColor Red
32
- $failed++
33
- continue
34
- }
35
-
36
- $content = Get-Content $skillMd -Raw
37
- $hasName = $content -match "name:\s*[\w\-\s]+"
38
- $hasDesc = $content -match "description:\s*.+"
39
-
40
- if ($hasName -and $hasDesc) {
41
- Write-Host "[PASS] $($dir.Name) - Valid Frontmatter" -ForegroundColor Green
42
- $passed++
43
- } else {
44
- Write-Host "[FAIL] $($dir.Name) - Invalid or missing YAML frontmatter" -ForegroundColor Red
45
- $failed++
46
- }
47
- }
48
-
49
- Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
50
- Write-Host "Verification Results: $passed Passed, $failed Failed." -ForegroundColor $(if ($failed -eq 0) { "Green" } else { "Red" })
51
- Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
52
-
53
- if ($failed -gt 0) {
54
- exit 1
55
- } else {
56
- exit 0
57
- }
1
+ <#
2
+ .SYNOPSIS
3
+ Automated validation test for all skills in Agent-Skills Hub.
4
+ .DESCRIPTION
5
+ Checks presence of SKILL.md, valid frontmatter (name, description), and verifies skills_manifest.json.
6
+ #>
7
+
8
+ Write-Host "==========================================================" -ForegroundColor Cyan
9
+ Write-Host " Agent-Skills Quality & Integrity Linter " -ForegroundColor Cyan
10
+ Write-Host "==========================================================" -ForegroundColor Cyan
11
+
12
+ $skillsDir = Join-Path $PSScriptRoot "..\.agents\skills"
13
+ $manifestPath = Join-Path $PSScriptRoot "..\skills_manifest.json"
14
+
15
+ $passed = 0
16
+ $failed = 0
17
+
18
+ if (-not (Test-Path $manifestPath)) {
19
+ Write-Host "[FAIL] Missing skills_manifest.json!" -ForegroundColor Red
20
+ exit 1
21
+ }
22
+
23
+ $manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json
24
+ Write-Host "[INFO] Manifest loaded: $($manifest.totalSkills) declared skills." -ForegroundColor Gray
25
+
26
+ $skillDirs = Get-ChildItem -Path $skillsDir -Directory
27
+
28
+ foreach ($dir in $skillDirs) {
29
+ $skillMd = Join-Path $dir.FullName "SKILL.md"
30
+ if (-not (Test-Path $skillMd)) {
31
+ Write-Host "[FAIL] $($dir.Name): Missing SKILL.md" -ForegroundColor Red
32
+ $failed++
33
+ continue
34
+ }
35
+
36
+ $content = Get-Content $skillMd -Raw
37
+ $hasName = $content -match "name:\s*[\w\-\s]+"
38
+ $hasDesc = $content -match "description:\s*.+"
39
+
40
+ if ($hasName -and $hasDesc) {
41
+ Write-Host "[PASS] $($dir.Name) - Valid Frontmatter" -ForegroundColor Green
42
+ $passed++
43
+ } else {
44
+ Write-Host "[FAIL] $($dir.Name) - Invalid or missing YAML frontmatter" -ForegroundColor Red
45
+ $failed++
46
+ }
47
+ }
48
+
49
+ Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
50
+ Write-Host "Verification Results: $passed Passed, $failed Failed." -ForegroundColor $(if ($failed -eq 0) { "Green" } else { "Red" })
51
+ Write-Host "----------------------------------------------------------" -ForegroundColor Cyan
52
+
53
+ if ($failed -gt 0) {
54
+ exit 1
55
+ } else {
56
+ exit 0
57
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "name": "Enterprise Agent Skills Hub",
4
- "version": "2.4.1",
4
+ "version": "2.4.3",
5
5
  "description": "Unified Catalog of 38 Specialized Skills for Autonomous AI Agents in Enterprise Software Quality Engineering, Performance, and Architecture.",
6
6
  "totalSkills": 38,
7
7
  "categories": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/TeeVee998/Synapse-Hub/main/docs/schemas/synapse.config.schema.json",
3
- "version": "2.4.1",
3
+ "version": "2.4.3",
4
4
  "quality_gates": {
5
5
  "mutation_min_score": 80,
6
6
  "gates": {
package/tools/__init__.py CHANGED
@@ -6,7 +6,7 @@ Repository: https://github.com/TeeVee998/Synapse-Hub
6
6
  License: MIT
7
7
  """
8
8
 
9
- __version__ = "2.4.1"
9
+ __version__ = "2.4.3"
10
10
  __author__ = "Thế Vị (@TeeVee998)"
11
11
 
12
12
  __all__ = [