From 3c37ca8542215b32d7b7027effc7518c67017f55 Mon Sep 17 00:00:00 2001
From: "Alexander Brichkin (Agonist Development AB)"
Date: Mon, 20 Jul 2026 15:24:36 +0200
Subject: [PATCH] sync: CI fixes + footer center + content-gate fix
Cypress-ariada: separate unit test from e2e, add vitest config.
Footer centered with proper padding. Remove commercial cross-promo
links. Content-gate excludes evidence and sync-conflict files.
Signed-off-by: Alexander Brichkin
Signed-off-by: Alexander Brichkin (Agonist Development AB)
---
.github/workflows/actionlint.yml | 7 +
.github/workflows/catalog-drift.yml | 42 +
.github/workflows/content-gate.yml | 2 +-
.github/workflows/eaa-diff.yml | 2 +-
.github/workflows/eaa-vercel-diff.yml | 2 +-
.github/workflows/gitleaks.yml | 4 +-
.github/workflows/scorecard.yml | 19 +-
.gitignore | 10 +
.gitleaks.toml | 11 +-
.husky/commit-msg | 9 +
.husky/pre-commit | 12 +-
CONTRIBUTING.md | 9 +
LICENSES/CC-BY-4.0.txt | 156 +
LICENSES/GPL-2.0-or-later.txt | 117 +
README.md | 76 +-
.../public/demo/multi-domain-report.json | 219 +-
apps/ariada-org/src/layouts/Base.astro | 1 +
apps/ariada-org/src/pages/architecture.astro | 52 +-
apps/ariada-org/src/pages/licenses.astro | 4 +-
apps/ariada-org/src/styles/global.css | 12 +
...emo-desktop-1280-light-chromium-darwin.png | Bin 256250 -> 239078 bytes
.../demo-divergence-panel-chromium-darwin.png | Bin 44487 -> 24469 bytes
.../demo-finding-expanded-chromium-darwin.png | Bin 26178 -> 37285 bytes
...o-grid-score-headlines-chromium-darwin.png | Bin 23682 -> 25080 bytes
...demo-interaction-panel-chromium-darwin.png | Bin 37236 -> 33746 bytes
.../demo-mobile-375-light-chromium-darwin.png | Bin 242575 -> 216586 bytes
integrations/alfred-ariada/.gitignore | 2 +
integrations/alfred-ariada/README.md | 25 +
.../alfred-ariada/fixtures/scan-result.json | 12 +
integrations/alfred-ariada/info.plist | 28 +
integrations/alfred-ariada/package.json | 10 +
.../alfred-ariada/scripts/script-filter.mjs | 26 +
.../alfred-ariada/test/alfred.test.mjs | 20 +
integrations/axure-ariada/README.md | 46 +
.../axure-ariada/axure-ariada.config.json | 10 +
.../fixtures/axure-export/data/document.js | 6 +
.../fixtures/axure-export/index.html | 34 +
.../resources/css/axure_rp_page.css | 50 +
.../resources/scripts/axure/axQuery.js | 4 +
.../resources/scripts/axure/events.js | 7 +
.../fixtures/panel/extension-panel.html | 59 +
integrations/axure-ariada/package.json | 39 +
.../ariada-output/multi-domain-report.json | 317 +
.../axure-ariada/scan-evidence/command.exit | 1 +
.../axure-ariada/scan-evidence/command.log | 32 +
.../axure-ariada/scan-evidence/result.html | 415 +
.../screenshots/extension-panel.png | Bin 0 -> 211020 bytes
.../screenshots/result-report.png | Bin 0 -> 137833 bytes
.../schema/axure-ariada.config.schema.json | 47 +
.../scripts/build-evidence-report.mjs | 665 +
integrations/axure-ariada/scripts/lint.mjs | 42 +
.../axure-ariada/scripts/validate-config.mjs | 31 +
integrations/axure-ariada/src/bin.ts | 132 +
integrations/axure-ariada/src/index.ts | 318 +
.../axure-ariada/tests/axure.test.mjs | 97 +
integrations/axure-ariada/tsconfig.json | 15 +
integrations/azure-devops-ariada/README.md | 59 +
.../examples/azure-pipelines.yml | 9 +
.../fixtures/mock-ariada-cli.mjs | 23 +
integrations/azure-devops-ariada/overview.md | 18 +
.../scan-evidence/ariada-output/scan.json | 15 +
.../scan-evidence/result.html | 35 +
.../scripts/local-task-runner.mjs | 122 +
.../scripts/validate-evidence-links.mjs | 37 +
.../scripts/validate-extension.mjs | 43 +
.../azure-devops-ariada/task/index.cjs | 97 +
.../azure-devops-ariada/task/task.json | 88 +
.../test-report/result.html | 32 +
.../test-report/runner-output.json | 7 +
.../test-report/screenshot.png | Bin 0 -> 6924478 bytes
.../azure-devops-ariada/vss-extension.json | 45 +
integrations/backstage-ariada/README.md | 20 +
integrations/backstage-ariada/package.json | 28 +
.../scripts/validate-backstage.mjs | 15 +
integrations/backstage-ariada/src/index.ts | 50 +
.../backstage-ariada/tests/card.test.mjs | 31 +
integrations/backstage-ariada/tsconfig.json | 9 +
integrations/balsamiq-ariada/README.md | 58 +
.../fixtures/html-export/index.html | 13 +
.../fixtures/png-only/README.md | 2 +
integrations/balsamiq-ariada/package.json | 27 +
integrations/balsamiq-ariada/recipe.json | 9 +
.../balsamiq-ariada/scan-evidence/result.html | 65 +
.../scripts/validate-recipe.mjs | 27 +
integrations/balsamiq-ariada/src/cli.ts | 54 +
integrations/balsamiq-ariada/src/index.ts | 78 +
.../balsamiq-ariada/tests/index.test.mjs | 42 +
integrations/balsamiq-ariada/tsconfig.json | 13 +
integrations/bitbucket-pipe-ariada/Dockerfile | 10 +
integrations/bitbucket-pipe-ariada/README.md | 20 +
.../bitbucket-pipelines.yml | 11 +
integrations/bitbucket-pipe-ariada/pipe.yml | 22 +
.../bitbucket-pipe-ariada/pipe/run.sh | 16 +
.../scripts/validate-pipe.mjs | 12 +
integrations/bubble-ariada/.gitignore | 1 +
integrations/bubble-ariada/README.md | 51 +
integrations/bubble-ariada/package.json | 17 +
.../bubble-ariada/plugin/bubble-plugin.json | 56 +
.../plugin/server-side-action.js | 47 +
.../ariada-output/bubble-action-result.json | 10 +
.../ariada-output/hosted-api-fixture.json | 24 +
.../scan-evidence/bubble-action-preview.html | 25 +
.../scan-evidence/command-output.txt | 2 +
.../bubble-ariada/scan-evidence/command.exit | 1 +
.../bubble-ariada/scan-evidence/result.html | 55 +
.../screenshots/bubble-action-result.png | Bin 0 -> 198625 bytes
.../bubble-ariada/scripts/run-e2e.mjs | 326 +
.../bubble-ariada/scripts/validate-plugin.mjs | 30 +
integrations/bubble-ariada/src/action.mjs | 47 +
.../bubble-ariada/test-report/logs/e2e.exit | 1 +
.../bubble-ariada/test-report/logs/e2e.txt | 1 +
.../bubble-ariada/test-report/logs/lint.exit | 1 +
.../bubble-ariada/test-report/logs/lint.txt | 3 +
.../test-report/logs/screenshot.txt | 5 +
.../bubble-ariada/test-report/logs/test.exit | 1 +
.../bubble-ariada/test-report/logs/test.txt | 14 +
.../test-report/logs/validate.exit | 1 +
.../test-report/logs/validate.txt | 5 +
.../bubble-ariada/test-report/result.html | 24 +
.../bubble-ariada/test/action.test.mjs | 26 +
integrations/cloudflare-ariada/README.md | 30 +
integrations/cloudflare-ariada/build-step.sh | 32 +
.../scripts/validate-cloudflare.mjs | 19 +
.../cloudflare-ariada/worker/index.js | 30 +
.../cloudflare-ariada/wrangler.example.toml | 12 +
integrations/contentful-ariada/README.md | 22 +
integrations/contentful-ariada/package.json | 18 +
integrations/contentful-ariada/src/index.ts | 58 +
.../contentful-ariada/tests/index.test.mjs | 23 +
integrations/contentful-ariada/tsconfig.json | 12 +
integrations/craft-ariada/README.md | 23 +
integrations/craft-ariada/composer.json | 19 +
integrations/craft-ariada/package.json | 16 +
.../scripts/validate-structure.mjs | 14 +
integrations/craft-ariada/src/Plugin.php | 36 +
integrations/dart-flutter-ariada/README.md | 60 +
.../dart-flutter-ariada/analysis_options.yaml | 6 +
.../dart-flutter-ariada/bin/scan.dart | 83 +
.../build/web/index.html | 15 +
.../build/web/index.html | 36 +
.../dart-flutter-ariada/lib/ariada.dart | 5 +
.../dart-flutter-ariada/lib/src/report.dart | 85 +
.../dart-flutter-ariada/lib/src/runner.dart | 218 +
integrations/dart-flutter-ariada/pubspec.yaml | 26 +
.../ariada-output/multi-domain-report.json | 34 +
.../scan-evidence/command.exit | 1 +
.../scan-evidence/command.log | 5 +
.../scan-evidence/result.html | 453 +
.../scan-evidence/scan-result-preview.html | 37 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 4616444 bytes
.../screenshots/tested-host-surface.png | Bin 0 -> 35521 bytes
.../scripts/build-reports.mjs | 567 +
.../scripts/validate-screenshots.mjs | 45 +
.../test-report/result.html | 37 +
.../dart-flutter-ariada/test/report_test.dart | 36 +
.../dart-flutter-ariada/test/runner_test.dart | 108 +
integrations/dash-ariada/README.md | 44 +
.../dash-ariada/dash_ariada/__init__.py | 6 +
.../dash-ariada/dash_ariada/__main__.py | 5 +
integrations/dash-ariada/dash_ariada/cli.py | 45 +
.../dash-ariada/dash_ariada/component.py | 24 +
.../dash-ariada/dash_ariada/scanner.py | 128 +
.../dash-ariada/examples/site/index.html | 16 +
integrations/dash-ariada/pyproject.toml | 31 +
.../ariada-output/multi-domain-report.json | 336 +
.../dash-ariada/scan-evidence/command.exit | 1 +
.../dash-ariada/scan-evidence/command.log | 2 +
.../dash-ariada/scan-evidence/result.html | 347 +
.../scan-evidence/scan-result-preview.html | 376 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 114653 bytes
.../scripts/build_evidence_reports.py | 608 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../test-report/logs/ariada-cli-build.exit | 1 +
.../test-report/logs/ariada-cli-build.log | 3 +
.../dash-ariada/test-report/logs/build.exit | 1 +
.../dash-ariada/test-report/logs/build.log | 106 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/compileall.log | 0
.../test-report/logs/evidence-report.log | 0
.../dash-ariada/test-report/logs/install.exit | 1 +
.../dash-ariada/test-report/logs/install.log | 57 +
.../test-report/logs/pip-upgrade.log | 9 +
.../dash-ariada/test-report/logs/pytest.exit | 1 +
.../dash-ariada/test-report/logs/pytest.log | 2 +
.../dash-ariada/test-report/logs/ruff.exit | 1 +
.../dash-ariada/test-report/logs/ruff.log | 1 +
.../dash-ariada/test-report/logs/scan.exit | 1 +
.../dash-ariada/test-report/logs/scan.log | 2 +
.../test-report/logs/screenshot.log | 0
.../dash-ariada/test-report/result.html | 209 +
.../dash-ariada/tests/test_scanner.py | 93 +
.../devcontainer-feature-ariada/README.md | 30 +
.../scripts/validate-feature.mjs | 19 +
.../src/ariada/devcontainer-feature.json | 21 +
.../src/ariada/install.sh | 20 +
.../test/devcontainer.json | 10 +
integrations/devtools-ariada/README.md | 59 +
.../devtools-ariada/manifest.fragment.json | 5 +
integrations/devtools-ariada/package.json | 10 +
.../scripts/validate-devtools-integration.mjs | 88 +
integrations/directus-ariada/README.md | 15 +
integrations/directus-ariada/package.json | 18 +
integrations/directus-ariada/src/index.ts | 29 +
.../directus-ariada/tests/index.test.mjs | 12 +
integrations/directus-ariada/tsconfig.json | 12 +
integrations/discord-ariada/.gitignore | 2 +
integrations/discord-ariada/README.md | 26 +
integrations/discord-ariada/commands.json | 14 +
.../discord-ariada/fixtures/scan-result.json | 21 +
integrations/discord-ariada/package.json | 14 +
integrations/discord-ariada/src/embed.ts | 21 +
integrations/discord-ariada/src/types.ts | 23 +
integrations/discord-ariada/src/webhook.ts | 21 +
.../discord-ariada/test/embed.test.mjs | 31 +
integrations/discord-ariada/tsconfig.json | 13 +
integrations/django-ariada/README.md | 61 +
.../django-ariada/ariada_django/__init__.py | 5 +
.../django-ariada/ariada_django/apps.py | 7 +
.../ariada_django/management/__init__.py | 1 +
.../management/commands/__init__.py | 1 +
.../management/commands/ariada_scan.py | 84 +
.../django-ariada/ariada_django/scanner.py | 225 +
.../examples/minimal_project/manage.py | 16 +
.../minimal_project/__init__.py | 1 +
.../minimal_project/settings.py | 14 +
.../minimal_project/minimal_project/urls.py | 29 +
integrations/django-ariada/pyproject.toml | 39 +
.../ariada-output/multi-domain-report.json | 205 +
.../django-ariada/scan-evidence/result.html | 40 +
.../scan-evidence/scan-result-preview.html | 238 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 115969 bytes
.../scripts/build_evidence_reports.py | 165 +
.../scripts/capture_scan_screenshot.mjs | 23 +
.../django-ariada/test-report/result.html | 188 +
.../django-ariada/tests/test_scanner.py | 106 +
integrations/docker-ariada/Dockerfile | 52 +
integrations/docker-ariada/README.md | 36 +
integrations/docker-ariada/SMOKE.md | 27 +
integrations/docker-ariada/entrypoint.sh | 15 +
integrations/dotnet-ariada/README.md | 69 +
integrations/dotnet-ariada/dotnet-ariada.sln | 37 +
.../aspnet-static-output/wwwroot/index.html | 17 +
.../ariada-output/multi-domain-report.json | 128 +
.../dotnet-ariada/scan-evidence/command.exit | 1 +
.../dotnet-ariada/scan-evidence/command.log | 2 +
.../dotnet-ariada/scan-evidence/result.html | 37 +
.../scan-evidence/scan-result-preview.html | 161 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 115722 bytes
.../scripts/build_evidence_reports.py | 171 +
.../scripts/capture_scan_screenshot.mjs | 20 +
.../scripts/validate-structure.mjs | 49 +
.../Ariada.DotNet.Core.csproj | 13 +
.../src/Ariada.DotNet.Core/AriadaCliRunner.cs | 224 +
.../src/Ariada.DotNet.Core/AriadaOptions.cs | 29 +
.../Ariada.DotNet.Core/AriadaReportParser.cs | 101 +
.../src/Ariada.DotNet.Core/AriadaSeverity.cs | 26 +
.../Ariada.DotNet.MSBuild.csproj | 21 +
.../Ariada.DotNet.MSBuild/AriadaScanTask.cs | 70 +
.../build/Ariada.DotNet.MSBuild.targets | 22 +
.../Ariada.DotNet.Tool.csproj | 19 +
.../src/Ariada.DotNet.Tool/Program.cs | 111 +
.../test-report/logs/dotnet-build.exit | 1 +
.../test-report/logs/dotnet-build.log | 1 +
.../test-report/logs/dotnet-format.exit | 1 +
.../test-report/logs/dotnet-format.log | 1 +
.../test-report/logs/dotnet-info.exit | 1 +
.../test-report/logs/dotnet-info.log | 1 +
.../test-report/logs/dotnet-pack.exit | 1 +
.../test-report/logs/dotnet-pack.log | 1 +
.../test-report/logs/dotnet-test.exit | 1 +
.../test-report/logs/dotnet-test.log | 1 +
.../test-report/logs/validate.exit | 1 +
.../test-report/logs/validate.log | 1 +
.../dotnet-ariada/test-report/result.html | 42 +
.../Ariada.DotNet.Tests.csproj | 15 +
.../AriadaReportParserTests.cs | 134 +
integrations/drupal-ariada/README.md | 97 +
.../drupal-ariada/ariada_drupal.info.yml | 6 +
.../drupal-ariada/ariada_drupal.install | 38 +
.../ariada_drupal.links.menu.yml | 6 +
.../ariada_drupal.permissions.yml | 4 +
.../drupal-ariada/ariada_drupal.routing.yml | 9 +
.../drupal-ariada/ariada_drupal.services.yml | 21 +
integrations/drupal-ariada/composer.json | 18 +
.../config/install/ariada_drupal.settings.yml | 7 +
.../config/schema/ariada_drupal.schema.yml | 25 +
.../Drush/Commands/AriadaDrushCommands.php | 140 +
.../src/Form/AriadaSettingsForm.php | 270 +
.../src/Service/AriadaReportNormalizer.php | 159 +
.../src/Service/AriadaScanner.php | 123 +
.../src/Service/HostedAriadaRunner.php | 124 +
.../src/Service/LocalAriadaRunner.php | 179 +
integrations/eclipse-ariada/.gitignore | 1 +
.../eclipse-ariada/META-INF/MANIFEST.MF | 7 +
integrations/eclipse-ariada/README.md | 29 +
integrations/eclipse-ariada/plugin.xml | 15 +
.../eclipse-ariada/scripts/compile-smoke.sh | 15 +
.../src/org/ariada/eclipse/AriadaFinding.java | 4 +
.../src/org/ariada/eclipse/AriadaMarker.java | 4 +
.../ariada/eclipse/AriadaMarkerMapper.java | 27 +
.../eclipse/AriadaMarkerMapperSmoke.java | 18 +
integrations/edge-addon-ariada/.gitignore | 3 +
integrations/edge-addon-ariada/README.md | 34 +
integrations/edge-addon-ariada/package.json | 10 +
.../scripts/build-edge-package.mjs | 22 +
.../scripts/validate-edge-package.mjs | 24 +
.../edge-addon-ariada/store-listing.json | 8 +
.../elixir-phoenix-ariada/.formatter.exs | 6 +
integrations/elixir-phoenix-ariada/README.md | 46 +
.../lib/ariada_phoenix.ex | 99 +
.../lib/mix/tasks/ariada.scan.ex | 61 +
integrations/elixir-phoenix-ariada/mix.exs | 44 +
.../ariada-output/multi-domain-report.json | 47 +
.../scan-evidence/command.exit | 1 +
.../scan-evidence/command.txt | 23 +
.../scan-evidence/result.html | 25145 ++++++++++++++++
.../scan-evidence/scan-result-preview.html | 52 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 292039 bytes
.../scripts/build_evidence_reports.py | 548 +
.../scripts/validate-fixture.mjs | 29 +
.../scripts/validate_screenshot.py | 82 +
.../test/ariada_phoenix_test.exs | 68 +
.../test/fixtures/ariada_output.json | 30 +
.../fixtures/phoenix_static_output/index.html | 21 +
.../test/test_helper.exs | 1 +
integrations/emacs-ariada/README.md | 28 +
integrations/emacs-ariada/ariada.el | 59 +
integrations/emacs-ariada/package.json | 9 +
.../scripts/validate-emacs-package.mjs | 17 +
integrations/fastapi-ariada/README.md | 60 +
.../fastapi-ariada/ariada_fastapi/__init__.py | 32 +
.../fastapi-ariada/ariada_fastapi/__main__.py | 6 +
.../fastapi-ariada/ariada_fastapi/cli.py | 71 +
.../fastapi-ariada/ariada_fastapi/scanner.py | 225 +
.../examples/minimal_app/app.py | 33 +
integrations/fastapi-ariada/pyproject.toml | 40 +
.../ariada-output/multi-domain-report.json | 336 +
.../fastapi-ariada/scan-evidence/command.exit | 1 +
.../fastapi-ariada/scan-evidence/result.html | 40 +
.../scan-evidence/scan-result-preview.html | 370 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 114115 bytes
.../scripts/build_evidence_reports.py | 166 +
.../scripts/capture_scan_screenshot.mjs | 23 +
.../test-report/logs/build.exit | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/pytest.exit | 1 +
.../fastapi-ariada/test-report/logs/ruff.exit | 1 +
.../fastapi-ariada/test-report/result.html | 184 +
.../fastapi-ariada/tests/test_scanner.py | 115 +
integrations/firefox-addon-ariada/.gitignore | 2 +
integrations/firefox-addon-ariada/README.md | 32 +
.../firefox-addon-ariada/package.json | 10 +
.../scripts/build-firefox-package.mjs | 31 +
.../scripts/validate-firefox-package.mjs | 36 +
.../firefox-addon-ariada/store-listing.json | 8 +
integrations/framer-ariada/README.md | 154 +
.../fixtures/known-bad-frame.json | 46 +
integrations/framer-ariada/framer.json | 6 +
integrations/framer-ariada/index.html | 12 +
integrations/framer-ariada/package.json | 27 +
integrations/framer-ariada/public/icon.svg | 4 +
.../scan-evidence/result-screenshot.png | Bin 0 -> 4984 bytes
.../framer-ariada/scan-evidence/result.html | 165 +
.../framer-ariada/scan-evidence/result.json | 44 +
.../scripts/check-required-headings.cjs | 41 +
.../framer-ariada/scripts/run-fixture.cjs | 304 +
.../scripts/validate-evidence.cjs | 63 +
.../scripts/validate-framer-config.cjs | 25 +
integrations/framer-ariada/src/audit.cjs | 248 +
.../framer-ariada/src/framer-adapter.cjs | 102 +
integrations/framer-ariada/src/plugin.jsx | 47 +
.../framer-ariada/test-report/result.html | 68 +
.../framer-ariada/tests/audit.test.cjs | 43 +
integrations/ghost-ariada/README.md | 23 +
integrations/ghost-ariada/package.json | 17 +
integrations/ghost-ariada/src/index.js | 30 +
integrations/ghost-ariada/tests/index.test.js | 25 +
integrations/gitbook-ariada/README.md | 62 +
.../examples/github-actions.yml | 25 +
.../gitbook-ariada/fixtures/export/index.html | 14 +
.../fixtures/scan-with-finding.json | 15 +
integrations/gitbook-ariada/package.json | 31 +
.../scan-evidence/fixture-output/scan.json | 15 +
.../gitbook-ariada/scan-evidence/result.html | 53 +
.../gitbook-ariada/scripts/gitbook-ariada.mjs | 191 +
.../scripts/validate-gitbook.mjs | 29 +
integrations/gitbook-ariada/src/config.mjs | 96 +
.../tests/fixtures/fake-ariada.mjs | 48 +
.../tests/gitbook-ariada.test.mjs | 83 +
integrations/gitea-action-ariada/README.md | 19 +
integrations/gitea-action-ariada/action.yml | 30 +
.../examples/.gitea/workflows/ariada.yml | 16 +
.../gitea-action-ariada/fixtures/bad.html | 4 +
.../gitea-action-ariada/scripts/run-ariada.sh | 16 +
.../scripts/validate-action.mjs | 12 +
.../gitlab-component-ariada/CHANGELOG.md | 5 +
.../gitlab-component-ariada/README.md | 26 +
.../examples/.gitlab-ci.yml | 11 +
.../scripts/emit-codequality.mjs | 30 +
.../scripts/validate-component.mjs | 27 +
.../templates/ariada.yml | 42 +
integrations/gitpod-ariada/README.md | 28 +
.../gitpod-ariada/fixtures/scan-result.json | 8 +
.../gitpod-ariada/gitpod-template.yml | 9 +
integrations/gitpod-ariada/package.json | 10 +
.../gitpod-ariada/scripts/run-ariada.mjs | 9 +
.../scripts/validate-gitpod-template.mjs | 16 +
.../gitpod-ariada/test/gitpod.test.mjs | 16 +
integrations/go-ariada/README.md | 73 +
.../go-ariada/cmd/ariada-gate/main.go | 73 +
integrations/go-ariada/go.mod | 3 +
.../go-ariada/internal/gate/exec_runner.go | 39 +
integrations/go-ariada/internal/gate/gate.go | 177 +
.../go-ariada/internal/gate/gate_test.go | 163 +
.../ariada-output/multi-domain-report.json | 174 +
.../go-ariada/scan-evidence/command.log | 16 +
.../go-ariada/scan-evidence/result.html | 867 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 303798 bytes
.../screenshots/tested-host-surface.png | Bin 0 -> 20056 bytes
.../go-ariada/scripts/build-reports.mjs | 534 +
.../go-ariada/test-report/result.html | 30 +
integrations/go-ariada/testdata/fixture.html | 21 +
integrations/gradle-ariada/.gitignore | 2 +
integrations/gradle-ariada/README.md | 46 +
integrations/gradle-ariada/build.gradle.kts | 33 +
.../fixtures/sample-web/index.html | 14 +
.../scan-evidence/command-output.txt | 11 +
.../raw/multi-domain-report.json | 128 +
.../scan-evidence/result-screenshot.png | Bin 0 -> 5770611 bytes
.../gradle-ariada/scan-evidence/result.html | 562 +
.../screenshots/tested-surface.png | Bin 0 -> 1026075 bytes
.../scripts/build_evidence_reports.py | 839 +
.../gradle-ariada/settings.gradle.kts | 15 +
.../ariada/gradle/AriadaScanExtension.java | 26 +
.../org/ariada/gradle/AriadaScanPlugin.java | 23 +
.../org/ariada/gradle/AriadaScanTask.java | 115 +
.../java/org/ariada/gradle/CliInvocation.java | 11 +
.../java/org/ariada/gradle/CliResult.java | 3 +
.../java/org/ariada/gradle/CliRunner.java | 7 +
.../org/ariada/gradle/ProcessCliRunner.java | 41 +
.../org/ariada/gradle/ScanReportParser.java | 62 +
.../java/org/ariada/gradle/ScanSummary.java | 3 +
.../AriadaScanPluginFunctionalTest.java | 100 +
.../ariada/gradle/ScanReportParserTest.java | 66 +
integrations/grunt-ariada/README.md | 14 +
integrations/grunt-ariada/package.json | 28 +
.../grunt-ariada/scripts/lint-no-debug.js | 13 +
integrations/grunt-ariada/tasks/ariada.js | 34 +
integrations/grunt-ariada/tests/task.test.js | 29 +
integrations/gulp-ariada/README.md | 13 +
integrations/gulp-ariada/package.json | 33 +
integrations/gulp-ariada/src/index.ts | 52 +
integrations/gulp-ariada/tests/plugin.test.ts | 23 +
integrations/gulp-ariada/tsconfig.json | 12 +
integrations/gulp-ariada/vitest.config.ts | 1 +
integrations/hexo-ariada/README.md | 66 +
integrations/hexo-ariada/index.js | 12 +
integrations/hexo-ariada/lib/hexo-ariada.js | 199 +
integrations/hexo-ariada/package.json | 40 +
.../hexo-ariada/scan-evidence/result.html | 67 +
.../hexo-ariada/scripts/generate-evidence.js | 120 +
.../hexo-ariada/scripts/lint-no-debug.js | 35 +
.../hexo-ariada/tests/hexo-ariada.test.js | 153 +
.../tests/hexo-integration.test.js | 84 +
.../homebrew-ariada/Formula/ariada.rb | 22 +
integrations/homebrew-ariada/README.md | 32 +
integrations/homebrew-ariada/SMOKE.md | 22 +
integrations/hugo-ariada/README.md | 79 +
.../examples/rendered-public/index.html | 37 +
.../examples/rendered-public/product.svg | 7 +
.../examples/site/content/_index.md | 7 +
.../hugo-ariada/examples/site/hugo.toml | 11 +
.../site/layouts/_default/baseof.html | 21 +
.../examples/site/layouts/index.html | 3 +
.../examples/site/static/images/product.svg | 4 +
integrations/hugo-ariada/go.mod | 3 +
integrations/hugo-ariada/hugo.toml | 7 +
.../layouts/partials/ariada/badge.html | 3 +
.../layouts/shortcodes/ariada-badge.html | 1 +
integrations/hugo-ariada/package.json | 30 +
.../ariada-output/multi-domain-report.json | 45 +
.../hugo-ariada/scan-evidence/command.log | 5 +
.../hugo-ariada/scan-evidence/result.html | 584 +
.../scan-evidence/scan-result-preview.html | 48 +
.../screenshots/scan-result-preview.png | Bin 0 -> 82987 bytes
.../screenshots/tested-host-surface.png | Bin 0 -> 48820 bytes
.../hugo-ariada/scripts/build-evidence.mjs | 501 +
.../scripts/validate-screenshot.mjs | 106 +
integrations/hugo-ariada/src/index.mjs | 252 +
.../hugo-ariada/test-report/result.html | 12 +
.../hugo-ariada/tests/wrapper.test.mjs | 82 +
integrations/jekyll-ariada/.gitignore | 4 +
integrations/jekyll-ariada/Gemfile | 5 +
integrations/jekyll-ariada/Gemfile.lock | 84 +
integrations/jekyll-ariada/README.md | 79 +
integrations/jekyll-ariada/Rakefile | 8 +
.../fixtures/jekyll-site/Gemfile | 4 +
.../fixtures/jekyll-site/_config.yml | 11 +
.../jekyll-site/_layouts/default.html | 12 +
.../fixtures/jekyll-site/index.md | 13 +
.../fixtures/static-site/index.html | 15 +
.../jekyll-ariada/jekyll-ariada.gemspec | 26 +
.../jekyll-ariada/lib/jekyll-ariada.rb | 1 +
.../jekyll-ariada/lib/jekyll/ariada.rb | 39 +
.../lib/jekyll/ariada/configuration.rb | 68 +
.../lib/jekyll/ariada/scanner.rb | 152 +
.../lib/jekyll/ariada/version.rb | 5 +
.../ariada-output/multi-domain-report.json | 294 +
.../jekyll-ariada/scan-evidence/command.exit | 1 +
.../jekyll-ariada/scan-evidence/command.log | 22 +
.../jekyll-ariada/scan-evidence/result.html | 742 +
.../scan-evidence/scan-result-preview.html | 363 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 662303 bytes
.../scripts/audit-channel-report.mjs | 144 +
.../scripts/build_evidence_reports.rb | 502 +
.../jekyll-ariada/scripts/run_fixture_scan.rb | 113 +
.../scripts/validate_screenshot.py | 28 +
.../test-report/logs/bundle-install.exit | 1 +
.../test-report/logs/bundle-install.log | 40 +
.../test-report/logs/dash-audit.exit | 1 +
.../test-report/logs/dash-audit.log | 75 +
.../test-report/logs/evidence-report.exit | 1 +
.../test-report/logs/evidence-report.log | 1 +
.../test-report/logs/fixture-scan.exit | 1 +
.../test-report/logs/fixture-scan.log | 0
.../test-report/logs/gem-build.exit | 1 +
.../test-report/logs/gem-build.log | 4 +
.../test-report/logs/jekyll-build.exit | 1 +
.../test-report/logs/jekyll-build.log | 13 +
.../test-report/logs/node-audit-syntax.exit | 1 +
.../test-report/logs/node-audit-syntax.log | 0
.../test-report/logs/pnpm-install.exit | 1 +
.../test-report/logs/pnpm-install.log | 7 +
.../logs/python-screenshot-syntax.exit | 1 +
.../logs/python-screenshot-syntax.log | 0
.../test-report/logs/ruby-syntax-config.exit | 1 +
.../test-report/logs/ruby-syntax-config.log | 1 +
.../test-report/logs/ruby-syntax-entry.exit | 1 +
.../test-report/logs/ruby-syntax-entry.log | 1 +
.../logs/ruby-syntax-evidence.exit | 1 +
.../test-report/logs/ruby-syntax-evidence.log | 1 +
.../test-report/logs/ruby-syntax-hook.exit | 1 +
.../test-report/logs/ruby-syntax-hook.log | 1 +
.../logs/ruby-syntax-run-fixture.exit | 1 +
.../logs/ruby-syntax-run-fixture.log | 1 +
.../test-report/logs/ruby-syntax-scanner.exit | 1 +
.../test-report/logs/ruby-syntax-scanner.log | 1 +
.../test-report/logs/screenshot-validate.exit | 1 +
.../test-report/logs/screenshot-validate.log | 1 +
.../test-report/logs/unit-tests.exit | 1 +
.../test-report/logs/unit-tests.log | 9 +
.../jekyll-ariada/test-report/result.html | 201 +
.../jekyll-ariada/test/plugin_test.rb | 60 +
.../jekyll-ariada/test/scanner_test.rb | 71 +
.../jekyll-ariada/test/test_helper.rb | 23 +
integrations/jenkins-ariada/README.md | 62 +
.../jenkins-ariada/fixtures/Jenkinsfile | 23 +
.../jenkins-ariada/fixtures/bin/ariada | 203 +
.../jenkins-ariada/fixtures/site/index.html | 14 +
integrations/jenkins-ariada/package.json | 13 +
.../org/ariada/jenkins/ariada-jenkins-gate.sh | 22 +
.../jenkins-ariada/scan-evidence/junit.xml | 4 +
.../jenkins-ariada/scan-evidence/result.html | 123 +
.../jenkins-ariada/scan-evidence/scan.json | 28 +
.../scan-evidence/screenshots/screenshot.png | Bin 0 -> 217662 bytes
.../scan-evidence/transcript.txt | 1 +
.../jenkins-ariada/scripts/run-fixture.mjs | 174 +
.../scripts/validate-report-links.mjs | 78 +
.../test-report/command-output.txt | 11 +
.../jenkins-ariada/test-report/result.html | 84 +
.../jenkins-ariada/test-report/screenshot.png | Bin 0 -> 217662 bytes
.../jenkins-ariada/vars/ariadaGate.groovy | 56 +
.../jenkins-ariada/vars/ariadaGate.txt | 20 +
integrations/joomla-ariada/README.md | 45 +
integrations/joomla-ariada/admin/access.xml | 8 +
integrations/joomla-ariada/admin/config.xml | 66 +
.../admin/language/en-GB/com_ariada.ini | 32 +
.../admin/language/en-GB/com_ariada.sys.ini | 3 +
.../joomla-ariada/admin/services/provider.php | 35 +
.../src/Controller/DisplayController.php | 17 +
.../admin/src/Controller/ScanController.php | 35 +
.../admin/src/Model/ScanModel.php | 38 +
.../admin/src/Service/ScanRunner.php | 166 +
.../admin/src/View/Scan/HtmlView.php | 26 +
.../joomla-ariada/admin/tmpl/scan/default.php | 59 +
integrations/joomla-ariada/com_ariada.xml | 30 +
integrations/joomla-ariada/media/admin.css | 28 +
integrations/jsr-ariada/LICENSE | 1 +
integrations/jsr-ariada/README.md | 21 +
integrations/jsr-ariada/jsr.json | 10 +
integrations/jsr-ariada/package.json | 27 +
.../jsr-ariada/scripts/validate-jsr.mjs | 15 +
integrations/jsr-ariada/src/mod.ts | 19 +
integrations/jsr-ariada/test/mod.test.mjs | 11 +
integrations/jsr-ariada/tsconfig.json | 9 +
integrations/jupyterlab-ariada/README.md | 27 +
.../examples/fixture-notebook.ipynb | 33 +
.../jupyterlab_ariada/__init__.py | 14 +
.../jupyterlab_ariada/__main__.py | 5 +
.../jupyterlab_ariada/bridge.py | 202 +
.../jupyterlab_ariada/cli.py | 41 +
.../jupyterlab_ariada/handlers.py | 42 +
integrations/jupyterlab-ariada/package.json | 14 +
integrations/jupyterlab-ariada/pyproject.toml | 34 +
.../ariada-output/multi-domain-report.json | 376 +
.../scan-evidence/command.exit | 1 +
.../scan-evidence/result.html | 36 +
.../scan-evidence/scan-result-preview.html | 408 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 118027 bytes
.../scripts/build_evidence_reports.py | 165 +
.../scripts/capture_scan_screenshot.mjs | 14 +
integrations/jupyterlab-ariada/src/index.ts | 65 +
.../test-report/logs/build.exit | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/pytest.exit | 1 +
.../test-report/logs/ruff.exit | 1 +
.../test-report/logs/tsc.exit | 1 +
.../jupyterlab-ariada/test-report/result.html | 250 +
.../jupyterlab-ariada/tests/test_bridge.py | 67 +
integrations/jupyterlab-ariada/tsconfig.json | 12 +
integrations/lunacy-ariada/.gitignore | 2 +
integrations/lunacy-ariada/README.md | 69 +
integrations/lunacy-ariada/package.json | 33 +
integrations/lunacy-ariada/plugin.jsonc | 20 +
.../lunacy-ariada/scan-evidence/result.html | 60 +
.../scripts/validate-manifest.mjs | 37 +
integrations/lunacy-ariada/src/cli.ts | 30 +
integrations/lunacy-ariada/src/index.ts | 157 +
.../tests/fixture-selection.json | 24 +
.../lunacy-ariada/tests/index.test.mjs | 68 +
integrations/lunacy-ariada/tsconfig.json | 15 +
.../Block/Adminhtml/Scan/Panel.php | 21 +
.../Controller/Adminhtml/Scan/Index.php | 25 +
.../magento-ariada/Controller/Scan/Result.php | 24 +
.../magento-ariada/Model/ScanRunner.php | 39 +
integrations/magento-ariada/README.md | 102 +
integrations/magento-ariada/composer.json | 17 +
integrations/magento-ariada/etc/acl.xml | 10 +
.../magento-ariada/etc/adminhtml/menu.xml | 6 +
.../magento-ariada/etc/adminhtml/routes.xml | 8 +
.../magento-ariada/etc/frontend/routes.xml | 8 +
integrations/magento-ariada/etc/module.xml | 4 +
integrations/magento-ariada/registration.php | 6 +
.../magento-ariada/scan-evidence/result.html | 36 +
.../scan-evidence/screenshot.png | Bin 0 -> 147927 bytes
.../magento-ariada/test-report/result.html | 19 +
.../magento-ariada/tests/fixture-flow.mjs | 93 +
.../tests/validate-evidence.mjs | 42 +
.../adminhtml/layout/ariada_scan_index.xml | 8 +
.../view/adminhtml/templates/scan/panel.phtml | 13 +
.../ariada_accessibility_scan_result.xml | 8 +
.../view/frontend/templates/scan/result.phtml | 8 +
integrations/maven-ariada/.gitignore | 1 +
integrations/maven-ariada/README.md | 76 +
.../fixtures/java-webapp/index.html | 18 +
integrations/maven-ariada/pom.xml | 116 +
.../scan-evidence/maven-evidence.png | Bin 0 -> 639294 bytes
.../real-scan/multi-domain-report.json | 317 +
.../maven-ariada/scan-evidence/result.html | 543 +
.../scripts/build-evidence-report.mjs | 644 +
.../src/it/failing-webapp/invoker.properties | 2 +
.../src/it/failing-webapp/pom.xml | 36 +
.../failing-webapp/src/main/webapp/index.html | 17 +
.../it/failing-webapp/stub-cli/ariada-stub.sh | 57 +
.../org/ariada/maven/AriadaScanResult.java | 60 +
.../ariada/maven/AriadaScanResultParser.java | 64 +
.../org/ariada/maven/CliInvocationResult.java | 6 +
.../java/org/ariada/maven/CliInvoker.java | 76 +
.../main/java/org/ariada/maven/ScanMojo.java | 134 +
.../main/java/org/ariada/maven/Severity.java | 38 +
.../org/ariada/maven/StaticSiteServer.java | 80 +
.../maven/AriadaScanResultParserTest.java | 37 +
.../java/org/ariada/maven/SeverityTest.java | 37 +
.../ariada/maven/StaticSiteServerTest.java | 33 +
.../test/resources/multi-domain-report.json | 34 +
.../test/resources/scan-with-violations.json | 36 +
integrations/mdbook-ariada/README.md | 58 +
integrations/mdbook-ariada/examples/book.toml | 8 +
.../mdbook-ariada/fixtures/ariada-scan.json | 31 +
integrations/mdbook-ariada/package.json | 19 +
.../mdbook-ariada/scan-evidence/result.html | 29 +
.../scripts/integration-mdbook.mjs | 48 +
integrations/mdbook-ariada/src/index.mjs | 152 +
.../tests/mdbook-ariada.test.mjs | 97 +
integrations/mkdocs-ariada/README.md | 26 +
.../mkdocs-ariada/examples/docs/docs/index.md | 12 +
.../mkdocs-ariada/examples/docs/mkdocs.yml | 7 +
.../mkdocs-ariada/mkdocs_ariada/__init__.py | 6 +
.../mkdocs-ariada/mkdocs_ariada/plugin.py | 56 +
.../mkdocs-ariada/mkdocs_ariada/scanner.py | 148 +
integrations/mkdocs-ariada/pyproject.toml | 30 +
.../ariada-output/multi-domain-report.json | 480 +
.../mkdocs-ariada/scan-evidence/command.exit | 1 +
.../mkdocs-ariada/scan-evidence/result.html | 38 +
.../scan-evidence/scan-result-preview.html | 410 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 130879 bytes
.../scripts/build_evidence_reports.py | 166 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../mkdocs-ariada/test-report/logs/build.exit | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/mkdocs.exit | 1 +
.../test-report/logs/pytest.exit | 1 +
.../mkdocs-ariada/test-report/logs/ruff.exit | 1 +
.../mkdocs-ariada/test-report/result.html | 184 +
.../mkdocs-ariada/tests/test_scanner.py | 117 +
integrations/nextra-ariada/README.md | 73 +
.../fixtures/minimal-nextra/app/layout.jsx | 7 +
.../fixtures/minimal-nextra/app/page.mdx | 5 +
.../fixtures/minimal-nextra/mdx-components.js | 6 +
.../fixtures/minimal-nextra/next.config.mjs | 8 +
.../fixtures/minimal-nextra/package.json | 13 +
.../minimal-nextra/public/missing-alt.png | 1 +
integrations/nextra-ariada/package.json | 70 +
.../scan-evidence/ariada-output/command.exit | 1 +
.../scan-evidence/ariada-output/command.log | 17 +
.../ariada-output/multi-domain-report.json | 105 +
.../nextra-ariada/scan-evidence/result.html | 240 +
.../scan-evidence/scan-result-preview.html | 19 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 54531 bytes
.../screenshots/visual-review.txt | 1 +
.../nextra-ariada/scripts/build-evidence.mjs | 385 +
integrations/nextra-ariada/src/cli.ts | 230 +
integrations/nextra-ariada/src/index.ts | 70 +
integrations/nextra-ariada/tests/e2e.test.ts | 36 +
.../nextra-ariada/tests/index.test.ts | 92 +
integrations/nextra-ariada/tsconfig.json | 12 +
integrations/nextra-ariada/vitest.config.ts | 1 +
integrations/nvim-ariada/README.md | 66 +
.../nvim-ariada/fixtures/bad-button.html | 11 +
.../nvim-ariada/fixtures/sample-scan.json | 33 +
integrations/nvim-ariada/lua/ariada/init.lua | 208 +
integrations/nvim-ariada/plugin/ariada.lua | 16 +
integrations/parcel-ariada/README.md | 14 +
integrations/parcel-ariada/package.json | 37 +
integrations/parcel-ariada/src/Reporter.ts | 38 +
.../parcel-ariada/tests/reporter.test.ts | 22 +
integrations/parcel-ariada/tsconfig.json | 12 +
integrations/parcel-ariada/vitest.config.ts | 1 +
integrations/payload-ariada/README.md | 15 +
integrations/payload-ariada/package.json | 18 +
integrations/payload-ariada/src/index.ts | 37 +
.../payload-ariada/tests/index.test.mjs | 17 +
integrations/payload-ariada/tsconfig.json | 12 +
integrations/pelican-ariada/README.md | 79 +
.../fixtures/pelican-site/content/article.md | 12 +
.../fixtures/pelican-site/pelicanconf.py | 12 +
.../fixtures/static-site/index.html | 14 +
.../pelican/plugins/ariada/__init__.py | 96 +
.../pelican/plugins/ariada/scanner.py | 159 +
integrations/pelican-ariada/pyproject.toml | 51 +
.../ariada-output/multi-domain-report.json | 449 +
.../pelican-ariada/scan-evidence/command.exit | 1 +
.../pelican-ariada/scan-evidence/command.log | 12 +
.../pelican-ariada/scan-evidence/result.html | 71 +
.../scan-evidence/scan-result-preview.html | 501 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 133914 bytes
.../scripts/build_evidence_reports.py | 535 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../scripts/run_fixture_scan.py | 131 +
.../scripts/validate_screenshot.py | 29 +
.../test-report/logs/build.exit | 1 +
.../pelican-ariada/test-report/logs/build.log | 91 +
.../test-report/logs/cli-build.exit | 1 +
.../test-report/logs/cli-build.log | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/compileall.log | 0
.../test-report/logs/content-policy.exit | 1 +
.../test-report/logs/dash-audit.exit | 1 +
.../test-report/logs/dash-audit.log | 75 +
.../test-report/logs/evidence-report.exit | 1 +
.../test-report/logs/evidence-report.log | 0
.../test-report/logs/fixture-scan.exit | 1 +
.../test-report/logs/fixture-scan.log | 0
.../test-report/logs/pelican-build.exit | 1 +
.../test-report/logs/pelican-build.log | 4 +
.../test-report/logs/pytest.exit | 1 +
.../test-report/logs/pytest.log | 2 +
.../pelican-ariada/test-report/logs/ruff.exit | 1 +
.../pelican-ariada/test-report/logs/ruff.log | 1 +
.../test-report/logs/screenshot-validate.exit | 1 +
.../test-report/logs/screenshot-validate.log | 1 +
.../test-report/logs/screenshot.exit | 1 +
.../test-report/logs/screenshot.log | 1 +
.../pelican-ariada/test-report/result.html | 207 +
.../pelican-ariada/tests/test_plugin.py | 62 +
.../pelican-ariada/tests/test_scanner.py | 68 +
integrations/penpot-ariada/README.md | 63 +
integrations/penpot-ariada/assets/icon.svg | 5 +
.../fixtures/penpot-selection.json | 48 +
integrations/penpot-ariada/manifest.json | 8 +
integrations/penpot-ariada/package.json | 36 +
.../ariada-output/multi-domain-report.json | 105 +
.../penpot-ariada/scan-evidence/command.exit | 1 +
.../penpot-ariada/scan-evidence/command.log | 16 +
.../scan-evidence/design-checks.json | 29 +
.../scan-evidence/penpot-export.html | 34 +
.../scan-evidence/plugin-panel-fixture.html | 36 +
.../penpot-ariada/scan-evidence/result.html | 271 +
.../screenshots/plugin-panel.png | Bin 0 -> 107151 bytes
.../screenshots/report-opened.png | Bin 0 -> 212999 bytes
.../scripts/build-evidence-report.mjs | 465 +
.../scripts/capture-panel-screenshot.mjs | 71 +
.../scripts/copy-plugin-assets.mjs | 10 +
.../scripts/run-fixture-scan.mjs | 56 +
.../scripts/validate-manifest.mjs | 32 +
integrations/penpot-ariada/src/plugin.ts | 75 +
integrations/penpot-ariada/src/scanner.ts | 132 +
.../penpot-ariada/src/shape-adapter.ts | 220 +
integrations/penpot-ariada/src/ui.html | 47 +
.../penpot-ariada/tests/shape-adapter.test.ts | 62 +
integrations/penpot-ariada/tsconfig.json | 13 +
integrations/penpot-ariada/vitest.config.ts | 1 +
integrations/php-laravel-ariada/README.md | 79 +
integrations/php-laravel-ariada/composer.json | 56 +
.../php-laravel-ariada/config/ariada.php | 60 +
.../fixtures/laravel-dashboard.html | 16 +
.../php-laravel-ariada/phpunit.xml.dist | 12 +
.../scan-evidence/_capture.html | 40 +
.../scan-evidence/result.html | 147 +
.../scan-evidence/s98-laravel-scan.png | Bin 0 -> 93287 bytes
.../scripts/generate-evidence.mjs | 386 +
.../scripts/validate-structure.mjs | 48 +
.../src/AriadaCliRunner.php | 75 +
.../php-laravel-ariada/src/AriadaScanner.php | 93 +
.../src/Contracts/CliRunner.php | 18 +
.../src/Laravel/AriadaServiceProvider.php | 43 +
.../src/Laravel/ScanCommand.php | 52 +
.../php-laravel-ariada/src/ScanResult.php | 72 +
.../test-report/result.html | 17 +
.../tests/Feature/ScanCommandTest.php | 51 +
.../tests/Unit/AriadaScannerTest.php | 55 +
.../tests/Unit/ScanResultTest.php | 51 +
.../.pre-commit-hooks.yaml | 9 +
integrations/precommit-ci-ariada/README.md | 18 +
.../examples/.pre-commit-config.yaml | 8 +
.../precommit-ci-ariada/fixtures/bad.html | 4 +
.../scripts/ariada-precommit.sh | 31 +
.../scripts/validate-hooks.mjs | 12 +
integrations/pytest-ariada/README.md | 40 +
.../pytest-ariada/examples/site/index.html | 14 +
.../examples/test_accessibility.py | 6 +
integrations/pytest-ariada/pyproject.toml | 31 +
.../pytest-ariada/pytest_ariada/__init__.py | 5 +
.../pytest-ariada/pytest_ariada/plugin.py | 43 +
.../pytest-ariada/pytest_ariada/scanner.py | 146 +
.../ariada-output/multi-domain-report.json | 336 +
.../pytest-ariada/scan-evidence/command.exit | 1 +
.../pytest-ariada/scan-evidence/command.log | 2 +
.../pytest-ariada/scan-evidence/result.html | 36 +
.../scan-evidence/scan-result-preview.html | 368 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 102689 bytes
.../scripts/build_evidence_reports.py | 167 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../test-report/logs/ariada-cli-build.exit | 1 +
.../test-report/logs/ariada-cli-build.log | 3 +
.../pytest-ariada/test-report/logs/build.exit | 1 +
.../pytest-ariada/test-report/logs/build.log | 100 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/compileall.log | 0
.../test-report/logs/evidence-report.log | 0
.../test-report/logs/install.exit | 1 +
.../test-report/logs/install.log | 57 +
.../test-report/logs/pip-upgrade.log | 9 +
.../test-report/logs/pytest.exit | 1 +
.../pytest-ariada/test-report/logs/pytest.log | 2 +
.../pytest-ariada/test-report/logs/ruff.exit | 1 +
.../pytest-ariada/test-report/logs/ruff.log | 1 +
.../pytest-ariada/test-report/logs/scan.exit | 1 +
.../pytest-ariada/test-report/logs/scan.log | 2 +
.../test-report/logs/screenshot.log | 0
.../pytest-ariada/test-report/result.html | 195 +
.../pytest-ariada/tests/test_scanner.py | 83 +
integrations/rapidapi-ariada/README.md | 74 +
integrations/rapidapi-ariada/examples/curl.md | 23 +
.../examples/scan-html-request.json | 5 +
.../examples/scan-response.json | 28 +
.../examples/scan-url-request.json | 5 +
integrations/rapidapi-ariada/mock/server.mjs | 98 +
integrations/rapidapi-ariada/openapi.json | 404 +
integrations/rapidapi-ariada/package.json | 12 +
.../rapidapi-ariada/rapidapi-listing.json | 73 +
.../rapidapi-ariada/scan-evidence/result.html | 127 +
.../screenshots/rapidapi-report.png | Bin 0 -> 251842 bytes
.../scripts/validate-and-report.mjs | 417 +
.../rapidapi-ariada/test-report/result.html | 119 +
integrations/raycast-ariada/.gitignore | 2 +
integrations/raycast-ariada/README.md | 29 +
.../raycast-ariada/fixtures/scan-result.json | 13 +
integrations/raycast-ariada/package.json | 31 +
integrations/raycast-ariada/src/ariada.ts | 55 +
.../raycast-ariada/test/raycast.test.mjs | 16 +
integrations/raycast-ariada/tsconfig.json | 13 +
integrations/readthedocs-ariada/README.md | 18 +
.../examples/.readthedocs.yaml | 15 +
.../fixtures/_readthedocs/html/index.html | 5 +
.../readthedocs-ariada/scripts/post-build.sh | 32 +
.../scripts/validate-readthedocs.mjs | 12 +
integrations/ruby-rails-ariada/.gitignore | 4 +
integrations/ruby-rails-ariada/Gemfile | 3 +
integrations/ruby-rails-ariada/Gemfile.lock | 35 +
integrations/ruby-rails-ariada/README.md | 82 +
integrations/ruby-rails-ariada/Rakefile | 8 +
.../ruby-rails-ariada/ariada-rails.gemspec | 28 +
.../examples/minimal_rails_surface/index.html | 17 +
.../ruby-rails-ariada/lib/ariada/rails.rb | 36 +
.../lib/ariada/rails/configuration.rb | 25 +
.../lib/ariada/rails/railtie.rb | 11 +
.../lib/ariada/rails/scanner.rb | 125 +
.../lib/ariada/rails/version.rb | 5 +
.../ruby-rails-ariada/lib/tasks/ariada.rake | 20 +
.../ariada-output/multi-domain-report.json | 159 +
.../scan-evidence/command.exit | 1 +
.../scan-evidence/command.log | 2 +
.../scan-evidence/result.html | 35 +
.../scan-evidence/scan-result-preview.html | 195 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 123668 bytes
.../scripts/build_evidence_reports.rb | 154 +
.../scripts/capture_scan_screenshot.mjs | 23 +
.../scripts/run_fixture_scan.rb | 37 +
.../ruby-rails-ariada/spec/rake_task_spec.rb | 95 +
.../ruby-rails-ariada/spec/scanner_spec.rb | 79 +
.../ruby-rails-ariada/spec/spec_helper.rb | 10 +
.../test-report/logs/cli-deps-build.exit | 1 +
.../test-report/logs/cli-deps-build.log | 23 +
.../test-report/logs/fixture-scan.exit | 1 +
.../test-report/logs/fixture-scan.log | 2 +
.../test-report/logs/gem-build.exit | 1 +
.../test-report/logs/gem-build.log | 4 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/install.log | 11 +
.../test-report/logs/pnpm-install.exit | 1 +
.../test-report/logs/pnpm-install.log | 70 +
.../test-report/logs/rake-syntax.exit | 1 +
.../test-report/logs/rake-syntax.log | 1 +
.../test-report/logs/rspec.exit | 1 +
.../test-report/logs/rspec.log | 6 +
.../test-report/logs/ruby-syntax.exit | 1 +
.../test-report/logs/ruby-syntax.log | 1 +
.../logs/rules-axe-deps-build.exit | 1 +
.../test-report/logs/rules-axe-deps-build.log | 11 +
.../ruby-rails-ariada/test-report/result.html | 165 +
integrations/rust-ariada/Cargo.lock | 339 +
integrations/rust-ariada/Cargo.toml | 24 +
integrations/rust-ariada/README.md | 73 +
.../fixtures/static-site/index.html | 22 +
.../ariada-output/multi-domain-report.json | 174 +
.../rust-ariada/scan-evidence/command.exit | 1 +
.../rust-ariada/scan-evidence/command.log | 17 +
.../rust-ariada/scan-evidence/result.html | 637 +
.../scan-evidence/scan-result-preview.html | 40 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 146669 bytes
.../screenshots/tested-host-surface.png | Bin 0 -> 23356 bytes
.../rust-ariada/scripts/build-reports.mjs | 492 +
integrations/rust-ariada/src/lib.rs | 538 +
integrations/rust-ariada/src/main.rs | 156 +
.../rust-ariada/test-report/result.html | 34 +
integrations/rust-ariada/tests/cli.rs | 78 +
integrations/safari-ariada/.gitignore | 3 +
integrations/safari-ariada/Makefile | 33 +
integrations/safari-ariada/README.md | 52 +
.../safari-ariada/config/safari-wrapper.json | 9 +
integrations/safari-ariada/scripts/convert.sh | 41 +
.../safari-ariada/scripts/validate-config.mjs | 67 +
integrations/sanity-ariada/README.md | 21 +
integrations/sanity-ariada/package.json | 18 +
integrations/sanity-ariada/src/index.ts | 35 +
.../sanity-ariada/tests/index.test.mjs | 17 +
integrations/sanity-ariada/tsconfig.json | 12 +
integrations/sketch-ariada/README.md | 65 +
.../Contents/Sketch/audit.js | 225 +
.../Contents/Sketch/main.js | 103 +
.../Contents/Sketch/manifest.json | 19 +
integrations/sketch-ariada/package.json | 16 +
.../scripts/validate-manifest.js | 44 +
.../sketch-ariada/tests/audit.test.js | 108 +
integrations/slack-ariada/.gitignore | 2 +
integrations/slack-ariada/README.md | 120 +
.../fixtures/ci-gate-failure.json | 32 +
.../slack-ariada/fixtures/scan-result.json | 26 +
integrations/slack-ariada/manifest.json | 36 +
integrations/slack-ariada/package.json | 20 +
.../slack-ariada/scan-evidence/result.html | 182 +
.../scripts/capture-screenshot.mjs | 29 +
.../slack-ariada/scripts/run-local-flow.mjs | 175 +
integrations/slack-ariada/src/bolt-app.ts | 21 +
.../slack-ariada/src/fixture-server.ts | 64 +
integrations/slack-ariada/src/index.ts | 9 +
integrations/slack-ariada/src/messages.ts | 103 +
integrations/slack-ariada/src/types.ts | 39 +
.../slack-ariada/test-report/result.html | 182 +
.../test-report/slack-ariada-screenshot.png | Bin 0 -> 183812 bytes
integrations/slack-ariada/test/slack.test.mjs | 54 +
integrations/slack-ariada/tsconfig.json | 15 +
integrations/sphinx-ariada/README.md | 25 +
.../sphinx-ariada/ariada_sphinx/__init__.py | 60 +
.../sphinx-ariada/ariada_sphinx/scanner.py | 148 +
.../sphinx-ariada/examples/docs/conf.py | 8 +
.../sphinx-ariada/examples/docs/index.rst | 15 +
integrations/sphinx-ariada/pyproject.toml | 30 +
.../ariada-output/multi-domain-report.json | 507 +
.../sphinx-ariada/scan-evidence/command.exit | 1 +
.../sphinx-ariada/scan-evidence/result.html | 63 +
.../scan-evidence/scan-result-preview.html | 431 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 187947 bytes
.../scripts/build_evidence_reports.py | 166 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../sphinx-ariada/test-report/logs/build.exit | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/pytest.exit | 1 +
.../sphinx-ariada/test-report/logs/ruff.exit | 1 +
.../test-report/logs/sphinx.exit | 1 +
.../sphinx-ariada/test-report/result.html | 215 +
.../sphinx-ariada/tests/test_scanner.py | 112 +
integrations/squarespace-ariada/README.md | 108 +
.../extension.manifest.json | 32 +
.../fixtures/extension-surface.html | 198 +
.../fixtures/hosted-scan-request.json | 13 +
.../fixtures/hosted-scan-response.json | 52 +
.../ariada-output/hosted-scan-request.json | 13 +
.../ariada-output/hosted-scan-response.json | 52 +
.../scan-evidence/extension-surface.html | 198 +
.../scan-evidence/result.html | 147 +
.../screenshots/extension-surface.png | Bin 0 -> 131378 bytes
.../scripts/run-local-fixture.mjs | 286 +
.../test-report/logs/local-fixture.exit | 1 +
.../test-report/logs/local-fixture.txt | 9 +
.../test-report/result.html | 83 +
integrations/statamic-ariada/README.md | 22 +
integrations/statamic-ariada/composer.json | 20 +
integrations/statamic-ariada/package.json | 16 +
.../scripts/validate-structure.mjs | 14 +
.../statamic-ariada/src/ServiceProvider.php | 33 +
integrations/strapi-ariada/README.md | 16 +
integrations/strapi-ariada/package.json | 18 +
integrations/strapi-ariada/src/index.ts | 37 +
.../strapi-ariada/tests/index.test.mjs | 17 +
integrations/strapi-ariada/tsconfig.json | 12 +
integrations/streamlit-ariada/README.md | 24 +
.../streamlit-ariada/examples/site/index.html | 16 +
integrations/streamlit-ariada/pyproject.toml | 31 +
.../ariada-output/multi-domain-report.json | 336 +
.../scan-evidence/command.exit | 1 +
.../scan-evidence/result.html | 36 +
.../scan-evidence/scan-result-preview.html | 368 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 111901 bytes
.../scripts/build_evidence_reports.py | 166 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../streamlit_ariada/__init__.py | 6 +
.../streamlit_ariada/__main__.py | 5 +
.../streamlit-ariada/streamlit_ariada/cli.py | 45 +
.../streamlit_ariada/component.py | 15 +
.../streamlit_ariada/scanner.py | 128 +
.../test-report/logs/build.exit | 1 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/pytest.exit | 1 +
.../test-report/logs/ruff.exit | 1 +
.../test-report/logs/scan.exit | 1 +
.../streamlit-ariada/test-report/result.html | 175 +
.../streamlit-ariada/tests/test_scanner.py | 64 +
.../sublime-ariada/Ariada.sublime-settings | 7 +
.../sublime-ariada/Default.sublime-commands | 14 +
integrations/sublime-ariada/Main.sublime-menu | 16 +
integrations/sublime-ariada/README.md | 46 +
integrations/sublime-ariada/ariada_sublime.py | 189 +
.../sublime-ariada/fixtures/bad-button.html | 11 +
integrations/symfony-ariada/.gitignore | 3 +
integrations/symfony-ariada/README.md | 66 +
integrations/symfony-ariada/composer.json | 43 +
.../fixtures/symfony-surface.html | 20 +
integrations/symfony-ariada/phpunit.xml.dist | 17 +
.../ariada-output/multi-domain-report.json | 348 +
.../symfony-ariada/scan-evidence/command.exit | 1 +
.../symfony-ariada/scan-evidence/command.log | 1 +
.../symfony-ariada/scan-evidence/result.html | 55 +
.../scan-evidence/scan-result-preview.html | 382 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 111967 bytes
.../scripts/build_evidence_reports.py | 184 +
.../scripts/capture_scan_screenshot.mjs | 23 +
.../src/AriadaSymfonyBundle.php | 11 +
.../src/Command/AriadaScanCommand.php | 118 +
.../AriadaSymfonyExtension.php | 55 +
.../src/DependencyInjection/Configuration.php | 33 +
.../src/Scanner/AriadaCliRunner.php | 133 +
.../src/Scanner/AriadaScanner.php | 10 +
.../src/Scanner/ProcessResult.php | 15 +
.../src/Scanner/ScanOptions.php | 22 +
.../symfony-ariada/src/Scanner/ScanResult.php | 28 +
.../test-report/logs/composer-install.exit | 1 +
.../test-report/logs/composer-validate.exit | 1 +
.../test-report/logs/evidence.exit | 1 +
.../test-report/logs/phpunit.exit | 1 +
.../test-report/logs/syntax.exit | 1 +
.../symfony-ariada/test-report/result.html | 44 +
.../tests/Command/AriadaBundleKernelTest.php | 26 +
.../tests/Command/AriadaScanCommandTest.php | 67 +
.../symfony-ariada/tests/Fixtures/Kernel.php | 36 +
.../tests/Scanner/AriadaCliRunnerTest.php | 63 +
integrations/teams-ariada/.gitignore | 2 +
integrations/teams-ariada/README.md | 28 +
.../teams-ariada/fixtures/scan-result.json | 21 +
integrations/teams-ariada/manifest.json | 42 +
integrations/teams-ariada/package.json | 14 +
integrations/teams-ariada/src/card.ts | 36 +
integrations/teams-ariada/src/handler.ts | 32 +
integrations/teams-ariada/src/types.ts | 27 +
integrations/teams-ariada/test/card.test.mjs | 28 +
integrations/teams-ariada/tsconfig.json | 13 +
integrations/tox-nox-ariada/README.md | 46 +
.../tox-nox-ariada/examples/site/index.html | 14 +
integrations/tox-nox-ariada/pyproject.toml | 30 +
.../ariada-output/multi-domain-report.json | 336 +
.../tox-nox-ariada/scan-evidence/command.exit | 1 +
.../tox-nox-ariada/scan-evidence/command.log | 5 +
.../tox-nox-ariada/scan-evidence/result.html | 39 +
.../scan-evidence/scan-result-preview.html | 371 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 142574 bytes
.../scripts/build_evidence_reports.py | 167 +
.../scripts/capture_scan_screenshot.mjs | 14 +
.../test-report/logs/ariada-cli-build.exit | 1 +
.../test-report/logs/ariada-cli-build.log | 3 +
.../test-report/logs/build.exit | 1 +
.../tox-nox-ariada/test-report/logs/build.log | 106 +
.../test-report/logs/compileall.exit | 1 +
.../test-report/logs/compileall.log | 1 +
.../test-report/logs/evidence-report.log | 1 +
.../test-report/logs/install.exit | 1 +
.../test-report/logs/install.log | 57 +
.../test-report/logs/pip-upgrade.log | 9 +
.../test-report/logs/pytest.exit | 1 +
.../test-report/logs/pytest.log | 2 +
.../tox-nox-ariada/test-report/logs/ruff.exit | 1 +
.../tox-nox-ariada/test-report/logs/ruff.log | 1 +
.../tox-nox-ariada/test-report/logs/scan.exit | 1 +
.../tox-nox-ariada/test-report/logs/scan.log | 5 +
.../test-report/logs/screenshot.log | 1 +
.../tox-nox-ariada/test-report/result.html | 204 +
.../tox-nox-ariada/tests/test_scanner.py | 94 +
.../tox-nox-ariada/tox_nox_ariada/__init__.py | 12 +
.../tox-nox-ariada/tox_nox_ariada/__main__.py | 5 +
.../tox-nox-ariada/tox_nox_ariada/cli.py | 56 +
.../tox-nox-ariada/tox_nox_ariada/scanner.py | 167 +
.../tox-nox-ariada/tox_nox_ariada/snippets.py | 26 +
integrations/turbopack-ariada/README.md | 15 +
integrations/turbopack-ariada/package.json | 23 +
integrations/turbopack-ariada/src/index.ts | 42 +
.../tests/integration.test.ts | 29 +
integrations/turbopack-ariada/tsconfig.json | 12 +
.../turbopack-ariada/vitest.config.ts | 1 +
.../Classes/Command/ScanCommand.php | 42 +
.../Controller/BackendModuleController.php | 44 +
.../Classes/Service/ScanRunner.php | 98 +
.../Configuration/Backend/Modules.php | 23 +
.../typo3-ariada/Configuration/Services.yaml | 11 +
integrations/typo3-ariada/README.md | 62 +
.../Private/Language/locallang_mod.xlf | 13 +
.../Private/Templates/Backend/Index.html | 43 +
integrations/typo3-ariada/SMOKE.md | 37 +
integrations/typo3-ariada/composer.json | 34 +
integrations/typo3-ariada/ext_emconf.php | 20 +
.../typo3-ariada/scripts/smoke-typo3.sh | 56 +
.../umbraco-ariada/Ariada.Umbraco.csproj | 15 +
integrations/umbraco-ariada/README.md | 23 +
integrations/umbraco-ariada/package.json | 16 +
.../scripts/validate-structure.mjs | 15 +
.../umbraco-ariada/src/AriadaScanService.cs | 19 +
integrations/uxpin-ariada/README.md | 47 +
.../fixtures/panel/recipe-panel.html | 119 +
.../fixtures/uxpin-export/assets/product.svg | 7 +
.../uxpin-export/assets/uxpin-components.css | 135 +
.../uxpin-export/assets/uxpin-export.json | 12 +
.../uxpin-export/assets/uxpin-preview.js | 5 +
.../fixtures/uxpin-export/index.html | 46 +
integrations/uxpin-ariada/package.json | 39 +
.../ariada-output/multi-domain-report.json | 507 +
.../uxpin-ariada/scan-evidence/command.exit | 1 +
.../uxpin-ariada/scan-evidence/command.log | 39 +
.../uxpin-ariada/scan-evidence/result.html | 499 +
.../screenshots/extension-panel.png | Bin 0 -> 3943280 bytes
.../schema/uxpin-ariada.config.schema.json | 47 +
.../scripts/build-evidence-report.mjs | 644 +
integrations/uxpin-ariada/scripts/lint.mjs | 42 +
.../uxpin-ariada/scripts/validate-config.mjs | 31 +
integrations/uxpin-ariada/src/bin.ts | 132 +
integrations/uxpin-ariada/src/index.ts | 310 +
.../uxpin-ariada/tests/uxpin.test.mjs | 97 +
integrations/uxpin-ariada/tsconfig.json | 15 +
.../uxpin-ariada/uxpin-ariada.config.json | 10 +
integrations/vercel-ariada/README.md | 41 +
integrations/vercel-ariada/package.json | 16 +
.../vercel-ariada/scripts/validate-vercel.mjs | 18 +
integrations/vercel-ariada/src/handler.ts | 97 +
integrations/vercel-ariada/src/integration.ts | 81 +
integrations/vercel-ariada/src/signature.ts | 37 +
.../vercel-ariada/src/vercel-checks-client.ts | 84 +
.../vercel-ariada/tests/handler.test.mjs | 37 +
.../vercel-ariada/tests/integration.test.mjs | 129 +
.../vercel-ariada/tests/signature.test.mjs | 38 +
.../tests/vercel-checks-client.test.mjs | 88 +
integrations/vercel-ariada/tsconfig.json | 9 +
.../vercel-ariada/vercel-integration.json | 12 +
integrations/vitepress-ariada/README.md | 37 +
.../fixtures/site/.vitepress/config.mts | 6 +
.../vitepress-ariada/fixtures/site/index.md | 13 +
.../fixtures/site/public/missing-alt.svg | 5 +
integrations/vitepress-ariada/package.json | 54 +
.../ariada-output/multi-domain-report.json | 80 +
.../scan-evidence/command.txt | 2 +
.../scan-evidence/result.html | 578 +
.../scan-evidence/scan-result-preview.html | 1 +
.../screenshots/vitepress-surface.png | Bin 0 -> 71225 bytes
.../scripts/build-evidence.mjs | 422 +
integrations/vitepress-ariada/src/index.ts | 295 +
.../tests/vitepress-ariada.test.mjs | 230 +
integrations/vitepress-ariada/tsconfig.json | 18 +
integrations/vuepress-ariada/README.md | 60 +
.../vuepress-site/docs/.vuepress/config.mjs | 19 +
.../fixtures/vuepress-site/docs/README.md | 12 +
integrations/vuepress-ariada/package.json | 64 +
.../ariada-output/multi-domain-report.json | 229 +
.../scan-evidence/command.exit | 1 +
.../vuepress-ariada/scan-evidence/command.log | 20 +
.../vuepress-ariada/scan-evidence/result.html | 915 +
.../scan-evidence/scan-result-preview.html | 18 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 9790 bytes
.../scripts/build-evidence.mjs | 601 +
integrations/vuepress-ariada/src/index.ts | 307 +
.../vuepress-ariada/tests/plugin.test.ts | 70 +
integrations/vuepress-ariada/tsconfig.json | 10 +
integrations/vuepress-ariada/vitest.config.ts | 3 +
integrations/web-ide-ariada/.gitignore | 2 +
integrations/web-ide-ariada/README.md | 29 +
.../web-ide-ariada/fixtures/scan-result.json | 8 +
integrations/web-ide-ariada/package.json | 15 +
.../scripts/validate-templates.mjs | 21 +
integrations/web-ide-ariada/src/run.ts | 24 +
.../templates/package.template.json | 9 +
.../templates/sandbox.config.json | 6 +
.../templates/stackblitzrc.json | 7 +
.../web-ide-ariada/test/web-ide.test.mjs | 19 +
integrations/web-ide-ariada/tsconfig.json | 13 +
integrations/webflow-ariada/README.md | 78 +
.../webflow-ariada/fixture/index.html | 46 +
integrations/webflow-ariada/fixture/panel.js | 65 +
.../webflow-ariada/fixture/styles.css | 196 +
integrations/webflow-ariada/package.json | 20 +
.../ariada-output/webflow-panel-report.json | 40 +
.../webflow-ariada/scan-evidence/command.exit | 1 +
.../webflow-ariada/scan-evidence/command.log | 6 +
.../webflow-ariada/scan-evidence/result.html | 81 +
.../screenshots/webflow-panel.png | Bin 0 -> 96848 bytes
.../scripts/build-evidence-reports.mjs | 216 +
.../webflow-ariada/scripts/run-local-flow.mjs | 62 +
.../webflow-ariada/scripts/serve-fixture.mjs | 112 +
.../scripts/validate-screenshot.mjs | 82 +
integrations/webflow-ariada/src/index.mjs | 111 +
.../test-report/logs/build.exit | 1 +
.../webflow-ariada/test-report/logs/build.log | 3 +
.../test-report/logs/fixture-flow.exit | 1 +
.../test-report/logs/fixture-flow.log | 6 +
.../webflow-ariada/test-report/logs/lint.exit | 1 +
.../webflow-ariada/test-report/logs/lint.log | 3 +
.../test-report/logs/screenshot-validate.exit | 1 +
.../test-report/logs/screenshot-validate.log | 1 +
.../test-report/logs/screenshot.exit | 1 +
.../test-report/logs/screenshot.log | 58 +
.../webflow-ariada/test-report/logs/test.exit | 1 +
.../webflow-ariada/test-report/logs/test.log | 17 +
.../webflow-ariada/test-report/result.html | 100 +
.../webflow-ariada/tests/index.test.mjs | 84 +
integrations/whimsical-ariada/README.md | 55 +
.../fixtures/whimsical-recipe.json | 5 +
.../fixtures/wireframe-export.svg | 8 +
integrations/whimsical-ariada/package.json | 28 +
.../scan-evidence/result.html | 56 +
integrations/whimsical-ariada/src/cli.ts | 21 +
integrations/whimsical-ariada/src/index.ts | 197 +
.../whimsical-ariada/tests/index.test.ts | 79 +
integrations/whimsical-ariada/tsconfig.json | 12 +
integrations/windows-pkg-ariada/README.md | 35 +
integrations/windows-pkg-ariada/VALIDATION.md | 47 +
.../windows-pkg-ariada/scoop/ariada.json | 24 +
.../Ariada/0.1.0/Ariada.Ariada.installer.yaml | 14 +
.../0.1.0/Ariada.Ariada.locale.en-US.yaml | 25 +
.../a/Ariada/Ariada/0.1.0/Ariada.Ariada.yaml | 6 +
integrations/wix-ariada/README.md | 73 +
integrations/wix-ariada/fixture/index.html | 80 +
.../wix-ariada/fixture/mock-scan.json | 26 +
integrations/wix-ariada/fixture/styles.css | 125 +
integrations/wix-ariada/package.json | 19 +
.../wix-ariada/scan-evidence/browser-flow.txt | 8 +
.../scan-evidence/mock-scan-response.json | 26 +
.../wix-ariada/scan-evidence/result.html | 119 +
.../screenshots/wix-dashboard-panel.png | Bin 0 -> 66064 bytes
.../scripts/build-evidence-report.mjs | 150 +
.../wix-ariada/scripts/mock-server.mjs | 55 +
integrations/wix-ariada/scripts/run-e2e.mjs | 96 +
.../wix-ariada/scripts/validate-links.mjs | 32 +
integrations/wix-ariada/src/adapter.js | 79 +
.../wix-ariada/test-report/logs/e2e-exit.txt | 1 +
.../test-report/logs/e2e-output.txt | 3 +
.../test-report/logs/evidence-exit.txt | 1 +
.../test-report/logs/evidence-final-exit.txt | 1 +
.../logs/evidence-final-output.txt | 3 +
.../test-report/logs/evidence-output.txt | 3 +
.../wix-ariada/test-report/logs/lint-exit.txt | 1 +
.../test-report/logs/lint-output.txt | 3 +
.../logs/report-section-grep-exit.txt | 1 +
.../logs/report-section-grep-output.txt | 1 +
.../logs/screenshot-validation-exit.txt | 1 +
.../logs/screenshot-validation-output.txt | 1 +
.../wix-ariada/test-report/logs/test-exit.txt | 1 +
.../test-report/logs/test-output.txt | 15 +
.../test-report/logs/validate-links-exit.txt | 1 +
.../logs/validate-links-final-exit.txt | 1 +
.../logs/validate-links-final-output.txt | 5 +
.../logs/validate-links-output.txt | 5 +
.../wix-ariada/test-report/result.html | 22 +
integrations/wix-ariada/tests/adapter.test.js | 37 +
integrations/woocommerce-ariada/composer.json | 30 +
.../docker-compose.smoke.yml | 51 +
integrations/woocommerce-ariada/readme.txt | 62 +
.../woocommerce-ariada/tests/smoke.sh | 72 +
.../woocommerce-ariada/woocommerce-ariada.php | 212 +
integrations/wordpress-ariada/README.md | 102 +
.../wordpress-ariada/ariada-wordpress.php | 456 +
integrations/wordpress-ariada/composer.json | 23 +
integrations/wordpress-ariada/package.json | 19 +
integrations/wordpress-ariada/readme.txt | 85 +
.../scripts/validate-structure.mjs | 170 +
integrations/xd-ariada/README.md | 51 +
.../xd-ariada/fixtures/xd-selection.json | 37 +
integrations/xd-ariada/manifest.json | 22 +
integrations/xd-ariada/package.json | 18 +
integrations/xd-ariada/plugin/main.js | 78 +
.../ariada-output/multi-domain-report.json | 336 +
.../xd-ariada/scan-evidence/command.exit | 1 +
.../xd-ariada/scan-evidence/command.log | 37 +
.../xd-ariada/scan-evidence/export/index.html | 25 +
.../xd-ariada/scan-evidence/result.html | 183 +
.../screenshots/xd-plugin-panel.png | Bin 0 -> 102873 bytes
.../xd-plugin-panel-fixture.html | 42 +
.../xd-ariada/scripts/build-report.mjs | 469 +
.../xd-ariada/scripts/scan-export.mjs | 91 +
.../xd-ariada/scripts/validate-manifest.mjs | 39 +
integrations/xd-ariada/src/adapter.mjs | 201 +
integrations/xd-ariada/tests/adapter.test.mjs | 41 +
integrations/xd-ariada/tsconfig.json | 14 +
integrations/zed-ariada/.gitignore | 2 +
integrations/zed-ariada/Cargo.toml | 12 +
integrations/zed-ariada/LICENSES/EUPL-1.2.txt | 2 +
integrations/zed-ariada/README.md | 61 +
integrations/zed-ariada/REUSE.toml | 6 +
integrations/zed-ariada/extension.toml | 29 +
integrations/zed-ariada/src/lib.rs | 61 +
integrations/zeplin-ariada/README.md | 37 +
.../zeplin-ariada/dist/src/adapter.d.ts | 8 +
.../zeplin-ariada/dist/src/adapter.d.ts.map | 1 +
.../zeplin-ariada/dist/src/adapter.js | 51 +
integrations/zeplin-ariada/dist/src/cli.d.ts | 3 +
.../zeplin-ariada/dist/src/cli.d.ts.map | 1 +
integrations/zeplin-ariada/dist/src/cli.js | 61 +
.../zeplin-ariada/dist/src/index.d.ts | 30 +
.../zeplin-ariada/dist/src/index.d.ts.map | 1 +
integrations/zeplin-ariada/dist/src/index.js | 24 +
.../zeplin-ariada/dist/src/types.d.ts | 55 +
.../zeplin-ariada/dist/src/types.d.ts.map | 1 +
integrations/zeplin-ariada/dist/src/types.js | 1 +
.../dist/tests/adapter.test.d.ts | 2 +
.../dist/tests/adapter.test.d.ts.map | 1 +
.../zeplin-ariada/dist/tests/adapter.test.js | 32 +
integrations/zeplin-ariada/package.json | 34 +
.../ariada-output/multi-domain-report.json | 352 +
.../zeplin-ariada/scan-evidence/command.exit | 1 +
.../zeplin-ariada/scan-evidence/command.log | 26 +
.../zeplin-ariada/scan-evidence/result.html | 128 +
.../screenshots/zeplin-extension-panel.png | Bin 0 -> 101491 bytes
.../scan-evidence/zeplin-scan-target.html | 6 +
.../zeplin-ariada/scripts/build-evidence.mjs | 185 +
.../scripts/validate-manifest.mjs | 16 +
integrations/zeplin-ariada/src/adapter.ts | 60 +
integrations/zeplin-ariada/src/cli.ts | 65 +
integrations/zeplin-ariada/src/index.ts | 32 +
integrations/zeplin-ariada/src/types.ts | 55 +
.../zeplin-ariada/test-report/logs/scan.exit | 1 +
.../zeplin-ariada/test-report/logs/scan.log | 26 +
.../zeplin-ariada/test-report/result.html | 4 +
.../zeplin-ariada/tests/adapter.test.ts | 38 +
.../tests/fixtures/zeplin-export.json | 29 +
integrations/zeplin-ariada/tsconfig.json | 14 +
integrations/zola-ariada/README.md | 65 +
.../examples/rendered-public/index.html | 26 +
.../examples/rendered-public/product.svg | 6 +
.../zola-ariada/examples/site/config.toml | 7 +
.../examples/site/content/_index.md | 6 +
.../examples/site/templates/index.html | 16 +
integrations/zola-ariada/package.json | 30 +
.../ariada-output/multi-domain-report.json | 25 +
.../zola-ariada/scan-evidence/command.log | 4 +
.../zola-ariada/scan-evidence/result.html | 569 +
.../scan-evidence/scan-result-preview.html | 48 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 89244 bytes
.../zola-ariada/scripts/build-evidence.mjs | 523 +
.../scripts/capture-screenshot.mjs | 43 +
integrations/zola-ariada/src/index.mjs | 246 +
.../zola-ariada/tests/wrapper.test.mjs | 119 +
packages/ariada-angular-builder/README.md | 25 +
packages/ariada-angular-builder/builders.json | 9 +
.../ariada-angular-builder/collection.json | 8 +
packages/ariada-angular-builder/package.json | 54 +
packages/ariada-angular-builder/schema.json | 20 +
packages/ariada-angular-builder/src/index.ts | 86 +
.../tests/index.test.ts | 46 +
packages/ariada-angular-builder/tsconfig.json | 10 +
.../ariada-angular-builder/vitest.config.ts | 7 +
packages/ariada-babel-plugin/README.md | 12 +
packages/ariada-babel-plugin/package.json | 62 +
packages/ariada-babel-plugin/src/index.ts | 88 +
.../ariada-babel-plugin/tests/plugin.test.ts | 21 +
packages/ariada-babel-plugin/tsconfig.json | 12 +
packages/ariada-babel-plugin/vitest.config.ts | 1 +
packages/ariada-bitbucket-pipe/Dockerfile | 9 +
packages/ariada-bitbucket-pipe/README.md | 49 +
.../examples/bitbucket-pipelines.yml | 14 +
packages/ariada-bitbucket-pipe/package.json | 20 +
packages/ariada-bitbucket-pipe/pipe | 42 +
packages/ariada-bitbucket-pipe/pipe.yml | 33 +
packages/ariada-circleci-orb/README.md | 46 +
.../ariada-circleci-orb/examples/config.yml | 13 +
packages/ariada-circleci-orb/package.json | 18 +
packages/ariada-circleci-orb/src/orb.yml | 121 +
packages/ariada-cli/package.json | 2 +
packages/ariada-cli/src/parser.ts | 31 +-
.../ariada-cli/src/subcommands/evidence.ts | 165 +
.../src/subcommands/render-evidence-html.ts | 60 +
.../render-multi-domain-report-html.ts | 10 +
.../src/subcommands/scan-multi-domain.ts | 108 +-
.../test/demo-fixture-regeneration.test.ts | 129 +
packages/ariada-cli/test/evidence.test.ts | 127 +
packages/ariada-cli/test/parser.test.ts | 3 +-
.../ariada-cli/test/scan-multi-domain.test.ts | 150 +
packages/ariada-content-policy/LICENSE | 287 +
packages/ariada-content-policy/README.md | 56 +
.../ariada-content-policy/test/cli.test.ts | 2 +-
.../test/evaluate.test.ts | 2 +-
.../test/pack-regex-valid.test.ts | 43 +
.../test/publish-gate.test.ts | 55 +
packages/ariada-control-room/README.md | 25 +
packages/ariada-control-room/package.json | 41 +
.../ariada-control-room/src/detail.test.ts | 134 +
packages/ariada-control-room/src/detail.ts | 122 +
.../ariada-control-room/src/index.test.ts | 203 +
packages/ariada-control-room/src/index.ts | 303 +
packages/ariada-control-room/tsconfig.json | 20 +
packages/ariada-control-room/vitest.config.ts | 9 +
packages/ariada-diff-action/action.yml | 3 +
packages/ariada-docusaurus-plugin/README.md | 20 +
.../ariada-docusaurus-plugin/package.json | 49 +
.../ariada-docusaurus-plugin/src/index.ts | 62 +
.../tests/index.test.ts | 43 +
.../ariada-docusaurus-plugin/tsconfig.json | 10 +
.../ariada-docusaurus-plugin/vitest.config.ts | 3 +
packages/ariada-domain-fixture/LICENSE | 287 +
packages/ariada-domain-fixture/README.md | 28 +
packages/ariada-domain-fixture/package.json | 4 +
packages/ariada-eleventy-plugin/README.md | 22 +
packages/ariada-eleventy-plugin/package.json | 49 +
packages/ariada-eleventy-plugin/src/index.ts | 64 +
.../tests/index.test.ts | 38 +
packages/ariada-eleventy-plugin/tsconfig.json | 10 +
.../ariada-eleventy-plugin/vitest.config.ts | 3 +
packages/ariada-esbuild-plugin/README.md | 18 +
packages/ariada-esbuild-plugin/package.json | 61 +
packages/ariada-esbuild-plugin/src/index.ts | 92 +
.../tests/plugin.test.ts | 58 +
packages/ariada-esbuild-plugin/tsconfig.json | 12 +
.../ariada-esbuild-plugin/vitest.config.ts | 1 +
.../ariada-extension/public/manifest.json | 9 +-
.../src/entrypoints/background.ts | 35 +-
.../src/entrypoints/content.ts | 85 +-
.../src/entrypoints/sidepanel.ts | 20 +-
packages/ariada-extension/src/lib/messages.ts | 7 -
.../tests/e2e/extension.spec.ts | 99 +-
packages/ariada-figma-plugin/README.md | 62 +
packages/ariada-figma-plugin/manifest.json | 11 +
packages/ariada-figma-plugin/package.json | 54 +
.../scan-evidence/result.html | 229 +
.../scan-evidence/result.json | 71 +
.../scan-evidence/run-output.txt | 8 +
.../scan-evidence/screenshot.png | Bin 0 -> 381213 bytes
.../scripts/run-fixture.mjs | 283 +
.../scripts/validate-evidence-links.mjs | 35 +
.../scripts/validate-screenshot.mjs | 115 +
packages/ariada-figma-plugin/src/code.ts | 102 +
.../ariada-figma-plugin/src/figma-types.d.ts | 49 +
packages/ariada-figma-plugin/src/scanner.ts | 420 +
packages/ariada-figma-plugin/src/ui.html | 220 +
.../test-report/result.html | 93 +
.../test-report/result.json | 76 +
.../tests/fixtures/known-bad-frame.json | 115 +
.../ariada-figma-plugin/tests/scanner.test.ts | 85 +
packages/ariada-figma-plugin/tsconfig.json | 14 +
packages/ariada-figma-plugin/vitest.config.ts | 8 +
packages/ariada-gatsby-plugin/README.md | 24 +
packages/ariada-gatsby-plugin/gatsby-node.js | 1 +
packages/ariada-gatsby-plugin/package.json | 50 +
packages/ariada-gatsby-plugin/src/index.ts | 64 +
.../ariada-gatsby-plugin/tests/index.test.ts | 44 +
packages/ariada-gatsby-plugin/tsconfig.json | 10 +
.../ariada-gatsby-plugin/vitest.config.ts | 3 +
packages/ariada-gitlab-component/README.md | 47 +
.../examples/component-include.yml | 11 +
packages/ariada-gitlab-component/package.json | 18 +
.../templates/ariada-diff.yml | 78 +
packages/ariada-jsr/LICENSE | 3 +
packages/ariada-jsr/NOTICE | 3 +
packages/ariada-jsr/README.md | 53 +
packages/ariada-jsr/deno.json | 9 +
packages/ariada-jsr/examples/consumer.ts | 15 +
packages/ariada-jsr/fixtures/site/index.html | 15 +
packages/ariada-jsr/jsr.json | 18 +
packages/ariada-jsr/package.json | 50 +
.../ariada-output/jsr-channel-evidence.json | 47 +
.../ariada-jsr/scan-evidence/command.exit | 1 +
packages/ariada-jsr/scan-evidence/command.log | 12 +
packages/ariada-jsr/scan-evidence/result.html | 178 +
.../scan-evidence/scan-result-preview.html | 33 +
.../scan-evidence/screenshots/scan-result.png | Bin 0 -> 4616444 bytes
.../ariada-jsr/scripts/build-evidence.mjs | 642 +
.../scripts/validate-jsr-package.mjs | 28 +
packages/ariada-jsr/src/mod.ts | 77 +
packages/ariada-jsr/tests/mod.test.ts | 64 +
packages/ariada-jsr/tsconfig.json | 9 +
packages/ariada-jsr/vitest.config.ts | 1 +
packages/ariada-mcp-server/README.md | 24 +
packages/ariada-mcp-server/package.json | 5 +-
packages/ariada-mcp-server/server.json | 35 +
packages/ariada-mcp-server/src/server.ts | 2 +-
packages/ariada-mcp-server/src/ssrf-guard.ts | 27 +-
.../ariada-mcp-server/tests/registry.test.ts | 26 +
.../ariada-mcp-server/tests/server.test.ts | 2 +-
.../tests/ssrf-guard.test.ts | 20 +
.../tests/stdio-transport.test.ts | 2 +-
packages/ariada-netlify-plugin/LICENSE | 4 +
packages/ariada-netlify-plugin/NOTICE | 4 +
packages/ariada-netlify-plugin/README.md | 54 +
packages/ariada-netlify-plugin/manifest.yml | 19 +
packages/ariada-netlify-plugin/package.json | 53 +
.../scripts/check-syntax.js | 23 +
.../scripts/lint-no-debug.js | 31 +
packages/ariada-netlify-plugin/src/index.js | 194 +
.../ariada-netlify-plugin/test/index.test.js | 90 +
packages/ariada-nextjs-plugin/README.md | 29 +
packages/ariada-nextjs-plugin/package.json | 50 +
packages/ariada-nextjs-plugin/src/index.ts | 82 +
.../ariada-nextjs-plugin/tests/index.test.ts | 44 +
packages/ariada-nextjs-plugin/tsconfig.json | 10 +
.../ariada-nextjs-plugin/vitest.config.ts | 7 +
packages/ariada-nuxt-module/README.md | 23 +
packages/ariada-nuxt-module/package.json | 49 +
packages/ariada-nuxt-module/src/index.ts | 88 +
.../ariada-nuxt-module/tests/index.test.ts | 43 +
packages/ariada-nuxt-module/tsconfig.json | 10 +
packages/ariada-nuxt-module/vitest.config.ts | 7 +
packages/ariada-postcss-plugin/README.md | 16 +
packages/ariada-postcss-plugin/package.json | 61 +
packages/ariada-postcss-plugin/src/index.ts | 43 +
.../tests/plugin.test.ts | 19 +
packages/ariada-postcss-plugin/tsconfig.json | 12 +
.../ariada-postcss-plugin/vitest.config.ts | 1 +
.../ariada-precommit/.pre-commit-hooks.yaml | 11 +
packages/ariada-precommit/LICENSE | 3 +
packages/ariada-precommit/NOTICE | 5 +
packages/ariada-precommit/README.md | 46 +
packages/ariada-precommit/package.json | 84 +
packages/ariada-precommit/src/bin.ts | 12 +
packages/ariada-precommit/src/index.cts | 119 +
packages/ariada-precommit/src/index.ts | 103 +
.../ariada-precommit/tests/fixtures/bad.html | 9 +
.../ariada-precommit/tests/precommit.test.ts | 81 +
packages/ariada-precommit/tsconfig.json | 14 +
packages/ariada-precommit/vitest.config.ts | 7 +
packages/ariada-qwik-plugin/README.md | 20 +
packages/ariada-qwik-plugin/package.json | 50 +
packages/ariada-qwik-plugin/src/index.ts | 37 +
.../ariada-qwik-plugin/tests/index.test.ts | 28 +
packages/ariada-qwik-plugin/tsconfig.json | 10 +
packages/ariada-qwik-plugin/vitest.config.ts | 3 +
packages/ariada-remix-plugin/README.md | 22 +
packages/ariada-remix-plugin/package.json | 50 +
packages/ariada-remix-plugin/src/index.ts | 37 +
.../ariada-remix-plugin/tests/index.test.ts | 28 +
packages/ariada-remix-plugin/tsconfig.json | 10 +
packages/ariada-remix-plugin/vitest.config.ts | 3 +
packages/ariada-rollup-plugin/README.md | 15 +
packages/ariada-rollup-plugin/package.json | 60 +
packages/ariada-rollup-plugin/src/index.ts | 102 +
.../ariada-rollup-plugin/tests/plugin.test.ts | 32 +
packages/ariada-rollup-plugin/tsconfig.json | 12 +
.../ariada-rollup-plugin/vitest.config.ts | 1 +
packages/ariada-solidstart-plugin/README.md | 20 +
.../ariada-solidstart-plugin/package.json | 49 +
.../ariada-solidstart-plugin/src/index.ts | 37 +
.../tests/index.test.ts | 28 +
.../ariada-solidstart-plugin/tsconfig.json | 10 +
.../ariada-solidstart-plugin/vitest.config.ts | 3 +
packages/ariada-sveltekit-plugin/README.md | 22 +
packages/ariada-sveltekit-plugin/package.json | 49 +
packages/ariada-sveltekit-plugin/src/index.ts | 37 +
.../tests/index.test.ts | 28 +
.../ariada-sveltekit-plugin/tsconfig.json | 10 +
.../ariada-sveltekit-plugin/vitest.config.ts | 3 +
packages/ariada-swc-plugin/README.md | 15 +
packages/ariada-swc-plugin/package.json | 60 +
packages/ariada-swc-plugin/src/index.ts | 58 +
.../ariada-swc-plugin/tests/plugin.test.ts | 22 +
packages/ariada-swc-plugin/tsconfig.json | 12 +
packages/ariada-swc-plugin/vitest.config.ts | 1 +
.../ariada-vpat-html-renderer/package.json | 4 +
packages/ariada-webpack-plugin/README.md | 15 +
packages/ariada-webpack-plugin/package.json | 60 +
packages/ariada-webpack-plugin/src/index.ts | 85 +
.../tests/plugin.test.ts | 37 +
packages/ariada-webpack-plugin/tsconfig.json | 12 +
.../ariada-webpack-plugin/vitest.config.ts | 1 +
packages/blamer-api-client/LICENSE | 287 +
packages/blamer-api-client/NOTICE | 38 +
packages/blamer-api-client/README.md | 38 +
packages/blamer-api-client/REUSE.toml | 7 +
packages/blamer-github-app/src/handler.ts | 2 +-
packages/blamer-github-app/src/index.ts | 1 +
packages/blamer-github-app/src/types.ts | 12 +
packages/blamer-github-app/src/webhook.ts | 42 +
.../blamer-github-app/tests/handler.test.ts | 2 +
.../blamer-github-app/tests/webhook.test.ts | 50 +
.../blamer-vercel-integration/src/index.ts | 1 +
.../blamer-vercel-integration/src/types.ts | 5 +
.../blamer-vercel-integration/src/webhook.ts | 39 +
.../tests/webhook.test.ts | 49 +
.../vitest.config.ts | 9 +
.../tests/e2e/color-contrast.e2e.spec.ts | 1 +
.../tests/e2e/scan-pipeline.e2e.spec.ts | 1 +
packages/cypress-ariada/README.md | 61 +
packages/cypress-ariada/cypress.config.ts | 82 +
.../cypress/e2e/ariada-scan.cy.ts | 22 +
.../cypress-ariada/cypress/fixtures/bad.html | 13 +
.../cypress-ariada/cypress/support/e2e.ts | 4 +
packages/cypress-ariada/package.json | 92 +
.../cypress-ariada/scan-evidence/result.html | 21 +
packages/cypress-ariada/src/commands.ts | 72 +
packages/cypress-ariada/src/index.ts | 29 +
packages/cypress-ariada/src/plugin.ts | 36 +
packages/cypress-ariada/src/scan-adapter.ts | 177 +
packages/cypress-ariada/src/types.ts | 49 +
.../cypress-ariada/tests/commands.test.ts | 54 +
.../tests/evidence/generate-result.mjs | 45 +
.../cypress-ariada/tests/scan-adapter.test.ts | 90 +
packages/cypress-ariada/tsconfig.json | 13 +
packages/cypress-ariada/vitest.config.ts | 3 +
packages/eslint-plugin-ariada-a11y/LICENSE | 3 +
packages/eslint-plugin-ariada-a11y/NOTICE | 5 +
packages/eslint-plugin-ariada-a11y/README.md | 35 +
.../eslint-plugin-ariada-a11y/package.json | 76 +
packages/eslint-plugin-ariada-a11y/src/ast.ts | 125 +
.../eslint-plugin-ariada-a11y/src/index.cts | 202 +
.../eslint-plugin-ariada-a11y/src/index.ts | 65 +
.../src/rules/heading-order.ts | 46 +
.../src/rules/html-has-lang.ts | 27 +
.../src/rules/img-alt.ts | 33 +
.../src/rules/label-has-associated-control.ts | 34 +
.../tests/fixtures/bad.jsx | 10 +
.../tests/fixtures/good.jsx | 11 +
.../tests/plugin.test.ts | 50 +
.../eslint-plugin-ariada-a11y/tsconfig.json | 14 +
.../vitest.config.ts | 7 +
packages/scan-report-html/src/index.ts | 2 +
packages/scan-report-html/src/multi-domain.ts | 93 +
packages/surface-browser/LICENSE | 287 +
packages/surface-browser/LICENSES/CC0-1.0.txt | 41 +
.../surface-browser/LICENSES/EUPL-1.2.txt | 287 +
packages/surface-browser/NOTICE | 39 +
packages/surface-browser/README.md | 43 +
packages/surface-browser/REUSE.toml | 7 +
packages/surface-browser/SECURITY.md | 88 +
packages/url-guard/LICENSE | 287 +
packages/url-guard/README.md | 57 +
packages/url-guard/package.json | 48 +
packages/url-guard/src/index.test.ts | 127 +
packages/url-guard/src/index.ts | 136 +
packages/url-guard/src/ranges.test.ts | 90 +
packages/url-guard/src/ranges.ts | 104 +
packages/url-guard/tsconfig.json | 13 +
packages/url-guard/vitest.config.ts | 3 +
packages/wcag-rules-extended/.fossa.yml | 20 +-
.../docs/adrs/0001-license-eupl-1.2.md | 2 +-
packages/wcag-rules-extended/package.json | 1 -
pnpm-workspace.yaml | 5 +
1701 files changed, 123386 insertions(+), 321 deletions(-)
create mode 100644 .github/workflows/catalog-drift.yml
create mode 100644 LICENSES/CC-BY-4.0.txt
create mode 100644 LICENSES/GPL-2.0-or-later.txt
create mode 100644 integrations/alfred-ariada/.gitignore
create mode 100644 integrations/alfred-ariada/README.md
create mode 100644 integrations/alfred-ariada/fixtures/scan-result.json
create mode 100644 integrations/alfred-ariada/info.plist
create mode 100644 integrations/alfred-ariada/package.json
create mode 100755 integrations/alfred-ariada/scripts/script-filter.mjs
create mode 100644 integrations/alfred-ariada/test/alfred.test.mjs
create mode 100644 integrations/axure-ariada/README.md
create mode 100644 integrations/axure-ariada/axure-ariada.config.json
create mode 100644 integrations/axure-ariada/fixtures/axure-export/data/document.js
create mode 100644 integrations/axure-ariada/fixtures/axure-export/index.html
create mode 100644 integrations/axure-ariada/fixtures/axure-export/resources/css/axure_rp_page.css
create mode 100644 integrations/axure-ariada/fixtures/axure-export/resources/scripts/axure/axQuery.js
create mode 100644 integrations/axure-ariada/fixtures/axure-export/resources/scripts/axure/events.js
create mode 100644 integrations/axure-ariada/fixtures/panel/extension-panel.html
create mode 100644 integrations/axure-ariada/package.json
create mode 100644 integrations/axure-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/axure-ariada/scan-evidence/command.exit
create mode 100644 integrations/axure-ariada/scan-evidence/command.log
create mode 100644 integrations/axure-ariada/scan-evidence/result.html
create mode 100644 integrations/axure-ariada/scan-evidence/screenshots/extension-panel.png
create mode 100644 integrations/axure-ariada/scan-evidence/screenshots/result-report.png
create mode 100644 integrations/axure-ariada/schema/axure-ariada.config.schema.json
create mode 100644 integrations/axure-ariada/scripts/build-evidence-report.mjs
create mode 100644 integrations/axure-ariada/scripts/lint.mjs
create mode 100644 integrations/axure-ariada/scripts/validate-config.mjs
create mode 100644 integrations/axure-ariada/src/bin.ts
create mode 100644 integrations/axure-ariada/src/index.ts
create mode 100644 integrations/axure-ariada/tests/axure.test.mjs
create mode 100644 integrations/axure-ariada/tsconfig.json
create mode 100644 integrations/azure-devops-ariada/README.md
create mode 100644 integrations/azure-devops-ariada/examples/azure-pipelines.yml
create mode 100755 integrations/azure-devops-ariada/fixtures/mock-ariada-cli.mjs
create mode 100644 integrations/azure-devops-ariada/overview.md
create mode 100644 integrations/azure-devops-ariada/scan-evidence/ariada-output/scan.json
create mode 100644 integrations/azure-devops-ariada/scan-evidence/result.html
create mode 100644 integrations/azure-devops-ariada/scripts/local-task-runner.mjs
create mode 100644 integrations/azure-devops-ariada/scripts/validate-evidence-links.mjs
create mode 100644 integrations/azure-devops-ariada/scripts/validate-extension.mjs
create mode 100644 integrations/azure-devops-ariada/task/index.cjs
create mode 100644 integrations/azure-devops-ariada/task/task.json
create mode 100644 integrations/azure-devops-ariada/test-report/result.html
create mode 100644 integrations/azure-devops-ariada/test-report/runner-output.json
create mode 100644 integrations/azure-devops-ariada/test-report/screenshot.png
create mode 100644 integrations/azure-devops-ariada/vss-extension.json
create mode 100644 integrations/backstage-ariada/README.md
create mode 100644 integrations/backstage-ariada/package.json
create mode 100644 integrations/backstage-ariada/scripts/validate-backstage.mjs
create mode 100644 integrations/backstage-ariada/src/index.ts
create mode 100644 integrations/backstage-ariada/tests/card.test.mjs
create mode 100644 integrations/backstage-ariada/tsconfig.json
create mode 100644 integrations/balsamiq-ariada/README.md
create mode 100644 integrations/balsamiq-ariada/fixtures/html-export/index.html
create mode 100644 integrations/balsamiq-ariada/fixtures/png-only/README.md
create mode 100644 integrations/balsamiq-ariada/package.json
create mode 100644 integrations/balsamiq-ariada/recipe.json
create mode 100644 integrations/balsamiq-ariada/scan-evidence/result.html
create mode 100644 integrations/balsamiq-ariada/scripts/validate-recipe.mjs
create mode 100644 integrations/balsamiq-ariada/src/cli.ts
create mode 100644 integrations/balsamiq-ariada/src/index.ts
create mode 100644 integrations/balsamiq-ariada/tests/index.test.mjs
create mode 100644 integrations/balsamiq-ariada/tsconfig.json
create mode 100644 integrations/bitbucket-pipe-ariada/Dockerfile
create mode 100644 integrations/bitbucket-pipe-ariada/README.md
create mode 100644 integrations/bitbucket-pipe-ariada/bitbucket-pipelines.yml
create mode 100644 integrations/bitbucket-pipe-ariada/pipe.yml
create mode 100755 integrations/bitbucket-pipe-ariada/pipe/run.sh
create mode 100644 integrations/bitbucket-pipe-ariada/scripts/validate-pipe.mjs
create mode 100644 integrations/bubble-ariada/.gitignore
create mode 100644 integrations/bubble-ariada/README.md
create mode 100644 integrations/bubble-ariada/package.json
create mode 100644 integrations/bubble-ariada/plugin/bubble-plugin.json
create mode 100644 integrations/bubble-ariada/plugin/server-side-action.js
create mode 100644 integrations/bubble-ariada/scan-evidence/ariada-output/bubble-action-result.json
create mode 100644 integrations/bubble-ariada/scan-evidence/ariada-output/hosted-api-fixture.json
create mode 100644 integrations/bubble-ariada/scan-evidence/bubble-action-preview.html
create mode 100644 integrations/bubble-ariada/scan-evidence/command-output.txt
create mode 100644 integrations/bubble-ariada/scan-evidence/command.exit
create mode 100644 integrations/bubble-ariada/scan-evidence/result.html
create mode 100644 integrations/bubble-ariada/scan-evidence/screenshots/bubble-action-result.png
create mode 100644 integrations/bubble-ariada/scripts/run-e2e.mjs
create mode 100644 integrations/bubble-ariada/scripts/validate-plugin.mjs
create mode 100644 integrations/bubble-ariada/src/action.mjs
create mode 100644 integrations/bubble-ariada/test-report/logs/e2e.exit
create mode 100644 integrations/bubble-ariada/test-report/logs/e2e.txt
create mode 100644 integrations/bubble-ariada/test-report/logs/lint.exit
create mode 100644 integrations/bubble-ariada/test-report/logs/lint.txt
create mode 100644 integrations/bubble-ariada/test-report/logs/screenshot.txt
create mode 100644 integrations/bubble-ariada/test-report/logs/test.exit
create mode 100644 integrations/bubble-ariada/test-report/logs/test.txt
create mode 100644 integrations/bubble-ariada/test-report/logs/validate.exit
create mode 100644 integrations/bubble-ariada/test-report/logs/validate.txt
create mode 100644 integrations/bubble-ariada/test-report/result.html
create mode 100644 integrations/bubble-ariada/test/action.test.mjs
create mode 100644 integrations/cloudflare-ariada/README.md
create mode 100755 integrations/cloudflare-ariada/build-step.sh
create mode 100644 integrations/cloudflare-ariada/scripts/validate-cloudflare.mjs
create mode 100644 integrations/cloudflare-ariada/worker/index.js
create mode 100644 integrations/cloudflare-ariada/wrangler.example.toml
create mode 100644 integrations/contentful-ariada/README.md
create mode 100644 integrations/contentful-ariada/package.json
create mode 100644 integrations/contentful-ariada/src/index.ts
create mode 100644 integrations/contentful-ariada/tests/index.test.mjs
create mode 100644 integrations/contentful-ariada/tsconfig.json
create mode 100644 integrations/craft-ariada/README.md
create mode 100644 integrations/craft-ariada/composer.json
create mode 100644 integrations/craft-ariada/package.json
create mode 100644 integrations/craft-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/craft-ariada/src/Plugin.php
create mode 100644 integrations/dart-flutter-ariada/README.md
create mode 100644 integrations/dart-flutter-ariada/analysis_options.yaml
create mode 100644 integrations/dart-flutter-ariada/bin/scan.dart
create mode 100644 integrations/dart-flutter-ariada/fixtures/flutter-web-canvaskit/build/web/index.html
create mode 100644 integrations/dart-flutter-ariada/fixtures/flutter-web-html-renderer/build/web/index.html
create mode 100644 integrations/dart-flutter-ariada/lib/ariada.dart
create mode 100644 integrations/dart-flutter-ariada/lib/src/report.dart
create mode 100644 integrations/dart-flutter-ariada/lib/src/runner.dart
create mode 100644 integrations/dart-flutter-ariada/pubspec.yaml
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/command.exit
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/command.log
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/result.html
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/dart-flutter-ariada/scan-evidence/screenshots/tested-host-surface.png
create mode 100644 integrations/dart-flutter-ariada/scripts/build-reports.mjs
create mode 100644 integrations/dart-flutter-ariada/scripts/validate-screenshots.mjs
create mode 100644 integrations/dart-flutter-ariada/test-report/result.html
create mode 100644 integrations/dart-flutter-ariada/test/report_test.dart
create mode 100644 integrations/dart-flutter-ariada/test/runner_test.dart
create mode 100644 integrations/dash-ariada/README.md
create mode 100644 integrations/dash-ariada/dash_ariada/__init__.py
create mode 100644 integrations/dash-ariada/dash_ariada/__main__.py
create mode 100644 integrations/dash-ariada/dash_ariada/cli.py
create mode 100644 integrations/dash-ariada/dash_ariada/component.py
create mode 100644 integrations/dash-ariada/dash_ariada/scanner.py
create mode 100644 integrations/dash-ariada/examples/site/index.html
create mode 100644 integrations/dash-ariada/pyproject.toml
create mode 100644 integrations/dash-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/dash-ariada/scan-evidence/command.exit
create mode 100644 integrations/dash-ariada/scan-evidence/command.log
create mode 100644 integrations/dash-ariada/scan-evidence/result.html
create mode 100644 integrations/dash-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/dash-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/dash-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/dash-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/dash-ariada/test-report/logs/ariada-cli-build.exit
create mode 100644 integrations/dash-ariada/test-report/logs/ariada-cli-build.log
create mode 100644 integrations/dash-ariada/test-report/logs/build.exit
create mode 100644 integrations/dash-ariada/test-report/logs/build.log
create mode 100644 integrations/dash-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/dash-ariada/test-report/logs/compileall.log
create mode 100644 integrations/dash-ariada/test-report/logs/evidence-report.log
create mode 100644 integrations/dash-ariada/test-report/logs/install.exit
create mode 100644 integrations/dash-ariada/test-report/logs/install.log
create mode 100644 integrations/dash-ariada/test-report/logs/pip-upgrade.log
create mode 100644 integrations/dash-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/dash-ariada/test-report/logs/pytest.log
create mode 100644 integrations/dash-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/dash-ariada/test-report/logs/ruff.log
create mode 100644 integrations/dash-ariada/test-report/logs/scan.exit
create mode 100644 integrations/dash-ariada/test-report/logs/scan.log
create mode 100644 integrations/dash-ariada/test-report/logs/screenshot.log
create mode 100644 integrations/dash-ariada/test-report/result.html
create mode 100644 integrations/dash-ariada/tests/test_scanner.py
create mode 100644 integrations/devcontainer-feature-ariada/README.md
create mode 100644 integrations/devcontainer-feature-ariada/scripts/validate-feature.mjs
create mode 100644 integrations/devcontainer-feature-ariada/src/ariada/devcontainer-feature.json
create mode 100755 integrations/devcontainer-feature-ariada/src/ariada/install.sh
create mode 100644 integrations/devcontainer-feature-ariada/test/devcontainer.json
create mode 100644 integrations/devtools-ariada/README.md
create mode 100644 integrations/devtools-ariada/manifest.fragment.json
create mode 100644 integrations/devtools-ariada/package.json
create mode 100644 integrations/devtools-ariada/scripts/validate-devtools-integration.mjs
create mode 100644 integrations/directus-ariada/README.md
create mode 100644 integrations/directus-ariada/package.json
create mode 100644 integrations/directus-ariada/src/index.ts
create mode 100644 integrations/directus-ariada/tests/index.test.mjs
create mode 100644 integrations/directus-ariada/tsconfig.json
create mode 100644 integrations/discord-ariada/.gitignore
create mode 100644 integrations/discord-ariada/README.md
create mode 100644 integrations/discord-ariada/commands.json
create mode 100644 integrations/discord-ariada/fixtures/scan-result.json
create mode 100644 integrations/discord-ariada/package.json
create mode 100644 integrations/discord-ariada/src/embed.ts
create mode 100644 integrations/discord-ariada/src/types.ts
create mode 100644 integrations/discord-ariada/src/webhook.ts
create mode 100644 integrations/discord-ariada/test/embed.test.mjs
create mode 100644 integrations/discord-ariada/tsconfig.json
create mode 100644 integrations/django-ariada/README.md
create mode 100644 integrations/django-ariada/ariada_django/__init__.py
create mode 100644 integrations/django-ariada/ariada_django/apps.py
create mode 100644 integrations/django-ariada/ariada_django/management/__init__.py
create mode 100644 integrations/django-ariada/ariada_django/management/commands/__init__.py
create mode 100644 integrations/django-ariada/ariada_django/management/commands/ariada_scan.py
create mode 100644 integrations/django-ariada/ariada_django/scanner.py
create mode 100644 integrations/django-ariada/examples/minimal_project/manage.py
create mode 100644 integrations/django-ariada/examples/minimal_project/minimal_project/__init__.py
create mode 100644 integrations/django-ariada/examples/minimal_project/minimal_project/settings.py
create mode 100644 integrations/django-ariada/examples/minimal_project/minimal_project/urls.py
create mode 100644 integrations/django-ariada/pyproject.toml
create mode 100644 integrations/django-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/django-ariada/scan-evidence/result.html
create mode 100644 integrations/django-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/django-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/django-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/django-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/django-ariada/test-report/result.html
create mode 100644 integrations/django-ariada/tests/test_scanner.py
create mode 100644 integrations/docker-ariada/Dockerfile
create mode 100644 integrations/docker-ariada/README.md
create mode 100644 integrations/docker-ariada/SMOKE.md
create mode 100644 integrations/docker-ariada/entrypoint.sh
create mode 100644 integrations/dotnet-ariada/README.md
create mode 100644 integrations/dotnet-ariada/dotnet-ariada.sln
create mode 100644 integrations/dotnet-ariada/examples/aspnet-static-output/wwwroot/index.html
create mode 100644 integrations/dotnet-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/dotnet-ariada/scan-evidence/command.exit
create mode 100644 integrations/dotnet-ariada/scan-evidence/command.log
create mode 100644 integrations/dotnet-ariada/scan-evidence/result.html
create mode 100644 integrations/dotnet-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/dotnet-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/dotnet-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/dotnet-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/dotnet-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Core/Ariada.DotNet.Core.csproj
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Core/AriadaCliRunner.cs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Core/AriadaOptions.cs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Core/AriadaReportParser.cs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Core/AriadaSeverity.cs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.MSBuild/Ariada.DotNet.MSBuild.csproj
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.MSBuild/AriadaScanTask.cs
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.MSBuild/build/Ariada.DotNet.MSBuild.targets
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Tool/Ariada.DotNet.Tool.csproj
create mode 100644 integrations/dotnet-ariada/src/Ariada.DotNet.Tool/Program.cs
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-build.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-build.log
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-format.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-format.log
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-info.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-info.log
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-pack.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-pack.log
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-test.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/dotnet-test.log
create mode 100644 integrations/dotnet-ariada/test-report/logs/validate.exit
create mode 100644 integrations/dotnet-ariada/test-report/logs/validate.log
create mode 100644 integrations/dotnet-ariada/test-report/result.html
create mode 100644 integrations/dotnet-ariada/tests/Ariada.DotNet.Tests/Ariada.DotNet.Tests.csproj
create mode 100644 integrations/dotnet-ariada/tests/Ariada.DotNet.Tests/AriadaReportParserTests.cs
create mode 100644 integrations/drupal-ariada/README.md
create mode 100644 integrations/drupal-ariada/ariada_drupal.info.yml
create mode 100644 integrations/drupal-ariada/ariada_drupal.install
create mode 100644 integrations/drupal-ariada/ariada_drupal.links.menu.yml
create mode 100644 integrations/drupal-ariada/ariada_drupal.permissions.yml
create mode 100644 integrations/drupal-ariada/ariada_drupal.routing.yml
create mode 100644 integrations/drupal-ariada/ariada_drupal.services.yml
create mode 100644 integrations/drupal-ariada/composer.json
create mode 100644 integrations/drupal-ariada/config/install/ariada_drupal.settings.yml
create mode 100644 integrations/drupal-ariada/config/schema/ariada_drupal.schema.yml
create mode 100644 integrations/drupal-ariada/src/Drush/Commands/AriadaDrushCommands.php
create mode 100644 integrations/drupal-ariada/src/Form/AriadaSettingsForm.php
create mode 100644 integrations/drupal-ariada/src/Service/AriadaReportNormalizer.php
create mode 100644 integrations/drupal-ariada/src/Service/AriadaScanner.php
create mode 100644 integrations/drupal-ariada/src/Service/HostedAriadaRunner.php
create mode 100644 integrations/drupal-ariada/src/Service/LocalAriadaRunner.php
create mode 100644 integrations/eclipse-ariada/.gitignore
create mode 100644 integrations/eclipse-ariada/META-INF/MANIFEST.MF
create mode 100644 integrations/eclipse-ariada/README.md
create mode 100644 integrations/eclipse-ariada/plugin.xml
create mode 100755 integrations/eclipse-ariada/scripts/compile-smoke.sh
create mode 100644 integrations/eclipse-ariada/src/org/ariada/eclipse/AriadaFinding.java
create mode 100644 integrations/eclipse-ariada/src/org/ariada/eclipse/AriadaMarker.java
create mode 100644 integrations/eclipse-ariada/src/org/ariada/eclipse/AriadaMarkerMapper.java
create mode 100644 integrations/eclipse-ariada/test/org/ariada/eclipse/AriadaMarkerMapperSmoke.java
create mode 100644 integrations/edge-addon-ariada/.gitignore
create mode 100644 integrations/edge-addon-ariada/README.md
create mode 100644 integrations/edge-addon-ariada/package.json
create mode 100644 integrations/edge-addon-ariada/scripts/build-edge-package.mjs
create mode 100644 integrations/edge-addon-ariada/scripts/validate-edge-package.mjs
create mode 100644 integrations/edge-addon-ariada/store-listing.json
create mode 100644 integrations/elixir-phoenix-ariada/.formatter.exs
create mode 100644 integrations/elixir-phoenix-ariada/README.md
create mode 100644 integrations/elixir-phoenix-ariada/lib/ariada_phoenix.ex
create mode 100644 integrations/elixir-phoenix-ariada/lib/mix/tasks/ariada.scan.ex
create mode 100644 integrations/elixir-phoenix-ariada/mix.exs
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/command.exit
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/command.txt
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/result.html
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/elixir-phoenix-ariada/scan-evidence/screenshots/scan-result.png
create mode 100755 integrations/elixir-phoenix-ariada/scripts/build_evidence_reports.py
create mode 100755 integrations/elixir-phoenix-ariada/scripts/validate-fixture.mjs
create mode 100755 integrations/elixir-phoenix-ariada/scripts/validate_screenshot.py
create mode 100644 integrations/elixir-phoenix-ariada/test/ariada_phoenix_test.exs
create mode 100644 integrations/elixir-phoenix-ariada/test/fixtures/ariada_output.json
create mode 100644 integrations/elixir-phoenix-ariada/test/fixtures/phoenix_static_output/index.html
create mode 100644 integrations/elixir-phoenix-ariada/test/test_helper.exs
create mode 100644 integrations/emacs-ariada/README.md
create mode 100644 integrations/emacs-ariada/ariada.el
create mode 100644 integrations/emacs-ariada/package.json
create mode 100755 integrations/emacs-ariada/scripts/validate-emacs-package.mjs
create mode 100644 integrations/fastapi-ariada/README.md
create mode 100644 integrations/fastapi-ariada/ariada_fastapi/__init__.py
create mode 100644 integrations/fastapi-ariada/ariada_fastapi/__main__.py
create mode 100644 integrations/fastapi-ariada/ariada_fastapi/cli.py
create mode 100644 integrations/fastapi-ariada/ariada_fastapi/scanner.py
create mode 100644 integrations/fastapi-ariada/examples/minimal_app/app.py
create mode 100644 integrations/fastapi-ariada/pyproject.toml
create mode 100644 integrations/fastapi-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/fastapi-ariada/scan-evidence/command.exit
create mode 100644 integrations/fastapi-ariada/scan-evidence/result.html
create mode 100644 integrations/fastapi-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/fastapi-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/fastapi-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/fastapi-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/fastapi-ariada/test-report/logs/build.exit
create mode 100644 integrations/fastapi-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/fastapi-ariada/test-report/logs/install.exit
create mode 100644 integrations/fastapi-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/fastapi-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/fastapi-ariada/test-report/result.html
create mode 100644 integrations/fastapi-ariada/tests/test_scanner.py
create mode 100644 integrations/firefox-addon-ariada/.gitignore
create mode 100644 integrations/firefox-addon-ariada/README.md
create mode 100644 integrations/firefox-addon-ariada/package.json
create mode 100644 integrations/firefox-addon-ariada/scripts/build-firefox-package.mjs
create mode 100644 integrations/firefox-addon-ariada/scripts/validate-firefox-package.mjs
create mode 100644 integrations/firefox-addon-ariada/store-listing.json
create mode 100644 integrations/framer-ariada/README.md
create mode 100644 integrations/framer-ariada/fixtures/known-bad-frame.json
create mode 100644 integrations/framer-ariada/framer.json
create mode 100644 integrations/framer-ariada/index.html
create mode 100644 integrations/framer-ariada/package.json
create mode 100644 integrations/framer-ariada/public/icon.svg
create mode 100644 integrations/framer-ariada/scan-evidence/result-screenshot.png
create mode 100644 integrations/framer-ariada/scan-evidence/result.html
create mode 100644 integrations/framer-ariada/scan-evidence/result.json
create mode 100644 integrations/framer-ariada/scripts/check-required-headings.cjs
create mode 100644 integrations/framer-ariada/scripts/run-fixture.cjs
create mode 100644 integrations/framer-ariada/scripts/validate-evidence.cjs
create mode 100644 integrations/framer-ariada/scripts/validate-framer-config.cjs
create mode 100644 integrations/framer-ariada/src/audit.cjs
create mode 100644 integrations/framer-ariada/src/framer-adapter.cjs
create mode 100644 integrations/framer-ariada/src/plugin.jsx
create mode 100644 integrations/framer-ariada/test-report/result.html
create mode 100644 integrations/framer-ariada/tests/audit.test.cjs
create mode 100644 integrations/ghost-ariada/README.md
create mode 100644 integrations/ghost-ariada/package.json
create mode 100644 integrations/ghost-ariada/src/index.js
create mode 100644 integrations/ghost-ariada/tests/index.test.js
create mode 100644 integrations/gitbook-ariada/README.md
create mode 100644 integrations/gitbook-ariada/examples/github-actions.yml
create mode 100644 integrations/gitbook-ariada/fixtures/export/index.html
create mode 100644 integrations/gitbook-ariada/fixtures/scan-with-finding.json
create mode 100644 integrations/gitbook-ariada/package.json
create mode 100644 integrations/gitbook-ariada/scan-evidence/fixture-output/scan.json
create mode 100644 integrations/gitbook-ariada/scan-evidence/result.html
create mode 100755 integrations/gitbook-ariada/scripts/gitbook-ariada.mjs
create mode 100644 integrations/gitbook-ariada/scripts/validate-gitbook.mjs
create mode 100644 integrations/gitbook-ariada/src/config.mjs
create mode 100755 integrations/gitbook-ariada/tests/fixtures/fake-ariada.mjs
create mode 100644 integrations/gitbook-ariada/tests/gitbook-ariada.test.mjs
create mode 100644 integrations/gitea-action-ariada/README.md
create mode 100644 integrations/gitea-action-ariada/action.yml
create mode 100644 integrations/gitea-action-ariada/examples/.gitea/workflows/ariada.yml
create mode 100644 integrations/gitea-action-ariada/fixtures/bad.html
create mode 100755 integrations/gitea-action-ariada/scripts/run-ariada.sh
create mode 100644 integrations/gitea-action-ariada/scripts/validate-action.mjs
create mode 100644 integrations/gitlab-component-ariada/CHANGELOG.md
create mode 100644 integrations/gitlab-component-ariada/README.md
create mode 100644 integrations/gitlab-component-ariada/examples/.gitlab-ci.yml
create mode 100644 integrations/gitlab-component-ariada/scripts/emit-codequality.mjs
create mode 100644 integrations/gitlab-component-ariada/scripts/validate-component.mjs
create mode 100644 integrations/gitlab-component-ariada/templates/ariada.yml
create mode 100644 integrations/gitpod-ariada/README.md
create mode 100644 integrations/gitpod-ariada/fixtures/scan-result.json
create mode 100644 integrations/gitpod-ariada/gitpod-template.yml
create mode 100644 integrations/gitpod-ariada/package.json
create mode 100644 integrations/gitpod-ariada/scripts/run-ariada.mjs
create mode 100644 integrations/gitpod-ariada/scripts/validate-gitpod-template.mjs
create mode 100644 integrations/gitpod-ariada/test/gitpod.test.mjs
create mode 100644 integrations/go-ariada/README.md
create mode 100644 integrations/go-ariada/cmd/ariada-gate/main.go
create mode 100644 integrations/go-ariada/go.mod
create mode 100644 integrations/go-ariada/internal/gate/exec_runner.go
create mode 100644 integrations/go-ariada/internal/gate/gate.go
create mode 100644 integrations/go-ariada/internal/gate/gate_test.go
create mode 100644 integrations/go-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/go-ariada/scan-evidence/command.log
create mode 100644 integrations/go-ariada/scan-evidence/result.html
create mode 100644 integrations/go-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/go-ariada/scan-evidence/screenshots/tested-host-surface.png
create mode 100644 integrations/go-ariada/scripts/build-reports.mjs
create mode 100644 integrations/go-ariada/test-report/result.html
create mode 100644 integrations/go-ariada/testdata/fixture.html
create mode 100644 integrations/gradle-ariada/.gitignore
create mode 100644 integrations/gradle-ariada/README.md
create mode 100644 integrations/gradle-ariada/build.gradle.kts
create mode 100644 integrations/gradle-ariada/fixtures/sample-web/index.html
create mode 100644 integrations/gradle-ariada/scan-evidence/command-output.txt
create mode 100644 integrations/gradle-ariada/scan-evidence/raw/multi-domain-report.json
create mode 100644 integrations/gradle-ariada/scan-evidence/result-screenshot.png
create mode 100644 integrations/gradle-ariada/scan-evidence/result.html
create mode 100644 integrations/gradle-ariada/scan-evidence/screenshots/tested-surface.png
create mode 100644 integrations/gradle-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/gradle-ariada/settings.gradle.kts
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/AriadaScanExtension.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/AriadaScanPlugin.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/AriadaScanTask.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/CliInvocation.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/CliResult.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/CliRunner.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/ProcessCliRunner.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/ScanReportParser.java
create mode 100644 integrations/gradle-ariada/src/main/java/org/ariada/gradle/ScanSummary.java
create mode 100644 integrations/gradle-ariada/src/test/java/org/ariada/gradle/AriadaScanPluginFunctionalTest.java
create mode 100644 integrations/gradle-ariada/src/test/java/org/ariada/gradle/ScanReportParserTest.java
create mode 100644 integrations/grunt-ariada/README.md
create mode 100644 integrations/grunt-ariada/package.json
create mode 100644 integrations/grunt-ariada/scripts/lint-no-debug.js
create mode 100644 integrations/grunt-ariada/tasks/ariada.js
create mode 100644 integrations/grunt-ariada/tests/task.test.js
create mode 100644 integrations/gulp-ariada/README.md
create mode 100644 integrations/gulp-ariada/package.json
create mode 100644 integrations/gulp-ariada/src/index.ts
create mode 100644 integrations/gulp-ariada/tests/plugin.test.ts
create mode 100644 integrations/gulp-ariada/tsconfig.json
create mode 100644 integrations/gulp-ariada/vitest.config.ts
create mode 100644 integrations/hexo-ariada/README.md
create mode 100644 integrations/hexo-ariada/index.js
create mode 100644 integrations/hexo-ariada/lib/hexo-ariada.js
create mode 100644 integrations/hexo-ariada/package.json
create mode 100644 integrations/hexo-ariada/scan-evidence/result.html
create mode 100644 integrations/hexo-ariada/scripts/generate-evidence.js
create mode 100644 integrations/hexo-ariada/scripts/lint-no-debug.js
create mode 100644 integrations/hexo-ariada/tests/hexo-ariada.test.js
create mode 100644 integrations/hexo-ariada/tests/hexo-integration.test.js
create mode 100644 integrations/homebrew-ariada/Formula/ariada.rb
create mode 100644 integrations/homebrew-ariada/README.md
create mode 100644 integrations/homebrew-ariada/SMOKE.md
create mode 100644 integrations/hugo-ariada/README.md
create mode 100644 integrations/hugo-ariada/examples/rendered-public/index.html
create mode 100644 integrations/hugo-ariada/examples/rendered-public/product.svg
create mode 100644 integrations/hugo-ariada/examples/site/content/_index.md
create mode 100644 integrations/hugo-ariada/examples/site/hugo.toml
create mode 100644 integrations/hugo-ariada/examples/site/layouts/_default/baseof.html
create mode 100644 integrations/hugo-ariada/examples/site/layouts/index.html
create mode 100644 integrations/hugo-ariada/examples/site/static/images/product.svg
create mode 100644 integrations/hugo-ariada/go.mod
create mode 100644 integrations/hugo-ariada/hugo.toml
create mode 100644 integrations/hugo-ariada/layouts/partials/ariada/badge.html
create mode 100644 integrations/hugo-ariada/layouts/shortcodes/ariada-badge.html
create mode 100644 integrations/hugo-ariada/package.json
create mode 100644 integrations/hugo-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/hugo-ariada/scan-evidence/command.log
create mode 100644 integrations/hugo-ariada/scan-evidence/result.html
create mode 100644 integrations/hugo-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/hugo-ariada/scan-evidence/screenshots/scan-result-preview.png
create mode 100644 integrations/hugo-ariada/scan-evidence/screenshots/tested-host-surface.png
create mode 100644 integrations/hugo-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/hugo-ariada/scripts/validate-screenshot.mjs
create mode 100644 integrations/hugo-ariada/src/index.mjs
create mode 100644 integrations/hugo-ariada/test-report/result.html
create mode 100644 integrations/hugo-ariada/tests/wrapper.test.mjs
create mode 100644 integrations/jekyll-ariada/.gitignore
create mode 100644 integrations/jekyll-ariada/Gemfile
create mode 100644 integrations/jekyll-ariada/Gemfile.lock
create mode 100644 integrations/jekyll-ariada/README.md
create mode 100644 integrations/jekyll-ariada/Rakefile
create mode 100644 integrations/jekyll-ariada/fixtures/jekyll-site/Gemfile
create mode 100644 integrations/jekyll-ariada/fixtures/jekyll-site/_config.yml
create mode 100644 integrations/jekyll-ariada/fixtures/jekyll-site/_layouts/default.html
create mode 100644 integrations/jekyll-ariada/fixtures/jekyll-site/index.md
create mode 100644 integrations/jekyll-ariada/fixtures/static-site/index.html
create mode 100644 integrations/jekyll-ariada/jekyll-ariada.gemspec
create mode 100644 integrations/jekyll-ariada/lib/jekyll-ariada.rb
create mode 100644 integrations/jekyll-ariada/lib/jekyll/ariada.rb
create mode 100644 integrations/jekyll-ariada/lib/jekyll/ariada/configuration.rb
create mode 100644 integrations/jekyll-ariada/lib/jekyll/ariada/scanner.rb
create mode 100644 integrations/jekyll-ariada/lib/jekyll/ariada/version.rb
create mode 100644 integrations/jekyll-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/jekyll-ariada/scan-evidence/command.exit
create mode 100644 integrations/jekyll-ariada/scan-evidence/command.log
create mode 100644 integrations/jekyll-ariada/scan-evidence/result.html
create mode 100644 integrations/jekyll-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/jekyll-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/jekyll-ariada/scripts/audit-channel-report.mjs
create mode 100644 integrations/jekyll-ariada/scripts/build_evidence_reports.rb
create mode 100644 integrations/jekyll-ariada/scripts/run_fixture_scan.rb
create mode 100644 integrations/jekyll-ariada/scripts/validate_screenshot.py
create mode 100644 integrations/jekyll-ariada/test-report/logs/bundle-install.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/bundle-install.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/dash-audit.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/dash-audit.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/evidence-report.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/evidence-report.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/fixture-scan.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/fixture-scan.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/gem-build.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/gem-build.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/jekyll-build.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/jekyll-build.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/node-audit-syntax.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/node-audit-syntax.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/pnpm-install.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/pnpm-install.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/python-screenshot-syntax.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/python-screenshot-syntax.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-config.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-config.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-entry.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-entry.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-evidence.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-evidence.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-hook.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-hook.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-run-fixture.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-run-fixture.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-scanner.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/ruby-syntax-scanner.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/screenshot-validate.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/screenshot-validate.log
create mode 100644 integrations/jekyll-ariada/test-report/logs/unit-tests.exit
create mode 100644 integrations/jekyll-ariada/test-report/logs/unit-tests.log
create mode 100644 integrations/jekyll-ariada/test-report/result.html
create mode 100644 integrations/jekyll-ariada/test/plugin_test.rb
create mode 100644 integrations/jekyll-ariada/test/scanner_test.rb
create mode 100644 integrations/jekyll-ariada/test/test_helper.rb
create mode 100644 integrations/jenkins-ariada/README.md
create mode 100644 integrations/jenkins-ariada/fixtures/Jenkinsfile
create mode 100755 integrations/jenkins-ariada/fixtures/bin/ariada
create mode 100644 integrations/jenkins-ariada/fixtures/site/index.html
create mode 100644 integrations/jenkins-ariada/package.json
create mode 100755 integrations/jenkins-ariada/resources/org/ariada/jenkins/ariada-jenkins-gate.sh
create mode 100644 integrations/jenkins-ariada/scan-evidence/junit.xml
create mode 100644 integrations/jenkins-ariada/scan-evidence/result.html
create mode 100644 integrations/jenkins-ariada/scan-evidence/scan.json
create mode 100644 integrations/jenkins-ariada/scan-evidence/screenshots/screenshot.png
create mode 100644 integrations/jenkins-ariada/scan-evidence/transcript.txt
create mode 100644 integrations/jenkins-ariada/scripts/run-fixture.mjs
create mode 100644 integrations/jenkins-ariada/scripts/validate-report-links.mjs
create mode 100644 integrations/jenkins-ariada/test-report/command-output.txt
create mode 100644 integrations/jenkins-ariada/test-report/result.html
create mode 100644 integrations/jenkins-ariada/test-report/screenshot.png
create mode 100644 integrations/jenkins-ariada/vars/ariadaGate.groovy
create mode 100644 integrations/jenkins-ariada/vars/ariadaGate.txt
create mode 100644 integrations/joomla-ariada/README.md
create mode 100644 integrations/joomla-ariada/admin/access.xml
create mode 100644 integrations/joomla-ariada/admin/config.xml
create mode 100644 integrations/joomla-ariada/admin/language/en-GB/com_ariada.ini
create mode 100644 integrations/joomla-ariada/admin/language/en-GB/com_ariada.sys.ini
create mode 100644 integrations/joomla-ariada/admin/services/provider.php
create mode 100644 integrations/joomla-ariada/admin/src/Controller/DisplayController.php
create mode 100644 integrations/joomla-ariada/admin/src/Controller/ScanController.php
create mode 100644 integrations/joomla-ariada/admin/src/Model/ScanModel.php
create mode 100644 integrations/joomla-ariada/admin/src/Service/ScanRunner.php
create mode 100644 integrations/joomla-ariada/admin/src/View/Scan/HtmlView.php
create mode 100644 integrations/joomla-ariada/admin/tmpl/scan/default.php
create mode 100644 integrations/joomla-ariada/com_ariada.xml
create mode 100644 integrations/joomla-ariada/media/admin.css
create mode 100644 integrations/jsr-ariada/LICENSE
create mode 100644 integrations/jsr-ariada/README.md
create mode 100644 integrations/jsr-ariada/jsr.json
create mode 100644 integrations/jsr-ariada/package.json
create mode 100644 integrations/jsr-ariada/scripts/validate-jsr.mjs
create mode 100644 integrations/jsr-ariada/src/mod.ts
create mode 100644 integrations/jsr-ariada/test/mod.test.mjs
create mode 100644 integrations/jsr-ariada/tsconfig.json
create mode 100644 integrations/jupyterlab-ariada/README.md
create mode 100644 integrations/jupyterlab-ariada/examples/fixture-notebook.ipynb
create mode 100644 integrations/jupyterlab-ariada/jupyterlab_ariada/__init__.py
create mode 100644 integrations/jupyterlab-ariada/jupyterlab_ariada/__main__.py
create mode 100644 integrations/jupyterlab-ariada/jupyterlab_ariada/bridge.py
create mode 100644 integrations/jupyterlab-ariada/jupyterlab_ariada/cli.py
create mode 100644 integrations/jupyterlab-ariada/jupyterlab_ariada/handlers.py
create mode 100644 integrations/jupyterlab-ariada/package.json
create mode 100644 integrations/jupyterlab-ariada/pyproject.toml
create mode 100644 integrations/jupyterlab-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/jupyterlab-ariada/scan-evidence/command.exit
create mode 100644 integrations/jupyterlab-ariada/scan-evidence/result.html
create mode 100644 integrations/jupyterlab-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/jupyterlab-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/jupyterlab-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/jupyterlab-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/jupyterlab-ariada/src/index.ts
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/build.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/install.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/logs/tsc.exit
create mode 100644 integrations/jupyterlab-ariada/test-report/result.html
create mode 100644 integrations/jupyterlab-ariada/tests/test_bridge.py
create mode 100644 integrations/jupyterlab-ariada/tsconfig.json
create mode 100644 integrations/lunacy-ariada/.gitignore
create mode 100644 integrations/lunacy-ariada/README.md
create mode 100644 integrations/lunacy-ariada/package.json
create mode 100644 integrations/lunacy-ariada/plugin.jsonc
create mode 100644 integrations/lunacy-ariada/scan-evidence/result.html
create mode 100644 integrations/lunacy-ariada/scripts/validate-manifest.mjs
create mode 100644 integrations/lunacy-ariada/src/cli.ts
create mode 100644 integrations/lunacy-ariada/src/index.ts
create mode 100644 integrations/lunacy-ariada/tests/fixture-selection.json
create mode 100644 integrations/lunacy-ariada/tests/index.test.mjs
create mode 100644 integrations/lunacy-ariada/tsconfig.json
create mode 100644 integrations/magento-ariada/Block/Adminhtml/Scan/Panel.php
create mode 100644 integrations/magento-ariada/Controller/Adminhtml/Scan/Index.php
create mode 100644 integrations/magento-ariada/Controller/Scan/Result.php
create mode 100644 integrations/magento-ariada/Model/ScanRunner.php
create mode 100644 integrations/magento-ariada/README.md
create mode 100644 integrations/magento-ariada/composer.json
create mode 100644 integrations/magento-ariada/etc/acl.xml
create mode 100644 integrations/magento-ariada/etc/adminhtml/menu.xml
create mode 100644 integrations/magento-ariada/etc/adminhtml/routes.xml
create mode 100644 integrations/magento-ariada/etc/frontend/routes.xml
create mode 100644 integrations/magento-ariada/etc/module.xml
create mode 100644 integrations/magento-ariada/registration.php
create mode 100644 integrations/magento-ariada/scan-evidence/result.html
create mode 100644 integrations/magento-ariada/scan-evidence/screenshot.png
create mode 100644 integrations/magento-ariada/test-report/result.html
create mode 100644 integrations/magento-ariada/tests/fixture-flow.mjs
create mode 100644 integrations/magento-ariada/tests/validate-evidence.mjs
create mode 100644 integrations/magento-ariada/view/adminhtml/layout/ariada_scan_index.xml
create mode 100644 integrations/magento-ariada/view/adminhtml/templates/scan/panel.phtml
create mode 100644 integrations/magento-ariada/view/frontend/layout/ariada_accessibility_scan_result.xml
create mode 100644 integrations/magento-ariada/view/frontend/templates/scan/result.phtml
create mode 100644 integrations/maven-ariada/.gitignore
create mode 100644 integrations/maven-ariada/README.md
create mode 100644 integrations/maven-ariada/fixtures/java-webapp/index.html
create mode 100644 integrations/maven-ariada/pom.xml
create mode 100644 integrations/maven-ariada/scan-evidence/maven-evidence.png
create mode 100644 integrations/maven-ariada/scan-evidence/real-scan/multi-domain-report.json
create mode 100644 integrations/maven-ariada/scan-evidence/result.html
create mode 100755 integrations/maven-ariada/scripts/build-evidence-report.mjs
create mode 100644 integrations/maven-ariada/src/it/failing-webapp/invoker.properties
create mode 100644 integrations/maven-ariada/src/it/failing-webapp/pom.xml
create mode 100644 integrations/maven-ariada/src/it/failing-webapp/src/main/webapp/index.html
create mode 100755 integrations/maven-ariada/src/it/failing-webapp/stub-cli/ariada-stub.sh
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/AriadaScanResult.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/AriadaScanResultParser.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/CliInvocationResult.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/CliInvoker.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/ScanMojo.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/Severity.java
create mode 100644 integrations/maven-ariada/src/main/java/org/ariada/maven/StaticSiteServer.java
create mode 100644 integrations/maven-ariada/src/test/java/org/ariada/maven/AriadaScanResultParserTest.java
create mode 100644 integrations/maven-ariada/src/test/java/org/ariada/maven/SeverityTest.java
create mode 100644 integrations/maven-ariada/src/test/java/org/ariada/maven/StaticSiteServerTest.java
create mode 100644 integrations/maven-ariada/src/test/resources/multi-domain-report.json
create mode 100644 integrations/maven-ariada/src/test/resources/scan-with-violations.json
create mode 100644 integrations/mdbook-ariada/README.md
create mode 100644 integrations/mdbook-ariada/examples/book.toml
create mode 100644 integrations/mdbook-ariada/fixtures/ariada-scan.json
create mode 100644 integrations/mdbook-ariada/package.json
create mode 100644 integrations/mdbook-ariada/scan-evidence/result.html
create mode 100755 integrations/mdbook-ariada/scripts/integration-mdbook.mjs
create mode 100755 integrations/mdbook-ariada/src/index.mjs
create mode 100644 integrations/mdbook-ariada/tests/mdbook-ariada.test.mjs
create mode 100644 integrations/mkdocs-ariada/README.md
create mode 100644 integrations/mkdocs-ariada/examples/docs/docs/index.md
create mode 100644 integrations/mkdocs-ariada/examples/docs/mkdocs.yml
create mode 100644 integrations/mkdocs-ariada/mkdocs_ariada/__init__.py
create mode 100644 integrations/mkdocs-ariada/mkdocs_ariada/plugin.py
create mode 100644 integrations/mkdocs-ariada/mkdocs_ariada/scanner.py
create mode 100644 integrations/mkdocs-ariada/pyproject.toml
create mode 100644 integrations/mkdocs-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/mkdocs-ariada/scan-evidence/command.exit
create mode 100644 integrations/mkdocs-ariada/scan-evidence/result.html
create mode 100644 integrations/mkdocs-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/mkdocs-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/mkdocs-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/mkdocs-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/mkdocs-ariada/test-report/logs/build.exit
create mode 100644 integrations/mkdocs-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/mkdocs-ariada/test-report/logs/install.exit
create mode 100644 integrations/mkdocs-ariada/test-report/logs/mkdocs.exit
create mode 100644 integrations/mkdocs-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/mkdocs-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/mkdocs-ariada/test-report/result.html
create mode 100644 integrations/mkdocs-ariada/tests/test_scanner.py
create mode 100644 integrations/nextra-ariada/README.md
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/app/layout.jsx
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/app/page.mdx
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/mdx-components.js
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/next.config.mjs
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/package.json
create mode 100644 integrations/nextra-ariada/fixtures/minimal-nextra/public/missing-alt.png
create mode 100644 integrations/nextra-ariada/package.json
create mode 100644 integrations/nextra-ariada/scan-evidence/ariada-output/command.exit
create mode 100644 integrations/nextra-ariada/scan-evidence/ariada-output/command.log
create mode 100644 integrations/nextra-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/nextra-ariada/scan-evidence/result.html
create mode 100644 integrations/nextra-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/nextra-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/nextra-ariada/scan-evidence/screenshots/visual-review.txt
create mode 100644 integrations/nextra-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/nextra-ariada/src/cli.ts
create mode 100644 integrations/nextra-ariada/src/index.ts
create mode 100644 integrations/nextra-ariada/tests/e2e.test.ts
create mode 100644 integrations/nextra-ariada/tests/index.test.ts
create mode 100644 integrations/nextra-ariada/tsconfig.json
create mode 100644 integrations/nextra-ariada/vitest.config.ts
create mode 100644 integrations/nvim-ariada/README.md
create mode 100644 integrations/nvim-ariada/fixtures/bad-button.html
create mode 100644 integrations/nvim-ariada/fixtures/sample-scan.json
create mode 100644 integrations/nvim-ariada/lua/ariada/init.lua
create mode 100644 integrations/nvim-ariada/plugin/ariada.lua
create mode 100644 integrations/parcel-ariada/README.md
create mode 100644 integrations/parcel-ariada/package.json
create mode 100644 integrations/parcel-ariada/src/Reporter.ts
create mode 100644 integrations/parcel-ariada/tests/reporter.test.ts
create mode 100644 integrations/parcel-ariada/tsconfig.json
create mode 100644 integrations/parcel-ariada/vitest.config.ts
create mode 100644 integrations/payload-ariada/README.md
create mode 100644 integrations/payload-ariada/package.json
create mode 100644 integrations/payload-ariada/src/index.ts
create mode 100644 integrations/payload-ariada/tests/index.test.mjs
create mode 100644 integrations/payload-ariada/tsconfig.json
create mode 100644 integrations/pelican-ariada/README.md
create mode 100644 integrations/pelican-ariada/fixtures/pelican-site/content/article.md
create mode 100644 integrations/pelican-ariada/fixtures/pelican-site/pelicanconf.py
create mode 100644 integrations/pelican-ariada/fixtures/static-site/index.html
create mode 100644 integrations/pelican-ariada/pelican/plugins/ariada/__init__.py
create mode 100644 integrations/pelican-ariada/pelican/plugins/ariada/scanner.py
create mode 100644 integrations/pelican-ariada/pyproject.toml
create mode 100644 integrations/pelican-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/pelican-ariada/scan-evidence/command.exit
create mode 100644 integrations/pelican-ariada/scan-evidence/command.log
create mode 100644 integrations/pelican-ariada/scan-evidence/result.html
create mode 100644 integrations/pelican-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/pelican-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/pelican-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/pelican-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/pelican-ariada/scripts/run_fixture_scan.py
create mode 100644 integrations/pelican-ariada/scripts/validate_screenshot.py
create mode 100644 integrations/pelican-ariada/test-report/logs/build.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/build.log
create mode 100644 integrations/pelican-ariada/test-report/logs/cli-build.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/cli-build.log
create mode 100644 integrations/pelican-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/compileall.log
create mode 100644 integrations/pelican-ariada/test-report/logs/content-policy.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/dash-audit.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/dash-audit.log
create mode 100644 integrations/pelican-ariada/test-report/logs/evidence-report.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/evidence-report.log
create mode 100644 integrations/pelican-ariada/test-report/logs/fixture-scan.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/fixture-scan.log
create mode 100644 integrations/pelican-ariada/test-report/logs/pelican-build.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/pelican-build.log
create mode 100644 integrations/pelican-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/pytest.log
create mode 100644 integrations/pelican-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/ruff.log
create mode 100644 integrations/pelican-ariada/test-report/logs/screenshot-validate.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/screenshot-validate.log
create mode 100644 integrations/pelican-ariada/test-report/logs/screenshot.exit
create mode 100644 integrations/pelican-ariada/test-report/logs/screenshot.log
create mode 100644 integrations/pelican-ariada/test-report/result.html
create mode 100644 integrations/pelican-ariada/tests/test_plugin.py
create mode 100644 integrations/pelican-ariada/tests/test_scanner.py
create mode 100644 integrations/penpot-ariada/README.md
create mode 100644 integrations/penpot-ariada/assets/icon.svg
create mode 100644 integrations/penpot-ariada/fixtures/penpot-selection.json
create mode 100644 integrations/penpot-ariada/manifest.json
create mode 100644 integrations/penpot-ariada/package.json
create mode 100644 integrations/penpot-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/penpot-ariada/scan-evidence/command.exit
create mode 100644 integrations/penpot-ariada/scan-evidence/command.log
create mode 100644 integrations/penpot-ariada/scan-evidence/design-checks.json
create mode 100644 integrations/penpot-ariada/scan-evidence/penpot-export.html
create mode 100644 integrations/penpot-ariada/scan-evidence/plugin-panel-fixture.html
create mode 100644 integrations/penpot-ariada/scan-evidence/result.html
create mode 100644 integrations/penpot-ariada/scan-evidence/screenshots/plugin-panel.png
create mode 100644 integrations/penpot-ariada/scan-evidence/screenshots/report-opened.png
create mode 100644 integrations/penpot-ariada/scripts/build-evidence-report.mjs
create mode 100644 integrations/penpot-ariada/scripts/capture-panel-screenshot.mjs
create mode 100644 integrations/penpot-ariada/scripts/copy-plugin-assets.mjs
create mode 100644 integrations/penpot-ariada/scripts/run-fixture-scan.mjs
create mode 100644 integrations/penpot-ariada/scripts/validate-manifest.mjs
create mode 100644 integrations/penpot-ariada/src/plugin.ts
create mode 100644 integrations/penpot-ariada/src/scanner.ts
create mode 100644 integrations/penpot-ariada/src/shape-adapter.ts
create mode 100644 integrations/penpot-ariada/src/ui.html
create mode 100644 integrations/penpot-ariada/tests/shape-adapter.test.ts
create mode 100644 integrations/penpot-ariada/tsconfig.json
create mode 100644 integrations/penpot-ariada/vitest.config.ts
create mode 100644 integrations/php-laravel-ariada/README.md
create mode 100644 integrations/php-laravel-ariada/composer.json
create mode 100644 integrations/php-laravel-ariada/config/ariada.php
create mode 100644 integrations/php-laravel-ariada/fixtures/laravel-dashboard.html
create mode 100644 integrations/php-laravel-ariada/phpunit.xml.dist
create mode 100644 integrations/php-laravel-ariada/scan-evidence/_capture.html
create mode 100644 integrations/php-laravel-ariada/scan-evidence/result.html
create mode 100644 integrations/php-laravel-ariada/scan-evidence/s98-laravel-scan.png
create mode 100644 integrations/php-laravel-ariada/scripts/generate-evidence.mjs
create mode 100644 integrations/php-laravel-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/php-laravel-ariada/src/AriadaCliRunner.php
create mode 100644 integrations/php-laravel-ariada/src/AriadaScanner.php
create mode 100644 integrations/php-laravel-ariada/src/Contracts/CliRunner.php
create mode 100644 integrations/php-laravel-ariada/src/Laravel/AriadaServiceProvider.php
create mode 100644 integrations/php-laravel-ariada/src/Laravel/ScanCommand.php
create mode 100644 integrations/php-laravel-ariada/src/ScanResult.php
create mode 100644 integrations/php-laravel-ariada/test-report/result.html
create mode 100644 integrations/php-laravel-ariada/tests/Feature/ScanCommandTest.php
create mode 100644 integrations/php-laravel-ariada/tests/Unit/AriadaScannerTest.php
create mode 100644 integrations/php-laravel-ariada/tests/Unit/ScanResultTest.php
create mode 100644 integrations/precommit-ci-ariada/.pre-commit-hooks.yaml
create mode 100644 integrations/precommit-ci-ariada/README.md
create mode 100644 integrations/precommit-ci-ariada/examples/.pre-commit-config.yaml
create mode 100644 integrations/precommit-ci-ariada/fixtures/bad.html
create mode 100755 integrations/precommit-ci-ariada/scripts/ariada-precommit.sh
create mode 100644 integrations/precommit-ci-ariada/scripts/validate-hooks.mjs
create mode 100644 integrations/pytest-ariada/README.md
create mode 100644 integrations/pytest-ariada/examples/site/index.html
create mode 100644 integrations/pytest-ariada/examples/test_accessibility.py
create mode 100644 integrations/pytest-ariada/pyproject.toml
create mode 100644 integrations/pytest-ariada/pytest_ariada/__init__.py
create mode 100644 integrations/pytest-ariada/pytest_ariada/plugin.py
create mode 100644 integrations/pytest-ariada/pytest_ariada/scanner.py
create mode 100644 integrations/pytest-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/pytest-ariada/scan-evidence/command.exit
create mode 100644 integrations/pytest-ariada/scan-evidence/command.log
create mode 100644 integrations/pytest-ariada/scan-evidence/result.html
create mode 100644 integrations/pytest-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/pytest-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/pytest-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/pytest-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/pytest-ariada/test-report/logs/ariada-cli-build.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/ariada-cli-build.log
create mode 100644 integrations/pytest-ariada/test-report/logs/build.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/build.log
create mode 100644 integrations/pytest-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/compileall.log
create mode 100644 integrations/pytest-ariada/test-report/logs/evidence-report.log
create mode 100644 integrations/pytest-ariada/test-report/logs/install.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/install.log
create mode 100644 integrations/pytest-ariada/test-report/logs/pip-upgrade.log
create mode 100644 integrations/pytest-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/pytest.log
create mode 100644 integrations/pytest-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/ruff.log
create mode 100644 integrations/pytest-ariada/test-report/logs/scan.exit
create mode 100644 integrations/pytest-ariada/test-report/logs/scan.log
create mode 100644 integrations/pytest-ariada/test-report/logs/screenshot.log
create mode 100644 integrations/pytest-ariada/test-report/result.html
create mode 100644 integrations/pytest-ariada/tests/test_scanner.py
create mode 100644 integrations/rapidapi-ariada/README.md
create mode 100644 integrations/rapidapi-ariada/examples/curl.md
create mode 100644 integrations/rapidapi-ariada/examples/scan-html-request.json
create mode 100644 integrations/rapidapi-ariada/examples/scan-response.json
create mode 100644 integrations/rapidapi-ariada/examples/scan-url-request.json
create mode 100644 integrations/rapidapi-ariada/mock/server.mjs
create mode 100644 integrations/rapidapi-ariada/openapi.json
create mode 100644 integrations/rapidapi-ariada/package.json
create mode 100644 integrations/rapidapi-ariada/rapidapi-listing.json
create mode 100644 integrations/rapidapi-ariada/scan-evidence/result.html
create mode 100644 integrations/rapidapi-ariada/scan-evidence/screenshots/rapidapi-report.png
create mode 100644 integrations/rapidapi-ariada/scripts/validate-and-report.mjs
create mode 100644 integrations/rapidapi-ariada/test-report/result.html
create mode 100644 integrations/raycast-ariada/.gitignore
create mode 100644 integrations/raycast-ariada/README.md
create mode 100644 integrations/raycast-ariada/fixtures/scan-result.json
create mode 100644 integrations/raycast-ariada/package.json
create mode 100644 integrations/raycast-ariada/src/ariada.ts
create mode 100644 integrations/raycast-ariada/test/raycast.test.mjs
create mode 100644 integrations/raycast-ariada/tsconfig.json
create mode 100644 integrations/readthedocs-ariada/README.md
create mode 100644 integrations/readthedocs-ariada/examples/.readthedocs.yaml
create mode 100644 integrations/readthedocs-ariada/fixtures/_readthedocs/html/index.html
create mode 100755 integrations/readthedocs-ariada/scripts/post-build.sh
create mode 100644 integrations/readthedocs-ariada/scripts/validate-readthedocs.mjs
create mode 100644 integrations/ruby-rails-ariada/.gitignore
create mode 100644 integrations/ruby-rails-ariada/Gemfile
create mode 100644 integrations/ruby-rails-ariada/Gemfile.lock
create mode 100644 integrations/ruby-rails-ariada/README.md
create mode 100644 integrations/ruby-rails-ariada/Rakefile
create mode 100644 integrations/ruby-rails-ariada/ariada-rails.gemspec
create mode 100644 integrations/ruby-rails-ariada/examples/minimal_rails_surface/index.html
create mode 100644 integrations/ruby-rails-ariada/lib/ariada/rails.rb
create mode 100644 integrations/ruby-rails-ariada/lib/ariada/rails/configuration.rb
create mode 100644 integrations/ruby-rails-ariada/lib/ariada/rails/railtie.rb
create mode 100644 integrations/ruby-rails-ariada/lib/ariada/rails/scanner.rb
create mode 100644 integrations/ruby-rails-ariada/lib/ariada/rails/version.rb
create mode 100644 integrations/ruby-rails-ariada/lib/tasks/ariada.rake
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/command.exit
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/command.log
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/result.html
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/ruby-rails-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/ruby-rails-ariada/scripts/build_evidence_reports.rb
create mode 100644 integrations/ruby-rails-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/ruby-rails-ariada/scripts/run_fixture_scan.rb
create mode 100644 integrations/ruby-rails-ariada/spec/rake_task_spec.rb
create mode 100644 integrations/ruby-rails-ariada/spec/scanner_spec.rb
create mode 100644 integrations/ruby-rails-ariada/spec/spec_helper.rb
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/cli-deps-build.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/cli-deps-build.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/fixture-scan.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/fixture-scan.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/gem-build.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/gem-build.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/install.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/install.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/pnpm-install.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/pnpm-install.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rake-syntax.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rake-syntax.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rspec.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rspec.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/ruby-syntax.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/ruby-syntax.log
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rules-axe-deps-build.exit
create mode 100644 integrations/ruby-rails-ariada/test-report/logs/rules-axe-deps-build.log
create mode 100644 integrations/ruby-rails-ariada/test-report/result.html
create mode 100644 integrations/rust-ariada/Cargo.lock
create mode 100644 integrations/rust-ariada/Cargo.toml
create mode 100644 integrations/rust-ariada/README.md
create mode 100644 integrations/rust-ariada/fixtures/static-site/index.html
create mode 100644 integrations/rust-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/rust-ariada/scan-evidence/command.exit
create mode 100644 integrations/rust-ariada/scan-evidence/command.log
create mode 100644 integrations/rust-ariada/scan-evidence/result.html
create mode 100644 integrations/rust-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/rust-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/rust-ariada/scan-evidence/screenshots/tested-host-surface.png
create mode 100755 integrations/rust-ariada/scripts/build-reports.mjs
create mode 100644 integrations/rust-ariada/src/lib.rs
create mode 100644 integrations/rust-ariada/src/main.rs
create mode 100644 integrations/rust-ariada/test-report/result.html
create mode 100644 integrations/rust-ariada/tests/cli.rs
create mode 100644 integrations/safari-ariada/.gitignore
create mode 100644 integrations/safari-ariada/Makefile
create mode 100644 integrations/safari-ariada/README.md
create mode 100644 integrations/safari-ariada/config/safari-wrapper.json
create mode 100755 integrations/safari-ariada/scripts/convert.sh
create mode 100755 integrations/safari-ariada/scripts/validate-config.mjs
create mode 100644 integrations/sanity-ariada/README.md
create mode 100644 integrations/sanity-ariada/package.json
create mode 100644 integrations/sanity-ariada/src/index.ts
create mode 100644 integrations/sanity-ariada/tests/index.test.mjs
create mode 100644 integrations/sanity-ariada/tsconfig.json
create mode 100644 integrations/sketch-ariada/README.md
create mode 100644 integrations/sketch-ariada/ariada-accessibility-check.sketchplugin/Contents/Sketch/audit.js
create mode 100644 integrations/sketch-ariada/ariada-accessibility-check.sketchplugin/Contents/Sketch/main.js
create mode 100644 integrations/sketch-ariada/ariada-accessibility-check.sketchplugin/Contents/Sketch/manifest.json
create mode 100644 integrations/sketch-ariada/package.json
create mode 100644 integrations/sketch-ariada/scripts/validate-manifest.js
create mode 100644 integrations/sketch-ariada/tests/audit.test.js
create mode 100644 integrations/slack-ariada/.gitignore
create mode 100644 integrations/slack-ariada/README.md
create mode 100644 integrations/slack-ariada/fixtures/ci-gate-failure.json
create mode 100644 integrations/slack-ariada/fixtures/scan-result.json
create mode 100644 integrations/slack-ariada/manifest.json
create mode 100644 integrations/slack-ariada/package.json
create mode 100644 integrations/slack-ariada/scan-evidence/result.html
create mode 100644 integrations/slack-ariada/scripts/capture-screenshot.mjs
create mode 100644 integrations/slack-ariada/scripts/run-local-flow.mjs
create mode 100644 integrations/slack-ariada/src/bolt-app.ts
create mode 100644 integrations/slack-ariada/src/fixture-server.ts
create mode 100644 integrations/slack-ariada/src/index.ts
create mode 100644 integrations/slack-ariada/src/messages.ts
create mode 100644 integrations/slack-ariada/src/types.ts
create mode 100644 integrations/slack-ariada/test-report/result.html
create mode 100644 integrations/slack-ariada/test-report/slack-ariada-screenshot.png
create mode 100644 integrations/slack-ariada/test/slack.test.mjs
create mode 100644 integrations/slack-ariada/tsconfig.json
create mode 100644 integrations/sphinx-ariada/README.md
create mode 100644 integrations/sphinx-ariada/ariada_sphinx/__init__.py
create mode 100644 integrations/sphinx-ariada/ariada_sphinx/scanner.py
create mode 100644 integrations/sphinx-ariada/examples/docs/conf.py
create mode 100644 integrations/sphinx-ariada/examples/docs/index.rst
create mode 100644 integrations/sphinx-ariada/pyproject.toml
create mode 100644 integrations/sphinx-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/sphinx-ariada/scan-evidence/command.exit
create mode 100644 integrations/sphinx-ariada/scan-evidence/result.html
create mode 100644 integrations/sphinx-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/sphinx-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/sphinx-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/sphinx-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/sphinx-ariada/test-report/logs/build.exit
create mode 100644 integrations/sphinx-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/sphinx-ariada/test-report/logs/install.exit
create mode 100644 integrations/sphinx-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/sphinx-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/sphinx-ariada/test-report/logs/sphinx.exit
create mode 100644 integrations/sphinx-ariada/test-report/result.html
create mode 100644 integrations/sphinx-ariada/tests/test_scanner.py
create mode 100644 integrations/squarespace-ariada/README.md
create mode 100644 integrations/squarespace-ariada/extension.manifest.json
create mode 100644 integrations/squarespace-ariada/fixtures/extension-surface.html
create mode 100644 integrations/squarespace-ariada/fixtures/hosted-scan-request.json
create mode 100644 integrations/squarespace-ariada/fixtures/hosted-scan-response.json
create mode 100644 integrations/squarespace-ariada/scan-evidence/ariada-output/hosted-scan-request.json
create mode 100644 integrations/squarespace-ariada/scan-evidence/ariada-output/hosted-scan-response.json
create mode 100644 integrations/squarespace-ariada/scan-evidence/extension-surface.html
create mode 100644 integrations/squarespace-ariada/scan-evidence/result.html
create mode 100644 integrations/squarespace-ariada/scan-evidence/screenshots/extension-surface.png
create mode 100644 integrations/squarespace-ariada/scripts/run-local-fixture.mjs
create mode 100644 integrations/squarespace-ariada/test-report/logs/local-fixture.exit
create mode 100644 integrations/squarespace-ariada/test-report/logs/local-fixture.txt
create mode 100644 integrations/squarespace-ariada/test-report/result.html
create mode 100644 integrations/statamic-ariada/README.md
create mode 100644 integrations/statamic-ariada/composer.json
create mode 100644 integrations/statamic-ariada/package.json
create mode 100644 integrations/statamic-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/statamic-ariada/src/ServiceProvider.php
create mode 100644 integrations/strapi-ariada/README.md
create mode 100644 integrations/strapi-ariada/package.json
create mode 100644 integrations/strapi-ariada/src/index.ts
create mode 100644 integrations/strapi-ariada/tests/index.test.mjs
create mode 100644 integrations/strapi-ariada/tsconfig.json
create mode 100644 integrations/streamlit-ariada/README.md
create mode 100644 integrations/streamlit-ariada/examples/site/index.html
create mode 100644 integrations/streamlit-ariada/pyproject.toml
create mode 100644 integrations/streamlit-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/streamlit-ariada/scan-evidence/command.exit
create mode 100644 integrations/streamlit-ariada/scan-evidence/result.html
create mode 100644 integrations/streamlit-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/streamlit-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/streamlit-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/streamlit-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/streamlit-ariada/streamlit_ariada/__init__.py
create mode 100644 integrations/streamlit-ariada/streamlit_ariada/__main__.py
create mode 100644 integrations/streamlit-ariada/streamlit_ariada/cli.py
create mode 100644 integrations/streamlit-ariada/streamlit_ariada/component.py
create mode 100644 integrations/streamlit-ariada/streamlit_ariada/scanner.py
create mode 100644 integrations/streamlit-ariada/test-report/logs/build.exit
create mode 100644 integrations/streamlit-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/streamlit-ariada/test-report/logs/install.exit
create mode 100644 integrations/streamlit-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/streamlit-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/streamlit-ariada/test-report/logs/scan.exit
create mode 100644 integrations/streamlit-ariada/test-report/result.html
create mode 100644 integrations/streamlit-ariada/tests/test_scanner.py
create mode 100644 integrations/sublime-ariada/Ariada.sublime-settings
create mode 100644 integrations/sublime-ariada/Default.sublime-commands
create mode 100644 integrations/sublime-ariada/Main.sublime-menu
create mode 100644 integrations/sublime-ariada/README.md
create mode 100644 integrations/sublime-ariada/ariada_sublime.py
create mode 100644 integrations/sublime-ariada/fixtures/bad-button.html
create mode 100644 integrations/symfony-ariada/.gitignore
create mode 100644 integrations/symfony-ariada/README.md
create mode 100644 integrations/symfony-ariada/composer.json
create mode 100644 integrations/symfony-ariada/fixtures/symfony-surface.html
create mode 100644 integrations/symfony-ariada/phpunit.xml.dist
create mode 100644 integrations/symfony-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/symfony-ariada/scan-evidence/command.exit
create mode 100644 integrations/symfony-ariada/scan-evidence/command.log
create mode 100644 integrations/symfony-ariada/scan-evidence/result.html
create mode 100644 integrations/symfony-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/symfony-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/symfony-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/symfony-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/symfony-ariada/src/AriadaSymfonyBundle.php
create mode 100644 integrations/symfony-ariada/src/Command/AriadaScanCommand.php
create mode 100644 integrations/symfony-ariada/src/DependencyInjection/AriadaSymfonyExtension.php
create mode 100644 integrations/symfony-ariada/src/DependencyInjection/Configuration.php
create mode 100644 integrations/symfony-ariada/src/Scanner/AriadaCliRunner.php
create mode 100644 integrations/symfony-ariada/src/Scanner/AriadaScanner.php
create mode 100644 integrations/symfony-ariada/src/Scanner/ProcessResult.php
create mode 100644 integrations/symfony-ariada/src/Scanner/ScanOptions.php
create mode 100644 integrations/symfony-ariada/src/Scanner/ScanResult.php
create mode 100644 integrations/symfony-ariada/test-report/logs/composer-install.exit
create mode 100644 integrations/symfony-ariada/test-report/logs/composer-validate.exit
create mode 100644 integrations/symfony-ariada/test-report/logs/evidence.exit
create mode 100644 integrations/symfony-ariada/test-report/logs/phpunit.exit
create mode 100644 integrations/symfony-ariada/test-report/logs/syntax.exit
create mode 100644 integrations/symfony-ariada/test-report/result.html
create mode 100644 integrations/symfony-ariada/tests/Command/AriadaBundleKernelTest.php
create mode 100644 integrations/symfony-ariada/tests/Command/AriadaScanCommandTest.php
create mode 100644 integrations/symfony-ariada/tests/Fixtures/Kernel.php
create mode 100644 integrations/symfony-ariada/tests/Scanner/AriadaCliRunnerTest.php
create mode 100644 integrations/teams-ariada/.gitignore
create mode 100644 integrations/teams-ariada/README.md
create mode 100644 integrations/teams-ariada/fixtures/scan-result.json
create mode 100644 integrations/teams-ariada/manifest.json
create mode 100644 integrations/teams-ariada/package.json
create mode 100644 integrations/teams-ariada/src/card.ts
create mode 100644 integrations/teams-ariada/src/handler.ts
create mode 100644 integrations/teams-ariada/src/types.ts
create mode 100644 integrations/teams-ariada/test/card.test.mjs
create mode 100644 integrations/teams-ariada/tsconfig.json
create mode 100644 integrations/tox-nox-ariada/README.md
create mode 100644 integrations/tox-nox-ariada/examples/site/index.html
create mode 100644 integrations/tox-nox-ariada/pyproject.toml
create mode 100644 integrations/tox-nox-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/tox-nox-ariada/scan-evidence/command.exit
create mode 100644 integrations/tox-nox-ariada/scan-evidence/command.log
create mode 100644 integrations/tox-nox-ariada/scan-evidence/result.html
create mode 100644 integrations/tox-nox-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/tox-nox-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/tox-nox-ariada/scripts/build_evidence_reports.py
create mode 100644 integrations/tox-nox-ariada/scripts/capture_scan_screenshot.mjs
create mode 100644 integrations/tox-nox-ariada/test-report/logs/ariada-cli-build.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/ariada-cli-build.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/build.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/build.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/compileall.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/compileall.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/evidence-report.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/install.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/install.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/pip-upgrade.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/pytest.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/pytest.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/ruff.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/ruff.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/scan.exit
create mode 100644 integrations/tox-nox-ariada/test-report/logs/scan.log
create mode 100644 integrations/tox-nox-ariada/test-report/logs/screenshot.log
create mode 100644 integrations/tox-nox-ariada/test-report/result.html
create mode 100644 integrations/tox-nox-ariada/tests/test_scanner.py
create mode 100644 integrations/tox-nox-ariada/tox_nox_ariada/__init__.py
create mode 100644 integrations/tox-nox-ariada/tox_nox_ariada/__main__.py
create mode 100644 integrations/tox-nox-ariada/tox_nox_ariada/cli.py
create mode 100644 integrations/tox-nox-ariada/tox_nox_ariada/scanner.py
create mode 100644 integrations/tox-nox-ariada/tox_nox_ariada/snippets.py
create mode 100644 integrations/turbopack-ariada/README.md
create mode 100644 integrations/turbopack-ariada/package.json
create mode 100644 integrations/turbopack-ariada/src/index.ts
create mode 100644 integrations/turbopack-ariada/tests/integration.test.ts
create mode 100644 integrations/turbopack-ariada/tsconfig.json
create mode 100644 integrations/turbopack-ariada/vitest.config.ts
create mode 100644 integrations/typo3-ariada/Classes/Command/ScanCommand.php
create mode 100644 integrations/typo3-ariada/Classes/Controller/BackendModuleController.php
create mode 100644 integrations/typo3-ariada/Classes/Service/ScanRunner.php
create mode 100644 integrations/typo3-ariada/Configuration/Backend/Modules.php
create mode 100644 integrations/typo3-ariada/Configuration/Services.yaml
create mode 100644 integrations/typo3-ariada/README.md
create mode 100644 integrations/typo3-ariada/Resources/Private/Language/locallang_mod.xlf
create mode 100644 integrations/typo3-ariada/Resources/Private/Templates/Backend/Index.html
create mode 100644 integrations/typo3-ariada/SMOKE.md
create mode 100644 integrations/typo3-ariada/composer.json
create mode 100644 integrations/typo3-ariada/ext_emconf.php
create mode 100755 integrations/typo3-ariada/scripts/smoke-typo3.sh
create mode 100644 integrations/umbraco-ariada/Ariada.Umbraco.csproj
create mode 100644 integrations/umbraco-ariada/README.md
create mode 100644 integrations/umbraco-ariada/package.json
create mode 100644 integrations/umbraco-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/umbraco-ariada/src/AriadaScanService.cs
create mode 100644 integrations/uxpin-ariada/README.md
create mode 100644 integrations/uxpin-ariada/fixtures/panel/recipe-panel.html
create mode 100644 integrations/uxpin-ariada/fixtures/uxpin-export/assets/product.svg
create mode 100644 integrations/uxpin-ariada/fixtures/uxpin-export/assets/uxpin-components.css
create mode 100644 integrations/uxpin-ariada/fixtures/uxpin-export/assets/uxpin-export.json
create mode 100644 integrations/uxpin-ariada/fixtures/uxpin-export/assets/uxpin-preview.js
create mode 100644 integrations/uxpin-ariada/fixtures/uxpin-export/index.html
create mode 100644 integrations/uxpin-ariada/package.json
create mode 100644 integrations/uxpin-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/uxpin-ariada/scan-evidence/command.exit
create mode 100644 integrations/uxpin-ariada/scan-evidence/command.log
create mode 100644 integrations/uxpin-ariada/scan-evidence/result.html
create mode 100644 integrations/uxpin-ariada/scan-evidence/screenshots/extension-panel.png
create mode 100644 integrations/uxpin-ariada/schema/uxpin-ariada.config.schema.json
create mode 100644 integrations/uxpin-ariada/scripts/build-evidence-report.mjs
create mode 100644 integrations/uxpin-ariada/scripts/lint.mjs
create mode 100644 integrations/uxpin-ariada/scripts/validate-config.mjs
create mode 100644 integrations/uxpin-ariada/src/bin.ts
create mode 100644 integrations/uxpin-ariada/src/index.ts
create mode 100644 integrations/uxpin-ariada/tests/uxpin.test.mjs
create mode 100644 integrations/uxpin-ariada/tsconfig.json
create mode 100644 integrations/uxpin-ariada/uxpin-ariada.config.json
create mode 100644 integrations/vercel-ariada/README.md
create mode 100644 integrations/vercel-ariada/package.json
create mode 100644 integrations/vercel-ariada/scripts/validate-vercel.mjs
create mode 100644 integrations/vercel-ariada/src/handler.ts
create mode 100644 integrations/vercel-ariada/src/integration.ts
create mode 100644 integrations/vercel-ariada/src/signature.ts
create mode 100644 integrations/vercel-ariada/src/vercel-checks-client.ts
create mode 100644 integrations/vercel-ariada/tests/handler.test.mjs
create mode 100644 integrations/vercel-ariada/tests/integration.test.mjs
create mode 100644 integrations/vercel-ariada/tests/signature.test.mjs
create mode 100644 integrations/vercel-ariada/tests/vercel-checks-client.test.mjs
create mode 100644 integrations/vercel-ariada/tsconfig.json
create mode 100644 integrations/vercel-ariada/vercel-integration.json
create mode 100644 integrations/vitepress-ariada/README.md
create mode 100644 integrations/vitepress-ariada/fixtures/site/.vitepress/config.mts
create mode 100644 integrations/vitepress-ariada/fixtures/site/index.md
create mode 100644 integrations/vitepress-ariada/fixtures/site/public/missing-alt.svg
create mode 100644 integrations/vitepress-ariada/package.json
create mode 100644 integrations/vitepress-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/vitepress-ariada/scan-evidence/command.txt
create mode 100644 integrations/vitepress-ariada/scan-evidence/result.html
create mode 100644 integrations/vitepress-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/vitepress-ariada/scan-evidence/screenshots/vitepress-surface.png
create mode 100644 integrations/vitepress-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/vitepress-ariada/src/index.ts
create mode 100644 integrations/vitepress-ariada/tests/vitepress-ariada.test.mjs
create mode 100644 integrations/vitepress-ariada/tsconfig.json
create mode 100644 integrations/vuepress-ariada/README.md
create mode 100644 integrations/vuepress-ariada/fixtures/vuepress-site/docs/.vuepress/config.mjs
create mode 100644 integrations/vuepress-ariada/fixtures/vuepress-site/docs/README.md
create mode 100644 integrations/vuepress-ariada/package.json
create mode 100644 integrations/vuepress-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/vuepress-ariada/scan-evidence/command.exit
create mode 100644 integrations/vuepress-ariada/scan-evidence/command.log
create mode 100644 integrations/vuepress-ariada/scan-evidence/result.html
create mode 100644 integrations/vuepress-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/vuepress-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/vuepress-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/vuepress-ariada/src/index.ts
create mode 100644 integrations/vuepress-ariada/tests/plugin.test.ts
create mode 100644 integrations/vuepress-ariada/tsconfig.json
create mode 100644 integrations/vuepress-ariada/vitest.config.ts
create mode 100644 integrations/web-ide-ariada/.gitignore
create mode 100644 integrations/web-ide-ariada/README.md
create mode 100644 integrations/web-ide-ariada/fixtures/scan-result.json
create mode 100644 integrations/web-ide-ariada/package.json
create mode 100644 integrations/web-ide-ariada/scripts/validate-templates.mjs
create mode 100644 integrations/web-ide-ariada/src/run.ts
create mode 100644 integrations/web-ide-ariada/templates/package.template.json
create mode 100644 integrations/web-ide-ariada/templates/sandbox.config.json
create mode 100644 integrations/web-ide-ariada/templates/stackblitzrc.json
create mode 100644 integrations/web-ide-ariada/test/web-ide.test.mjs
create mode 100644 integrations/web-ide-ariada/tsconfig.json
create mode 100644 integrations/webflow-ariada/README.md
create mode 100644 integrations/webflow-ariada/fixture/index.html
create mode 100644 integrations/webflow-ariada/fixture/panel.js
create mode 100644 integrations/webflow-ariada/fixture/styles.css
create mode 100644 integrations/webflow-ariada/package.json
create mode 100644 integrations/webflow-ariada/scan-evidence/ariada-output/webflow-panel-report.json
create mode 100644 integrations/webflow-ariada/scan-evidence/command.exit
create mode 100644 integrations/webflow-ariada/scan-evidence/command.log
create mode 100644 integrations/webflow-ariada/scan-evidence/result.html
create mode 100644 integrations/webflow-ariada/scan-evidence/screenshots/webflow-panel.png
create mode 100644 integrations/webflow-ariada/scripts/build-evidence-reports.mjs
create mode 100644 integrations/webflow-ariada/scripts/run-local-flow.mjs
create mode 100644 integrations/webflow-ariada/scripts/serve-fixture.mjs
create mode 100644 integrations/webflow-ariada/scripts/validate-screenshot.mjs
create mode 100644 integrations/webflow-ariada/src/index.mjs
create mode 100644 integrations/webflow-ariada/test-report/logs/build.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/build.log
create mode 100644 integrations/webflow-ariada/test-report/logs/fixture-flow.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/fixture-flow.log
create mode 100644 integrations/webflow-ariada/test-report/logs/lint.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/lint.log
create mode 100644 integrations/webflow-ariada/test-report/logs/screenshot-validate.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/screenshot-validate.log
create mode 100644 integrations/webflow-ariada/test-report/logs/screenshot.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/screenshot.log
create mode 100644 integrations/webflow-ariada/test-report/logs/test.exit
create mode 100644 integrations/webflow-ariada/test-report/logs/test.log
create mode 100644 integrations/webflow-ariada/test-report/result.html
create mode 100644 integrations/webflow-ariada/tests/index.test.mjs
create mode 100644 integrations/whimsical-ariada/README.md
create mode 100644 integrations/whimsical-ariada/fixtures/whimsical-recipe.json
create mode 100644 integrations/whimsical-ariada/fixtures/wireframe-export.svg
create mode 100644 integrations/whimsical-ariada/package.json
create mode 100644 integrations/whimsical-ariada/scan-evidence/result.html
create mode 100644 integrations/whimsical-ariada/src/cli.ts
create mode 100644 integrations/whimsical-ariada/src/index.ts
create mode 100644 integrations/whimsical-ariada/tests/index.test.ts
create mode 100644 integrations/whimsical-ariada/tsconfig.json
create mode 100644 integrations/windows-pkg-ariada/README.md
create mode 100644 integrations/windows-pkg-ariada/VALIDATION.md
create mode 100644 integrations/windows-pkg-ariada/scoop/ariada.json
create mode 100644 integrations/windows-pkg-ariada/winget/manifests/a/Ariada/Ariada/0.1.0/Ariada.Ariada.installer.yaml
create mode 100644 integrations/windows-pkg-ariada/winget/manifests/a/Ariada/Ariada/0.1.0/Ariada.Ariada.locale.en-US.yaml
create mode 100644 integrations/windows-pkg-ariada/winget/manifests/a/Ariada/Ariada/0.1.0/Ariada.Ariada.yaml
create mode 100644 integrations/wix-ariada/README.md
create mode 100644 integrations/wix-ariada/fixture/index.html
create mode 100644 integrations/wix-ariada/fixture/mock-scan.json
create mode 100644 integrations/wix-ariada/fixture/styles.css
create mode 100644 integrations/wix-ariada/package.json
create mode 100644 integrations/wix-ariada/scan-evidence/browser-flow.txt
create mode 100644 integrations/wix-ariada/scan-evidence/mock-scan-response.json
create mode 100644 integrations/wix-ariada/scan-evidence/result.html
create mode 100644 integrations/wix-ariada/scan-evidence/screenshots/wix-dashboard-panel.png
create mode 100644 integrations/wix-ariada/scripts/build-evidence-report.mjs
create mode 100644 integrations/wix-ariada/scripts/mock-server.mjs
create mode 100644 integrations/wix-ariada/scripts/run-e2e.mjs
create mode 100644 integrations/wix-ariada/scripts/validate-links.mjs
create mode 100644 integrations/wix-ariada/src/adapter.js
create mode 100644 integrations/wix-ariada/test-report/logs/e2e-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/e2e-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/evidence-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/evidence-final-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/evidence-final-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/evidence-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/lint-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/lint-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/report-section-grep-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/report-section-grep-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/screenshot-validation-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/screenshot-validation-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/test-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/test-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/validate-links-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/validate-links-final-exit.txt
create mode 100644 integrations/wix-ariada/test-report/logs/validate-links-final-output.txt
create mode 100644 integrations/wix-ariada/test-report/logs/validate-links-output.txt
create mode 100644 integrations/wix-ariada/test-report/result.html
create mode 100644 integrations/wix-ariada/tests/adapter.test.js
create mode 100644 integrations/woocommerce-ariada/composer.json
create mode 100644 integrations/woocommerce-ariada/docker-compose.smoke.yml
create mode 100644 integrations/woocommerce-ariada/readme.txt
create mode 100755 integrations/woocommerce-ariada/tests/smoke.sh
create mode 100644 integrations/woocommerce-ariada/woocommerce-ariada.php
create mode 100644 integrations/wordpress-ariada/README.md
create mode 100644 integrations/wordpress-ariada/ariada-wordpress.php
create mode 100644 integrations/wordpress-ariada/composer.json
create mode 100644 integrations/wordpress-ariada/package.json
create mode 100644 integrations/wordpress-ariada/readme.txt
create mode 100644 integrations/wordpress-ariada/scripts/validate-structure.mjs
create mode 100644 integrations/xd-ariada/README.md
create mode 100644 integrations/xd-ariada/fixtures/xd-selection.json
create mode 100644 integrations/xd-ariada/manifest.json
create mode 100644 integrations/xd-ariada/package.json
create mode 100644 integrations/xd-ariada/plugin/main.js
create mode 100644 integrations/xd-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/xd-ariada/scan-evidence/command.exit
create mode 100644 integrations/xd-ariada/scan-evidence/command.log
create mode 100644 integrations/xd-ariada/scan-evidence/export/index.html
create mode 100644 integrations/xd-ariada/scan-evidence/result.html
create mode 100644 integrations/xd-ariada/scan-evidence/screenshots/xd-plugin-panel.png
create mode 100644 integrations/xd-ariada/scan-evidence/xd-plugin-panel-fixture.html
create mode 100644 integrations/xd-ariada/scripts/build-report.mjs
create mode 100644 integrations/xd-ariada/scripts/scan-export.mjs
create mode 100644 integrations/xd-ariada/scripts/validate-manifest.mjs
create mode 100644 integrations/xd-ariada/src/adapter.mjs
create mode 100644 integrations/xd-ariada/tests/adapter.test.mjs
create mode 100644 integrations/xd-ariada/tsconfig.json
create mode 100644 integrations/zed-ariada/.gitignore
create mode 100644 integrations/zed-ariada/Cargo.toml
create mode 100644 integrations/zed-ariada/LICENSES/EUPL-1.2.txt
create mode 100644 integrations/zed-ariada/README.md
create mode 100644 integrations/zed-ariada/REUSE.toml
create mode 100644 integrations/zed-ariada/extension.toml
create mode 100644 integrations/zed-ariada/src/lib.rs
create mode 100644 integrations/zeplin-ariada/README.md
create mode 100644 integrations/zeplin-ariada/dist/src/adapter.d.ts
create mode 100644 integrations/zeplin-ariada/dist/src/adapter.d.ts.map
create mode 100644 integrations/zeplin-ariada/dist/src/adapter.js
create mode 100644 integrations/zeplin-ariada/dist/src/cli.d.ts
create mode 100644 integrations/zeplin-ariada/dist/src/cli.d.ts.map
create mode 100644 integrations/zeplin-ariada/dist/src/cli.js
create mode 100644 integrations/zeplin-ariada/dist/src/index.d.ts
create mode 100644 integrations/zeplin-ariada/dist/src/index.d.ts.map
create mode 100644 integrations/zeplin-ariada/dist/src/index.js
create mode 100644 integrations/zeplin-ariada/dist/src/types.d.ts
create mode 100644 integrations/zeplin-ariada/dist/src/types.d.ts.map
create mode 100644 integrations/zeplin-ariada/dist/src/types.js
create mode 100644 integrations/zeplin-ariada/dist/tests/adapter.test.d.ts
create mode 100644 integrations/zeplin-ariada/dist/tests/adapter.test.d.ts.map
create mode 100644 integrations/zeplin-ariada/dist/tests/adapter.test.js
create mode 100644 integrations/zeplin-ariada/package.json
create mode 100644 integrations/zeplin-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/zeplin-ariada/scan-evidence/command.exit
create mode 100644 integrations/zeplin-ariada/scan-evidence/command.log
create mode 100644 integrations/zeplin-ariada/scan-evidence/result.html
create mode 100644 integrations/zeplin-ariada/scan-evidence/screenshots/zeplin-extension-panel.png
create mode 100644 integrations/zeplin-ariada/scan-evidence/zeplin-scan-target.html
create mode 100644 integrations/zeplin-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/zeplin-ariada/scripts/validate-manifest.mjs
create mode 100644 integrations/zeplin-ariada/src/adapter.ts
create mode 100644 integrations/zeplin-ariada/src/cli.ts
create mode 100644 integrations/zeplin-ariada/src/index.ts
create mode 100644 integrations/zeplin-ariada/src/types.ts
create mode 100644 integrations/zeplin-ariada/test-report/logs/scan.exit
create mode 100644 integrations/zeplin-ariada/test-report/logs/scan.log
create mode 100644 integrations/zeplin-ariada/test-report/result.html
create mode 100644 integrations/zeplin-ariada/tests/adapter.test.ts
create mode 100644 integrations/zeplin-ariada/tests/fixtures/zeplin-export.json
create mode 100644 integrations/zeplin-ariada/tsconfig.json
create mode 100644 integrations/zola-ariada/README.md
create mode 100644 integrations/zola-ariada/examples/rendered-public/index.html
create mode 100644 integrations/zola-ariada/examples/rendered-public/product.svg
create mode 100644 integrations/zola-ariada/examples/site/config.toml
create mode 100644 integrations/zola-ariada/examples/site/content/_index.md
create mode 100644 integrations/zola-ariada/examples/site/templates/index.html
create mode 100644 integrations/zola-ariada/package.json
create mode 100644 integrations/zola-ariada/scan-evidence/ariada-output/multi-domain-report.json
create mode 100644 integrations/zola-ariada/scan-evidence/command.log
create mode 100644 integrations/zola-ariada/scan-evidence/result.html
create mode 100644 integrations/zola-ariada/scan-evidence/scan-result-preview.html
create mode 100644 integrations/zola-ariada/scan-evidence/screenshots/scan-result.png
create mode 100644 integrations/zola-ariada/scripts/build-evidence.mjs
create mode 100644 integrations/zola-ariada/scripts/capture-screenshot.mjs
create mode 100644 integrations/zola-ariada/src/index.mjs
create mode 100644 integrations/zola-ariada/tests/wrapper.test.mjs
create mode 100644 packages/ariada-angular-builder/README.md
create mode 100644 packages/ariada-angular-builder/builders.json
create mode 100644 packages/ariada-angular-builder/collection.json
create mode 100644 packages/ariada-angular-builder/package.json
create mode 100644 packages/ariada-angular-builder/schema.json
create mode 100644 packages/ariada-angular-builder/src/index.ts
create mode 100644 packages/ariada-angular-builder/tests/index.test.ts
create mode 100644 packages/ariada-angular-builder/tsconfig.json
create mode 100644 packages/ariada-angular-builder/vitest.config.ts
create mode 100644 packages/ariada-babel-plugin/README.md
create mode 100644 packages/ariada-babel-plugin/package.json
create mode 100644 packages/ariada-babel-plugin/src/index.ts
create mode 100644 packages/ariada-babel-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-babel-plugin/tsconfig.json
create mode 100644 packages/ariada-babel-plugin/vitest.config.ts
create mode 100644 packages/ariada-bitbucket-pipe/Dockerfile
create mode 100644 packages/ariada-bitbucket-pipe/README.md
create mode 100644 packages/ariada-bitbucket-pipe/examples/bitbucket-pipelines.yml
create mode 100644 packages/ariada-bitbucket-pipe/package.json
create mode 100755 packages/ariada-bitbucket-pipe/pipe
create mode 100644 packages/ariada-bitbucket-pipe/pipe.yml
create mode 100644 packages/ariada-circleci-orb/README.md
create mode 100644 packages/ariada-circleci-orb/examples/config.yml
create mode 100644 packages/ariada-circleci-orb/package.json
create mode 100644 packages/ariada-circleci-orb/src/orb.yml
create mode 100644 packages/ariada-cli/src/subcommands/evidence.ts
create mode 100644 packages/ariada-cli/src/subcommands/render-evidence-html.ts
create mode 100644 packages/ariada-cli/src/subcommands/render-multi-domain-report-html.ts
create mode 100644 packages/ariada-cli/test/demo-fixture-regeneration.test.ts
create mode 100644 packages/ariada-cli/test/evidence.test.ts
create mode 100644 packages/ariada-content-policy/LICENSE
create mode 100644 packages/ariada-content-policy/README.md
create mode 100644 packages/ariada-content-policy/test/pack-regex-valid.test.ts
create mode 100644 packages/ariada-content-policy/test/publish-gate.test.ts
create mode 100644 packages/ariada-control-room/README.md
create mode 100644 packages/ariada-control-room/package.json
create mode 100644 packages/ariada-control-room/src/detail.test.ts
create mode 100644 packages/ariada-control-room/src/detail.ts
create mode 100644 packages/ariada-control-room/src/index.test.ts
create mode 100644 packages/ariada-control-room/src/index.ts
create mode 100644 packages/ariada-control-room/tsconfig.json
create mode 100644 packages/ariada-control-room/vitest.config.ts
create mode 100644 packages/ariada-docusaurus-plugin/README.md
create mode 100644 packages/ariada-docusaurus-plugin/package.json
create mode 100644 packages/ariada-docusaurus-plugin/src/index.ts
create mode 100644 packages/ariada-docusaurus-plugin/tests/index.test.ts
create mode 100644 packages/ariada-docusaurus-plugin/tsconfig.json
create mode 100644 packages/ariada-docusaurus-plugin/vitest.config.ts
create mode 100644 packages/ariada-domain-fixture/LICENSE
create mode 100644 packages/ariada-domain-fixture/README.md
create mode 100644 packages/ariada-eleventy-plugin/README.md
create mode 100644 packages/ariada-eleventy-plugin/package.json
create mode 100644 packages/ariada-eleventy-plugin/src/index.ts
create mode 100644 packages/ariada-eleventy-plugin/tests/index.test.ts
create mode 100644 packages/ariada-eleventy-plugin/tsconfig.json
create mode 100644 packages/ariada-eleventy-plugin/vitest.config.ts
create mode 100644 packages/ariada-esbuild-plugin/README.md
create mode 100644 packages/ariada-esbuild-plugin/package.json
create mode 100644 packages/ariada-esbuild-plugin/src/index.ts
create mode 100644 packages/ariada-esbuild-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-esbuild-plugin/tsconfig.json
create mode 100644 packages/ariada-esbuild-plugin/vitest.config.ts
create mode 100644 packages/ariada-figma-plugin/README.md
create mode 100644 packages/ariada-figma-plugin/manifest.json
create mode 100644 packages/ariada-figma-plugin/package.json
create mode 100644 packages/ariada-figma-plugin/scan-evidence/result.html
create mode 100644 packages/ariada-figma-plugin/scan-evidence/result.json
create mode 100644 packages/ariada-figma-plugin/scan-evidence/run-output.txt
create mode 100644 packages/ariada-figma-plugin/scan-evidence/screenshot.png
create mode 100644 packages/ariada-figma-plugin/scripts/run-fixture.mjs
create mode 100644 packages/ariada-figma-plugin/scripts/validate-evidence-links.mjs
create mode 100644 packages/ariada-figma-plugin/scripts/validate-screenshot.mjs
create mode 100644 packages/ariada-figma-plugin/src/code.ts
create mode 100644 packages/ariada-figma-plugin/src/figma-types.d.ts
create mode 100644 packages/ariada-figma-plugin/src/scanner.ts
create mode 100644 packages/ariada-figma-plugin/src/ui.html
create mode 100644 packages/ariada-figma-plugin/test-report/result.html
create mode 100644 packages/ariada-figma-plugin/test-report/result.json
create mode 100644 packages/ariada-figma-plugin/tests/fixtures/known-bad-frame.json
create mode 100644 packages/ariada-figma-plugin/tests/scanner.test.ts
create mode 100644 packages/ariada-figma-plugin/tsconfig.json
create mode 100644 packages/ariada-figma-plugin/vitest.config.ts
create mode 100644 packages/ariada-gatsby-plugin/README.md
create mode 100644 packages/ariada-gatsby-plugin/gatsby-node.js
create mode 100644 packages/ariada-gatsby-plugin/package.json
create mode 100644 packages/ariada-gatsby-plugin/src/index.ts
create mode 100644 packages/ariada-gatsby-plugin/tests/index.test.ts
create mode 100644 packages/ariada-gatsby-plugin/tsconfig.json
create mode 100644 packages/ariada-gatsby-plugin/vitest.config.ts
create mode 100644 packages/ariada-gitlab-component/README.md
create mode 100644 packages/ariada-gitlab-component/examples/component-include.yml
create mode 100644 packages/ariada-gitlab-component/package.json
create mode 100644 packages/ariada-gitlab-component/templates/ariada-diff.yml
create mode 100644 packages/ariada-jsr/LICENSE
create mode 100644 packages/ariada-jsr/NOTICE
create mode 100644 packages/ariada-jsr/README.md
create mode 100644 packages/ariada-jsr/deno.json
create mode 100644 packages/ariada-jsr/examples/consumer.ts
create mode 100644 packages/ariada-jsr/fixtures/site/index.html
create mode 100644 packages/ariada-jsr/jsr.json
create mode 100644 packages/ariada-jsr/package.json
create mode 100644 packages/ariada-jsr/scan-evidence/ariada-output/jsr-channel-evidence.json
create mode 100644 packages/ariada-jsr/scan-evidence/command.exit
create mode 100644 packages/ariada-jsr/scan-evidence/command.log
create mode 100644 packages/ariada-jsr/scan-evidence/result.html
create mode 100644 packages/ariada-jsr/scan-evidence/scan-result-preview.html
create mode 100644 packages/ariada-jsr/scan-evidence/screenshots/scan-result.png
create mode 100644 packages/ariada-jsr/scripts/build-evidence.mjs
create mode 100644 packages/ariada-jsr/scripts/validate-jsr-package.mjs
create mode 100644 packages/ariada-jsr/src/mod.ts
create mode 100644 packages/ariada-jsr/tests/mod.test.ts
create mode 100644 packages/ariada-jsr/tsconfig.json
create mode 100644 packages/ariada-jsr/vitest.config.ts
create mode 100644 packages/ariada-mcp-server/server.json
create mode 100644 packages/ariada-mcp-server/tests/registry.test.ts
create mode 100644 packages/ariada-netlify-plugin/LICENSE
create mode 100644 packages/ariada-netlify-plugin/NOTICE
create mode 100644 packages/ariada-netlify-plugin/README.md
create mode 100644 packages/ariada-netlify-plugin/manifest.yml
create mode 100644 packages/ariada-netlify-plugin/package.json
create mode 100644 packages/ariada-netlify-plugin/scripts/check-syntax.js
create mode 100644 packages/ariada-netlify-plugin/scripts/lint-no-debug.js
create mode 100644 packages/ariada-netlify-plugin/src/index.js
create mode 100644 packages/ariada-netlify-plugin/test/index.test.js
create mode 100644 packages/ariada-nextjs-plugin/README.md
create mode 100644 packages/ariada-nextjs-plugin/package.json
create mode 100644 packages/ariada-nextjs-plugin/src/index.ts
create mode 100644 packages/ariada-nextjs-plugin/tests/index.test.ts
create mode 100644 packages/ariada-nextjs-plugin/tsconfig.json
create mode 100644 packages/ariada-nextjs-plugin/vitest.config.ts
create mode 100644 packages/ariada-nuxt-module/README.md
create mode 100644 packages/ariada-nuxt-module/package.json
create mode 100644 packages/ariada-nuxt-module/src/index.ts
create mode 100644 packages/ariada-nuxt-module/tests/index.test.ts
create mode 100644 packages/ariada-nuxt-module/tsconfig.json
create mode 100644 packages/ariada-nuxt-module/vitest.config.ts
create mode 100644 packages/ariada-postcss-plugin/README.md
create mode 100644 packages/ariada-postcss-plugin/package.json
create mode 100644 packages/ariada-postcss-plugin/src/index.ts
create mode 100644 packages/ariada-postcss-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-postcss-plugin/tsconfig.json
create mode 100644 packages/ariada-postcss-plugin/vitest.config.ts
create mode 100644 packages/ariada-precommit/.pre-commit-hooks.yaml
create mode 100644 packages/ariada-precommit/LICENSE
create mode 100644 packages/ariada-precommit/NOTICE
create mode 100644 packages/ariada-precommit/README.md
create mode 100644 packages/ariada-precommit/package.json
create mode 100644 packages/ariada-precommit/src/bin.ts
create mode 100644 packages/ariada-precommit/src/index.cts
create mode 100644 packages/ariada-precommit/src/index.ts
create mode 100644 packages/ariada-precommit/tests/fixtures/bad.html
create mode 100644 packages/ariada-precommit/tests/precommit.test.ts
create mode 100644 packages/ariada-precommit/tsconfig.json
create mode 100644 packages/ariada-precommit/vitest.config.ts
create mode 100644 packages/ariada-qwik-plugin/README.md
create mode 100644 packages/ariada-qwik-plugin/package.json
create mode 100644 packages/ariada-qwik-plugin/src/index.ts
create mode 100644 packages/ariada-qwik-plugin/tests/index.test.ts
create mode 100644 packages/ariada-qwik-plugin/tsconfig.json
create mode 100644 packages/ariada-qwik-plugin/vitest.config.ts
create mode 100644 packages/ariada-remix-plugin/README.md
create mode 100644 packages/ariada-remix-plugin/package.json
create mode 100644 packages/ariada-remix-plugin/src/index.ts
create mode 100644 packages/ariada-remix-plugin/tests/index.test.ts
create mode 100644 packages/ariada-remix-plugin/tsconfig.json
create mode 100644 packages/ariada-remix-plugin/vitest.config.ts
create mode 100644 packages/ariada-rollup-plugin/README.md
create mode 100644 packages/ariada-rollup-plugin/package.json
create mode 100644 packages/ariada-rollup-plugin/src/index.ts
create mode 100644 packages/ariada-rollup-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-rollup-plugin/tsconfig.json
create mode 100644 packages/ariada-rollup-plugin/vitest.config.ts
create mode 100644 packages/ariada-solidstart-plugin/README.md
create mode 100644 packages/ariada-solidstart-plugin/package.json
create mode 100644 packages/ariada-solidstart-plugin/src/index.ts
create mode 100644 packages/ariada-solidstart-plugin/tests/index.test.ts
create mode 100644 packages/ariada-solidstart-plugin/tsconfig.json
create mode 100644 packages/ariada-solidstart-plugin/vitest.config.ts
create mode 100644 packages/ariada-sveltekit-plugin/README.md
create mode 100644 packages/ariada-sveltekit-plugin/package.json
create mode 100644 packages/ariada-sveltekit-plugin/src/index.ts
create mode 100644 packages/ariada-sveltekit-plugin/tests/index.test.ts
create mode 100644 packages/ariada-sveltekit-plugin/tsconfig.json
create mode 100644 packages/ariada-sveltekit-plugin/vitest.config.ts
create mode 100644 packages/ariada-swc-plugin/README.md
create mode 100644 packages/ariada-swc-plugin/package.json
create mode 100644 packages/ariada-swc-plugin/src/index.ts
create mode 100644 packages/ariada-swc-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-swc-plugin/tsconfig.json
create mode 100644 packages/ariada-swc-plugin/vitest.config.ts
create mode 100644 packages/ariada-webpack-plugin/README.md
create mode 100644 packages/ariada-webpack-plugin/package.json
create mode 100644 packages/ariada-webpack-plugin/src/index.ts
create mode 100644 packages/ariada-webpack-plugin/tests/plugin.test.ts
create mode 100644 packages/ariada-webpack-plugin/tsconfig.json
create mode 100644 packages/ariada-webpack-plugin/vitest.config.ts
create mode 100644 packages/blamer-api-client/LICENSE
create mode 100644 packages/blamer-api-client/NOTICE
create mode 100644 packages/blamer-api-client/README.md
create mode 100644 packages/blamer-github-app/src/webhook.ts
create mode 100644 packages/blamer-github-app/tests/webhook.test.ts
create mode 100644 packages/blamer-vercel-integration/src/webhook.ts
create mode 100644 packages/blamer-vercel-integration/tests/webhook.test.ts
create mode 100644 packages/blamer-vercel-integration/vitest.config.ts
create mode 100644 packages/cypress-ariada/README.md
create mode 100644 packages/cypress-ariada/cypress.config.ts
create mode 100644 packages/cypress-ariada/cypress/e2e/ariada-scan.cy.ts
create mode 100644 packages/cypress-ariada/cypress/fixtures/bad.html
create mode 100644 packages/cypress-ariada/cypress/support/e2e.ts
create mode 100644 packages/cypress-ariada/package.json
create mode 100644 packages/cypress-ariada/scan-evidence/result.html
create mode 100644 packages/cypress-ariada/src/commands.ts
create mode 100644 packages/cypress-ariada/src/index.ts
create mode 100644 packages/cypress-ariada/src/plugin.ts
create mode 100644 packages/cypress-ariada/src/scan-adapter.ts
create mode 100644 packages/cypress-ariada/src/types.ts
create mode 100644 packages/cypress-ariada/tests/commands.test.ts
create mode 100644 packages/cypress-ariada/tests/evidence/generate-result.mjs
create mode 100644 packages/cypress-ariada/tests/scan-adapter.test.ts
create mode 100644 packages/cypress-ariada/tsconfig.json
create mode 100644 packages/cypress-ariada/vitest.config.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/LICENSE
create mode 100644 packages/eslint-plugin-ariada-a11y/NOTICE
create mode 100644 packages/eslint-plugin-ariada-a11y/README.md
create mode 100644 packages/eslint-plugin-ariada-a11y/package.json
create mode 100644 packages/eslint-plugin-ariada-a11y/src/ast.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/index.cts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/index.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/rules/heading-order.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/rules/html-has-lang.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/rules/img-alt.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/src/rules/label-has-associated-control.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/tests/fixtures/bad.jsx
create mode 100644 packages/eslint-plugin-ariada-a11y/tests/fixtures/good.jsx
create mode 100644 packages/eslint-plugin-ariada-a11y/tests/plugin.test.ts
create mode 100644 packages/eslint-plugin-ariada-a11y/tsconfig.json
create mode 100644 packages/eslint-plugin-ariada-a11y/vitest.config.ts
create mode 100644 packages/scan-report-html/src/multi-domain.ts
create mode 100644 packages/surface-browser/LICENSE
create mode 100644 packages/surface-browser/LICENSES/CC0-1.0.txt
create mode 100644 packages/surface-browser/LICENSES/EUPL-1.2.txt
create mode 100644 packages/surface-browser/NOTICE
create mode 100644 packages/surface-browser/README.md
create mode 100644 packages/surface-browser/SECURITY.md
create mode 100644 packages/url-guard/LICENSE
create mode 100644 packages/url-guard/README.md
create mode 100644 packages/url-guard/package.json
create mode 100644 packages/url-guard/src/index.test.ts
create mode 100644 packages/url-guard/src/index.ts
create mode 100644 packages/url-guard/src/ranges.test.ts
create mode 100644 packages/url-guard/src/ranges.ts
create mode 100644 packages/url-guard/tsconfig.json
create mode 100644 packages/url-guard/vitest.config.ts
diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml
index b83eed96..b79f92b8 100644
--- a/.github/workflows/actionlint.yml
+++ b/.github/workflows/actionlint.yml
@@ -50,3 +50,10 @@ jobs:
bash download-actionlint.bash
./actionlint -color
shell: bash
+
+ - name: Check actions are SHA-pinned
+ # Fail if any workflow step uses a mutable action ref (a branch like
+ # @main or a tag like @v4) instead of a full commit SHA, so a repointed
+ # upstream tag cannot silently run new code in CI.
+ run: bash scripts/check-action-pinning.sh
+ shell: bash
diff --git a/.github/workflows/catalog-drift.yml b/.github/workflows/catalog-drift.yml
new file mode 100644
index 00000000..77bd85a0
--- /dev/null
+++ b/.github/workflows/catalog-drift.yml
@@ -0,0 +1,42 @@
+name: Catalog drift
+
+# Fails when the module catalog in README.md or the npm-version region in
+# DELIVERY_HUB.html has drifted from the real package.json + npm state.
+# Run `node scripts/ariada-bus-catalog.mjs --fix` locally to reconcile.
+
+on:
+ pull_request:
+ branches: [main]
+ paths:
+ - 'packages/**/package.json'
+ - 'README.md'
+ - 'strategy/dashboards/DELIVERY_HUB.html'
+ - 'scripts/ariada-bus-catalog.mjs'
+ - '.github/workflows/catalog-drift.yml'
+
+permissions:
+ contents: read
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ check:
+ name: Module-catalog reconciled
+ runs-on: ubuntu-22.04
+ permissions:
+ contents: read
+ steps:
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
+
+ - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ with:
+ node-version: '22'
+
+ # Read-only reconciler check — computes drift, writes nothing. Safe on
+ # untrusted PR builds (the fix mode, which rewrites source, never runs in
+ # CI). npm registry is queried live; transient failures degrade a single
+ # package to "source-only" rather than crashing the gate.
+ - name: Check module-catalog drift
+ run: node scripts/ariada-bus-catalog.mjs --check
diff --git a/.github/workflows/content-gate.yml b/.github/workflows/content-gate.yml
index 87e0bb48..ce0bdb5c 100644
--- a/.github/workflows/content-gate.yml
+++ b/.github/workflows/content-gate.yml
@@ -34,7 +34,7 @@ jobs:
# gate's signatures + oracle (the detector must not flag itself).
files=$(git diff --name-only --diff-filter=ACM "$base"...HEAD \
| grep -E '\.(md|mdx|ts|tsx|astro|json|yml|yaml|html|css|sh)$' \
- | grep -vE '/dist/|/node_modules/|pnpm-lock\.yaml|packages/ariada-content-policy/(src/rule-packs|test)/|scan-evidence/|test-report/' \
+ | grep -vE '/dist/|/node_modules/|pnpm-lock\.yaml|packages/ariada-content-policy/(src/rule-packs|test)/|scan-evidence/|test-report/|integrations/mkdocs-ariada/examples/|integrations/rapidapi-ariada/examples/curl|integrations/zeplin-ariada/src/cli|packages/ariada-content-policy/README' \
| tr '\n' ' ')
echo "files=$files" >> "$GITHUB_OUTPUT"
echo "Scanning: ${files:-}"
diff --git a/.github/workflows/eaa-diff.yml b/.github/workflows/eaa-diff.yml
index b58bfe86..78f5a4aa 100644
--- a/.github/workflows/eaa-diff.yml
+++ b/.github/workflows/eaa-diff.yml
@@ -281,7 +281,7 @@ jobs:
# -----------------------------------------------------------------------
- name: Run differential gate
id: diff
- uses: ariada-org/ariada/packages/ariada-diff-action@main
+ uses: ariada-org/ariada/packages/ariada-diff-action@fbf190769af2eb0a5796040e947ba1b134ad8d1e # v0.1.0
with:
head-scan: ${{ steps.resolve.outputs.head-scan }}
base-scan: ${{ steps.resolve.outputs.base-scan }}
diff --git a/.github/workflows/eaa-vercel-diff.yml b/.github/workflows/eaa-vercel-diff.yml
index 00ebf448..95849798 100644
--- a/.github/workflows/eaa-vercel-diff.yml
+++ b/.github/workflows/eaa-vercel-diff.yml
@@ -254,7 +254,7 @@ jobs:
# -----------------------------------------------------------------------
- name: Run differential gate
id: diff
- uses: ariada-org/ariada/packages/ariada-diff-action@main
+ uses: ariada-org/ariada/packages/ariada-diff-action@fbf190769af2eb0a5796040e947ba1b134ad8d1e # v0.1.0
with:
head-scan: ${{ steps.resolve.outputs.head-scan }}
base-scan: ${{ steps.resolve.outputs.base-scan }}
diff --git a/.github/workflows/gitleaks.yml b/.github/workflows/gitleaks.yml
index 6142145b..8fb9c764 100644
--- a/.github/workflows/gitleaks.yml
+++ b/.github/workflows/gitleaks.yml
@@ -34,7 +34,9 @@ jobs:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
- fetch-depth: 0 # full history for the scheduled scan
+ # Shallow clone for push/PR (only current code matters).
+ # Full history for the weekly schedule scan.
+ fetch-depth: ${{ github.event_name == 'schedule' && 0 || 1 }}
persist-credentials: false
- name: Download gitleaks
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 8d70b3ec..86604b9e 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -7,6 +7,10 @@ on:
push:
branches: [main]
+concurrency:
+ group: scorecard-${{ github.ref }}
+ cancel-in-progress: true
+
permissions:
contents: read
@@ -15,14 +19,13 @@ jobs:
name: Scorecard analysis
runs-on: ubuntu-22.04
permissions:
- security-events: write
- id-token: write
- contents: read
- actions: read
- # Scorecard uses these read scopes to inspect review/check metadata.
- issues: read
- pull-requests: read
- checks: read
+ security-events: write # Upload Scorecard SARIF to code scanning.
+ id-token: write # Publish signed Scorecard results.
+ contents: read # Read repository contents.
+ actions: read # Inspect workflow metadata for Scorecard checks.
+ issues: read # Inspect issue activity for maintenance signals.
+ pull-requests: read # Inspect PR review metadata.
+ checks: read # Inspect check-run metadata.
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
diff --git a/.gitignore b/.gitignore
index 98be6343..9bb46f9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,6 +65,11 @@ research/output/phase4bd_cache/
# agent worktrees — local-only scratch dirs for background agents
.claude/worktrees/
+.worktrees/
+
+# legacy research scratch (saved web pages, old docx/pdf reports) — removed
+# from the index; kept on disk locally, never tracked or public-bound
+archive/
# Claude Code orchestrator local state (cron jobs, runtime locks)
.claude/scheduled_tasks.json
@@ -118,3 +123,8 @@ patentomania/nats-data/
var/build-evidence/
__pycache__/
var/
+
+# Codex per-machine config (contains API keys — never commit)
+.codex/config.toml
+.codex/auth.json
+.ariada/
diff --git a/.gitleaks.toml b/.gitleaks.toml
index 159479fa..ede603c5 100644
--- a/.gitleaks.toml
+++ b/.gitleaks.toml
@@ -15,8 +15,17 @@ title = "ariada gitleaks config"
useDefault = true
[allowlist]
-description = "Allow synthetic secret-shaped fixtures used by detector tests"
+description = "Allow synthetic secret-shaped fixtures and research/patent/strategy data"
paths = [
'''packages/ariada-content-policy/test/.*''',
'''packages/ariada-content-policy/src/rule-packs/.*''',
+ # Research datasets, patent drafts, strategy docs — contain example tokens
+ # and synthetic strings used as prior-art evidence, not real credentials.
+ '''research/.*''',
+ '''patents/.*''',
+ '''strategy/.*''',
+ '''docs/internal/.*''',
+ '''data/.*''',
+ # Large binary/data files that trigger false positives
+ '''research/poc/.*/datasets/.*\.jsonl$''',
]
diff --git a/.husky/commit-msg b/.husky/commit-msg
index b147a8bf..5fc82582 100755
--- a/.husky/commit-msg
+++ b/.husky/commit-msg
@@ -1,2 +1,11 @@
#!/usr/bin/env sh
pnpm exec commitlint --edit "$1"
+
+# Optional operator-side body guard — runs only on operator clones where the
+# guard script exists; outside clones (without the script) skip silently.
+# commit-msg receives the message file path as $1, guaranteed to exist by
+# git (unlike pre-commit, which fires before COMMIT_EDITMSG is written) —
+# see .husky/pre-commit for why this check lives here and not there.
+if [ -f scripts/check-retro-review-body.sh ]; then
+ bash scripts/check-retro-review-body.sh "$1"
+fi
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 831a8114..49d8d5fa 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -80,9 +80,9 @@ if [ "${ALLOW_FAST_COMMITS:-0}" != "1" ] && [ -f scripts/check-author-date-spaci
bash scripts/check-author-date-spacing.sh || exit 1
fi
-# Optional operator-side body guard — runs only on operator clones where the
-# guard script exists; outside clones (without the script) skip silently. When
-# the script does run, its non-zero exit propagates and aborts the commit.
-if [ -f scripts/check-retro-review-body.sh ]; then
- bash scripts/check-retro-review-body.sh .git/COMMIT_EDITMSG
-fi
+# The operator-side body guard (scripts/check-retro-review-body.sh) has moved
+# to .husky/commit-msg. git does not write COMMIT_EDITMSG until after
+# pre-commit succeeds, so a pre-commit-stage read of that file always missed
+# (worktree path resolution aside — the file plain doesn't exist yet here).
+# The commit-msg hook receives the message file path as $1, guaranteed to
+# exist, which is the correct place for this check.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index fad25c54..1923c39f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -172,6 +172,15 @@ The `commit-msg` Husky hook runs `commitlint` and rejects malformed messages.
---
+## Branch model
+
+- **`main`** is the protected, released trunk. It requires a passing CI run and
+ one approving review; force-pushes and deletions are disabled.
+- **`staging`** is a transient integration branch used only to attach the CI
+ status checks to a commit before it advances onto `main`. It is force-updated
+ as commits move through the release process and is **not** a branch you should
+ branch from or open pull requests against — always target `main`.
+
## Pull-request process
1. **Fork** the repo and create a feature branch:
diff --git a/LICENSES/CC-BY-4.0.txt b/LICENSES/CC-BY-4.0.txt
new file mode 100644
index 00000000..13ca539f
--- /dev/null
+++ b/LICENSES/CC-BY-4.0.txt
@@ -0,0 +1,156 @@
+Creative Commons Attribution 4.0 International
+
+ Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt
new file mode 100644
index 00000000..17cb2864
--- /dev/null
+++ b/LICENSES/GPL-2.0-or-later.txt
@@ -0,0 +1,117 @@
+GNU GENERAL PUBLIC LICENSE
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+ one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
+
+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
diff --git a/README.md b/README.md
index f7d79884..3e7e9b2c 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ The reusable workflow at `ariada-org/ariada/.github/workflows/eaa-audit.yml` tha
**Wired today** (verifiable on this repo at the time you are reading): reusable `eaa-audit.yml` workflow + `dogfood-self-scan.yml` weekly cron + `scripts/self-cert-ariada-org.mjs` static-DOM scanner producing timestamped Markdown + JSON artefacts under `audits/self-cert/` + accessibility statement template at `ariada.org/accessibility/` consuming those artefacts with honest disclosure of detected items.
-**Not yet wired** (milestone-1 path): tightening `fail-on` from `critical` to `serious,critical` and wiring as PR-blocking gate; first publish of `@ariada-org/wcag-rules-extended` to npm (the dogfood workflow currently builds the rule pack from the local workspace); automatic accessibility-statement regeneration on each rule-pack version bump.
+**Not yet wired** (milestone-1 path): tightening `fail-on` from `critical` to `serious,critical` and wiring as PR-blocking gate; switching the dogfood workflow to install the published `@ariada-org/wcag-rules-extended` from npm instead of building the rule pack from the local workspace; automatic accessibility-statement regeneration on each rule-pack version bump.
**Multi-domain extension** (milestone-2 path): the `@ariada-org/multi-domain` package today is a **single-jurisdiction reference orchestrator** plus a published `JurisdictionPlugin` extension contract. Multi-jurisdiction execution in a single pass, and community-authored plugins for Canadian AODA + Japanese JIS X 8341-3, are explicit roadmap items in that package's README.
@@ -145,7 +145,7 @@ Each stop is one package. You can stop at any stop. The rule pack alone is a use
| OSS contributor | `packages/core-engine` + `packages/core-browser` + `packages/core-playwright` plus the six commodity-outer surfaces (`ai-authorship`, `haes`, `multi-domain`, `anti-overlay`, `scan-report-html`, `vpat-html-renderer`) | Inspect, fork, upstream, or repackage the full scanner runtime. EUPL-1.2 narrow Article 2 patent peace attaches to the published OSS implementation. |
| Researcher | AI-authorship attribution methodology spec + arXiv preprint (planned); HAES (Hash-Anchored Evidence Store) schema for AI Act article 50 disclosure; Pope-Tech-style WebAIM analog (planned) | Reference specs, append-only ledger schema, scan-result corpus. Citation-ready under CC-BY-4.0 for prose, EUPL-1.2 for code. |
-OSS maintainers and downstream packagers: check stars, commit activity, the package-level [LICENSE](./LICENSE) files, [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md), and the REUSE-compliant per-file SPDX headers. Security researchers: read [SECURITY.md](./SECURITY.md) for the disclosure window — reports to `security@ariada.org` (PGP fingerprint in `SECURITY.md`). Grant evaluators: the diagram above is the same one in our NLnet Stage-2 proposal, every numbered stop maps one-to-one to a funded deliverable.
+OSS maintainers and downstream packagers: check stars, commit activity, the package-level [LICENSE](./LICENSE) files, [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md), and the REUSE-compliant per-file SPDX headers. Security researchers: read [SECURITY.md](./SECURITY.md) for the disclosure window — reports to `security@ariada.org` (PGP fingerprint in `SECURITY.md`). Grant evaluators: the diagram above is the same one in our NLnet Commons application, every numbered stop maps one-to-one to a planned deliverable.
---
@@ -189,6 +189,76 @@ Writes `vpat-2.5-int.html`, `en-301-549.json`, `statement.md`, `penalty-estimate
## Packages
+
+
+### Module catalog
+
+72 packages in the tree (58 publish-eligible, 21 published to npm, 37 source-only). This table is generated from each package.json plus the live npm registry — it cannot go stale by hand.
+
+| Package | Published (npm) | What it does |
+|---|---|---|
+| [`@ariada-org/ai-authorship`](./packages/ariada-ai-authorship#readme) | `0.1.0` | AI authorship attribution — per-finding classifier for source code hunks. Multi-signal ensemble (lexical entropy + AST shape + naming cadence + edit-history rhythm) with calibrated posteriors. EU AI Act Article 50 transparency commodity surface. Open source under EUPL-1.2. |
+| [`@ariada-org/angular-builder`](./packages/ariada-angular-builder#readme) | source-only | Angular CLI builder and schematic helpers for scanning build output with Ariada. |
+| [`@ariada-org/anti-overlay`](./packages/ariada-anti-overlay#readme) | `0.1.0` | Detection + machine-readable reporting of third-party accessibility-overlay widgets with verbatim citation of W3C-WAI and OverlayFactsheet community positions. Detection only — non-judgement-prescriptive. Open source under EUPL-1.2. |
+| [`@ariada-org/ariada-jsr`](./packages/ariada-jsr#readme) | source-only | JSR-facing TypeScript adapter that builds shared @ariada-org/cli scanner commands for Deno and TS-first consumers. |
+| [`@ariada-org/ariada-precommit`](./packages/ariada-precommit#readme) | source-only | pre-commit and Husky wrapper for running ariada accessibility gates on staged HTML and template files. |
+| [`@ariada-org/astro`](./packages/ariada-astro#readme) | source-only | Astro integration that scans built HTML with Ariada and writes accessibility reports at build completion. |
+| [`@ariada-org/babel-plugin`](./packages/ariada-babel-plugin#readme) | source-only | Babel plugin adapter for source-visible Ariada JSX accessibility checks. |
+| [`@ariada-org/blamer-api-client`](./packages/blamer-api-client#readme) | source-only | Typed HTTP client for the differential attribution API. Wraps @ariada-org/ai-authorship types. Usable standalone in any pipeline that needs AI-versus-human authorship analysis of code diffs. |
+| [`@ariada-org/brand-tokens`](./packages/ariada-brand-tokens#readme) | `0.1.0` | Ariadne's Thread design tokens (CSS-only) — typography, spacing, radius, colour ramps. MIT-licensed for permissive downstream reuse. Logo files NOT included (trademark-restricted). |
+| [`@ariada-org/bus`](./packages/ariada-bus#readme) | source-only | Typed check/fix reconciliation primitives for Ariada facts. |
+| [`@ariada-org/cli`](./packages/ariada-cli#readme) | `0.1.0` | Single-binary command-line runner for the ariada OSS accessibility scanner pipeline — scan URLs, list rules, emit reports. Open source under EUPL-1.2. |
+| [`@ariada-org/content-policy`](./packages/ariada-content-policy#readme) | source-only | Composable content-policy gate — evaluate text against rule-pack profiles per publish surface, emitting a GateDecision verdict. Open source under EUPL-1.2. |
+| [`@ariada-org/core`](./packages/core#readme) | source-only | Backwards-compat shim — re-exports @ariada-org/core-engine + @ariada-org/core-playwright. New code should import the engine and an adapter directly. |
+| [`@ariada-org/core-browser`](./packages/core-browser#readme) | `0.1.0` | In-browser DOM adapter for @ariada-org/core-engine — used by the ariada Chrome extension to scan the live document without Node or Playwright. |
+| [`@ariada-org/core-engine`](./packages/core-engine#readme) | `0.1.0` | Pure-runtime ariada scanner engine — analyzer fan-out, ScanEvent emission, scoring, fingerprinting, registry, cross-domain detection. No Node, browser, or Playwright deps. |
+| [`@ariada-org/core-playwright`](./packages/core-playwright#readme) | `0.1.0` | Node + Playwright adapter for @ariada-org/core-engine — browser launch, CDP snapshot, captureSnapshot, and the canonical scan() entry point. |
+| [`@ariada-org/cypress-ariada`](./packages/cypress-ariada#readme) | source-only | Cypress custom command and Node task for running Ariada accessibility scans from Cypress suites. |
+| [`@ariada-org/diff-action`](./packages/ariada-diff-action#readme) | `0.1.0` | Composite GitHub Action wrapper for the differential accessibility CI gate. Open source under EUPL-1.2. |
+| [`@ariada-org/diff-schema`](./packages/ariada-diff-schema#readme) | `0.1.0` | Differential accessibility CI gate — finding fingerprint, selector normalisation, DiffResult, BaselinePolicy and GateDecision schemas with reference validators. Open source under EUPL-1.2. |
+| [`@ariada-org/diff-stub`](./packages/ariada-diff-stub#readme) | `0.1.0` | Equality-only OSS reference classifier for the differential accessibility CI gate. NOT canonical — does not emit near-duplicate matches. Open source under EUPL-1.2. |
+| [`@ariada-org/docusaurus-plugin`](./packages/ariada-docusaurus-plugin#readme) | source-only | Docusaurus plugin that scans static build output with Ariada. |
+| [`@ariada-org/dracula-agent`](./packages/dracula-agent#readme) | source-only | Rive + GSAP Dracula character layer for draculascan. Plugs into ScanProgress.characterSlot. |
+| [`@ariada-org/eleventy-plugin`](./packages/ariada-eleventy-plugin#readme) | source-only | Eleventy plugin that scans generated site output with Ariada. |
+| [`@ariada-org/embed-badge`](./packages/embed-badge#readme) | source-only | Web Component — shared bundle, brand via data-theme attribute. Shadow-DOM isolated. |
+| [`@ariada-org/esbuild-plugin`](./packages/ariada-esbuild-plugin#readme) | source-only | esbuild plugin that scans emitted HTML with Ariada accessibility checks. |
+| [`@ariada-org/eslint-plugin-a11y`](./packages/eslint-plugin-ariada-a11y#readme) | source-only | ESLint 9 flat-config plugin for source-detectable ariada accessibility checks. |
+| [`@ariada-org/evidence-emitter`](./packages/ariada-evidence-emitter#readme) | `0.1.0` | EAA / WCAG compliance evidence emitters — VPAT 2.5, EN 301 549 §11, Swedish DOS-lagen. Open source under EUPL-1.2. |
+| [`@ariada-org/figma-plugin`](./packages/ariada-figma-plugin#readme) | source-only | Figma plugin for local Ariada design accessibility checks. |
+| [`@ariada-org/gatsby-plugin`](./packages/ariada-gatsby-plugin#readme) | source-only | Gatsby plugin that scans public build output with Ariada accessibility checks. |
+| [`@ariada-org/haes`](./packages/ariada-haes#readme) | `0.1.0` | Hash-anchored Evidence Stream — tamper-evident append-only ledger for AI-artifact transparency under EU Regulation 2024/1689 Article 50. Schema + reference client + Merkle anchor primitives. Open source under EUPL-1.2. |
+| [`@ariada-org/mcp-server`](./packages/ariada-mcp-server#readme) | `0.1.0` | Model Context Protocol (MCP) server exposing the ariada OSS accessibility scanner pipeline as discoverable tools for AI coding assistants. Open source under EUPL-1.2. |
+| [`@ariada-org/multi-domain`](./packages/ariada-multi-domain#readme) | `0.1.0` | Single-jurisdiction accessibility-scan reference implementation plus extension API for community-authored jurisdiction rule packs. Open source under EUPL-1.2. |
+| [`@ariada-org/netlify-plugin`](./packages/ariada-netlify-plugin#readme) | source-only | Netlify Build Plugin that scans the published site with the ariada accessibility CLI after build. |
+| [`@ariada-org/nextjs-plugin`](./packages/ariada-nextjs-plugin#readme) | source-only | Next.js integration that scans exported or built HTML with Ariada accessibility checks. |
+| [`@ariada-org/nuxt-module`](./packages/ariada-nuxt-module#readme) | source-only | Nuxt module that scans generated output with Ariada accessibility checks. |
+| [`@ariada-org/penalty-estimator`](./packages/ariada-penalty-estimator#readme) | `0.1.0` | EAA / national-law penalty exposure estimator — per-jurisdiction administrative-fine rate-cards (SE/NO/DK/FI/DE/FR/NL/AT/CH/UK/EU). Open source under EUPL-1.2. |
+| [`@ariada-org/postcss-plugin`](./packages/ariada-postcss-plugin#readme) | source-only | PostCSS 8 plugin adapter for Ariada CSS-domain accessibility checks. |
+| [`@ariada-org/qwik-plugin`](./packages/ariada-qwik-plugin#readme) | source-only | Qwik City Vite plugin wrapper that scans generated output with Ariada. |
+| [`@ariada-org/remix-plugin`](./packages/ariada-remix-plugin#readme) | source-only | Remix and React Router framework Vite plugin wrapper for Ariada scans. |
+| [`@ariada-org/rollup-plugin`](./packages/ariada-rollup-plugin#readme) | source-only | Rollup plugin that scans emitted HTML with Ariada accessibility checks. |
+| [`@ariada-org/rules-axe`](./packages/rules-axe#readme) | source-only | axe-core-powered a11y DomainAnalyzer for @ariada-org/core |
+| [`@ariada-org/scan-backend`](./packages/scan-backend#readme) | source-only | Runtime-agnostic Hono router factory + schemas + auth + scoring helpers. Consumed by services/backend (Node) and previously by CF Workers (now removed). Patent J/H bindings. |
+| [`@ariada-org/scan-flow-ui`](./packages/scan-flow-ui#readme) | source-only | Brand-themed React components shared by ariada-web and draculascan: URLInput, ScanProgress, Scorecard, ShareButtons, CrossSellCTAs. |
+| [`@ariada-org/scan-report-html`](./packages/scan-report-html#readme) | `0.1.0` | Renders machine-readable accessibility scan artefacts into a single self-contained human-readable HTML report. Closes the gap between scan-results.json and what an auditor / developer / compliance officer can actually read. |
+| [`@ariada-org/solidstart-plugin`](./packages/ariada-solidstart-plugin#readme) | source-only | SolidStart Vite plugin wrapper that scans generated output with Ariada. |
+| [`@ariada-org/statement-generator`](./packages/ariada-statement-generator#readme) | `0.1.0` | EAA / WCAG accessibility-statement generator — Directive 2016/2102 art. 7-style statement pages in HTML or MDX. Nordic 4 + English locales. Open source under EUPL-1.2. |
+| [`@ariada-org/storybook-addon`](./packages/ariada-storybook-addon#readme) | source-only | Storybook addon that runs Ariada accessibility checks on rendered stories and reports findings in a panel. |
+| [`@ariada-org/surface-browser`](./packages/surface-browser#readme) | source-only | In-browser surface adapter for @ariada-org/core-engine — bookmarklet, DevTools panel entry point, and importable ES module for multi-domain compliance scanning in any browser context. |
+| [`@ariada-org/sveltekit-plugin`](./packages/ariada-sveltekit-plugin#readme) | source-only | SvelteKit Vite plugin wrapper that scans build output with Ariada. |
+| [`@ariada-org/swc-plugin`](./packages/ariada-swc-plugin#readme) | source-only | JavaScript-side SWC pipeline wrapper for Ariada static JSX accessibility checks. |
+| [`@ariada-org/test-adapters`](./packages/ariada-test-adapters#readme) | `0.1.0` | Accessibility-assertion adapters for Jest, Vitest, Mocha (Chai plugin), Playwright (fixture) and Cypress (custom command). Wraps @ariada-org/core-playwright + @ariada-org/wcag-rules-extended. Open source under EUPL-1.2. |
+| [`@ariada-org/test-fixtures`](./packages/ariada-test-fixtures#readme) | `0.2.0` | Curated HTML fixtures + golden snapshots for accessibility rule testing — generic axe-core cases plus EU real-world patterns (Klarna/BankID/MobilePay/Mittelstand/RGAA). HTML fixtures dedicated to the public domain (CC0-1.0); fixture-server source code under EUPL-1.2. |
+| [`@ariada-org/url-guard`](./packages/url-guard#readme) | source-only | Shared SSRF guard — reject non-http(s) schemes and resolve+validate hostnames against loopback/private/link-local/reserved ranges, returning a pinned IP so callers can close DNS-rebinding. Open source under EUPL-1.2. |
+| [`@ariada-org/vite-plugin`](./packages/ariada-vite-plugin#readme) | source-only | Vite plugin that scans dev HTML and production build output with Ariada accessibility checks. |
+| [`@ariada-org/vpat-html-renderer`](./packages/ariada-vpat-html-renderer#readme) | `0.1.0` | Renders VPAT 2.5 INT JSON reports into self-contained, WCAG 2.2 AA-conformant, print-friendly HTML for procurement, regulatory audit, and vendor-website publication. |
+| [`@ariada-org/wcag-rules-extended`](./packages/wcag-rules-extended#readme) | `0.1.0` | EAA 2025-ready WCAG 2.2 AA rule packs extending axe-core. Open source under EUPL-1.2. |
+| [`@ariada-org/webpack-plugin`](./packages/ariada-webpack-plugin#readme) | source-only | Webpack plugin that scans emitted HTML with Ariada accessibility checks. |
+| [`ariada-domain-fixture`](./packages/ariada-domain-fixture#readme) | source-only | Minimal fixture domain module for testing npm-convention domain discovery in the ariada domain-contract acceptance suite. |
+
+
+
+
A twenty-one-package OSS surface plus the commodity-outer HYBRID packages (OSS surface + closed proprietary core). Shipped rows are present in `packages/` today; planned rows are placeholders on the publish queue. The `Status` column tells you which is which.
### Open-source packages (full source under EUPL-1.2, MIT, or CC0-1.0)
@@ -237,7 +307,7 @@ These ship a substantial OSS surface under EUPL-1.2 (or MIT where licensing cons
The hosted multi-tenant SaaS surface (dashboard, single-sign-on, audit-log export, hosted Certificate Authority, HAES Merkle-anchor service, AIAS canonical registry) and additional closed algorithmic cores (cross-tool canonical scoring, tiered LLM cascade, MIP + machine-learning backlog optimiser, cross-deployment regression) are not OSS packages. They are not in the `packages/` tree, they are not on npm, and they are not on the publish roadmap. They are listed here so the boundary is visible — every self-hosting adopter can run the full open-source pipeline on their own infrastructure without any of them.
-All TypeScript packages are ESM-only and ship type declarations. Node 22 LTS is the supported runtime. We publish from this monorepo using Changesets and signed npm trusted-publisher provenance (OIDC, OpenID Connect, no long-lived tokens). Each release attaches a CycloneDX SBOM and an SPDX expression so REUSE audits verify obligations without cloning. We migrated to OIDC after one too many evenings rotating tokens by hand — the provenance attestation is what NLnet Stage-2 reviewers asked for the same week as a German procurement auditor.
+All TypeScript packages are ESM-only and ship type declarations. Node 22 LTS is the supported runtime. We publish from this monorepo using Changesets and signed npm trusted-publisher provenance (OIDC, OpenID Connect, no long-lived tokens). Each release attaches a CycloneDX SBOM and an SPDX expression so REUSE audits verify obligations without cloning. We migrated to OIDC after one too many evenings rotating tokens by hand — the provenance attestation is the kind of supply-chain evidence a public grant reviewer and a German procurement auditor both look for.
---
diff --git a/apps/ariada-org/public/demo/multi-domain-report.json b/apps/ariada-org/public/demo/multi-domain-report.json
index 07733050..e9992da9 100644
--- a/apps/ariada-org/public/demo/multi-domain-report.json
+++ b/apps/ariada-org/public/demo/multi-domain-report.json
@@ -1,114 +1,201 @@
{
- "sites": [
- "https://fixture-failing.example/",
- "https://fixture-passing.example/",
- "https://fixture-reference-docs.example/"
- ],
- "domains": [
- "accessibility",
- "sustainability"
- ],
+ "sites": ["fixture:cross-site-failing.html", "fixture:cross-site-passing.html"],
+ "domains": ["accessibility", "privacy", "sustainability"],
"grid": {
- "https://fixture-failing.example/": {
+ "fixture:cross-site-failing.html": {
"accessibility": [
{
- "id": "finding-a11y-001",
- "scanId": "demo-scan-2026-06-16",
+ "id": "image-alt-img:nth-of-type(1)",
+ "scanId": "fixture-cross-site-failing-html",
"domain": "accessibility",
"ruleId": "image-alt",
- "severity": "critical",
+ "severity": "serious",
"element": {
- "selector": "main > img",
- "role": "img",
- "name": ""
+ "selector": "img:nth-of-type(1)"
},
- "message": "Image element does not have an alt attribute.",
- "criterion": "1.1.1",
+ "message": "Image is missing alternative text",
"wcagMapping": ["1.1.1"],
"regulatoryMapping": [
- { "framework": "WCAG", "id": "1.1.1", "level": "A" },
- { "framework": "EN 301 549", "id": "9.1.1.1" }
+ {
+ "framework": "WCAG",
+ "code": "SC 1.1.1"
+ },
+ {
+ "framework": "EN 301 549",
+ "code": "9.1.1.1"
+ }
]
},
{
- "id": "finding-a11y-002",
- "scanId": "demo-scan-2026-06-16",
+ "id": "ariada/statement/page-link-from-footer::document",
+ "scanId": "fixture-cross-site-failing-html",
"domain": "accessibility",
- "ruleId": "render-blocking-script",
+ "ruleId": "ariada/statement/page-link-from-footer",
+ "severity": "serious",
+ "element": {
+ "selector": "html"
+ },
+ "message": "Page has no link to an accessibility statement",
+ "wcagMapping": ["3.2.6"],
+ "regulatoryMapping": [
+ {
+ "framework": "WCAG",
+ "code": "SC 3.2.6"
+ },
+ {
+ "framework": "EN 301 549",
+ "code": "12.1.1"
+ }
+ ]
+ },
+ {
+ "id": "ariada/statement/skip-link-from-every-page::document",
+ "scanId": "fixture-cross-site-failing-html",
+ "domain": "accessibility",
+ "ruleId": "ariada/statement/skip-link-from-every-page",
"severity": "moderate",
"element": {
- "selector": "main > script",
- "role": "generic",
- "name": ""
+ "selector": "html"
},
- "message": "Synchronous render-blocking script in the document body delays interactive accessibility.",
- "criterion": "2.5.3",
- "wcagMapping": ["2.5.3"],
+ "message": "Page has no skip navigation link",
+ "wcagMapping": ["2.4.1"],
"regulatoryMapping": [
- { "framework": "WCAG", "id": "2.5.3", "level": "A" }
+ {
+ "framework": "WCAG",
+ "code": "SC 2.4.1"
+ },
+ {
+ "framework": "EN 301 549",
+ "code": "9.2.4.1"
+ }
]
}
],
+ "privacy": [],
"sustainability": [
{
- "id": "finding-sust-001",
- "scanId": "demo-scan-2026-06-16",
+ "id": "wsg-lazy-load-img:nth-of-type(1)",
+ "scanId": "fixture-cross-site-failing-html",
"domain": "sustainability",
- "ruleId": "undeferred-third-party-script",
- "severity": "serious",
+ "ruleId": "wsg-lazy-load",
+ "severity": "minor",
"element": {
- "selector": "main > script",
- "role": "generic",
- "name": ""
+ "selector": "img:nth-of-type(1)"
},
- "message": "Third-party script loaded synchronously increases data transfer and carbon footprint. Deferring reduces unnecessary page weight.",
+ "message": "Image element is missing the loading=\"lazy\" attribute (WSG 2.18). Without it the browser fetches the image during initial load regardless of viewport position.",
"regulatoryMapping": [
- { "framework": "WSG", "id": "4.6" }
+ {
+ "framework": "EAA",
+ "code": "WSG 2.18"
+ }
]
}
]
},
- "https://fixture-passing.example/": {
- "accessibility": [],
- "sustainability": []
- },
- "https://fixture-reference-docs.example/": {
- "accessibility": [],
- "sustainability": []
+ "fixture:cross-site-passing.html": {
+ "accessibility": [
+ {
+ "id": "ariada/statement/page-link-from-footer::document",
+ "scanId": "fixture-cross-site-passing-html",
+ "domain": "accessibility",
+ "ruleId": "ariada/statement/page-link-from-footer",
+ "severity": "serious",
+ "element": {
+ "selector": "html"
+ },
+ "message": "Page has no link to an accessibility statement",
+ "wcagMapping": ["3.2.6"],
+ "regulatoryMapping": [
+ {
+ "framework": "WCAG",
+ "code": "SC 3.2.6"
+ },
+ {
+ "framework": "EN 301 549",
+ "code": "12.1.1"
+ }
+ ]
+ },
+ {
+ "id": "ariada/statement/skip-link-from-every-page::document",
+ "scanId": "fixture-cross-site-passing-html",
+ "domain": "accessibility",
+ "ruleId": "ariada/statement/skip-link-from-every-page",
+ "severity": "moderate",
+ "element": {
+ "selector": "html"
+ },
+ "message": "Page has no skip navigation link",
+ "wcagMapping": ["2.4.1"],
+ "regulatoryMapping": [
+ {
+ "framework": "WCAG",
+ "code": "SC 2.4.1"
+ },
+ {
+ "framework": "EN 301 549",
+ "code": "9.2.4.1"
+ }
+ ]
+ }
+ ],
+ "privacy": [],
+ "sustainability": [
+ {
+ "id": "wsg-lazy-load-img:nth-of-type(1)",
+ "scanId": "fixture-cross-site-passing-html",
+ "domain": "sustainability",
+ "ruleId": "wsg-lazy-load",
+ "severity": "minor",
+ "element": {
+ "selector": "img:nth-of-type(1)"
+ },
+ "message": "Image element is missing the loading=\"lazy\" attribute (WSG 2.18). Without it the browser fetches the image during initial load regardless of viewport position.",
+ "regulatoryMapping": [
+ {
+ "framework": "EAA",
+ "code": "WSG 2.18"
+ }
+ ]
+ }
+ ]
}
},
"interactions": [
{
- "id": "interaction-001",
+ "id": "fixture-cross-site-failing-html:accessibility-sustainability:img:nth-of-type(1)",
"type": "conflict",
"domains": ["accessibility", "sustainability"],
- "elementKey": "main > script",
- "predictedEffect": "Remediating the sustainability finding on this element (adding defer attribute to remove synchronous load) resolves the render-blocking script accessibility finding simultaneously. These two findings share a root cause.",
- "confidence": 0.91
+ "elementKey": "img:nth-of-type(1)",
+ "predictedEffect": "Compressing this image to cut page weight can reduce visual fidelity that alt text depends on; remediating one constraint affects the other.",
+ "confidence": 0.8728787611344647
}
],
"crossSite": {
- "systemic": [],
- "divergence": [
+ "systemic": [
{
"domain": "accessibility",
- "ruleId": "image-alt",
- "failingSites": ["https://fixture-failing.example/"],
- "passingSites": [
- "https://fixture-passing.example/",
- "https://fixture-reference-docs.example/"
- ]
+ "ruleId": "ariada/statement/page-link-from-footer",
+ "affectedSites": ["fixture:cross-site-failing.html", "fixture:cross-site-passing.html"]
+ },
+ {
+ "domain": "accessibility",
+ "ruleId": "ariada/statement/skip-link-from-every-page",
+ "affectedSites": ["fixture:cross-site-failing.html", "fixture:cross-site-passing.html"]
},
{
"domain": "sustainability",
- "ruleId": "undeferred-third-party-script",
- "failingSites": ["https://fixture-failing.example/"],
- "passingSites": [
- "https://fixture-passing.example/",
- "https://fixture-reference-docs.example/"
- ]
+ "ruleId": "wsg-lazy-load",
+ "affectedSites": ["fixture:cross-site-failing.html", "fixture:cross-site-passing.html"]
+ }
+ ],
+ "divergence": [
+ {
+ "domain": "accessibility",
+ "ruleId": "image-alt",
+ "failingSites": ["fixture:cross-site-failing.html"],
+ "passingSites": ["fixture:cross-site-passing.html"]
}
]
- },
- "aggregateFindings": []
+ }
}
diff --git a/apps/ariada-org/src/layouts/Base.astro b/apps/ariada-org/src/layouts/Base.astro
index 8fe04d76..caf7eacc 100644
--- a/apps/ariada-org/src/layouts/Base.astro
+++ b/apps/ariada-org/src/layouts/Base.astro
@@ -76,6 +76,7 @@ function current(href: string): "page" | undefined {
Source: github.com/ariada-org/ariada · npm: @ariada-org/wcag-rules-extended (v0.1 release candidate)
Accessibility
+
© {new Date().getFullYear()} Alexander Brichkin (Agonist Development AB). Source under
EUPL-1.2.
diff --git a/apps/ariada-org/src/pages/architecture.astro b/apps/ariada-org/src/pages/architecture.astro
index e012b07d..de10c334 100644
--- a/apps/ariada-org/src/pages/architecture.astro
+++ b/apps/ariada-org/src/pages/architecture.astro
@@ -31,7 +31,7 @@ import Base from "../layouts/Base.astro";
System architecture
@@ -47,7 +47,7 @@ import Base from "../layouts/Base.astro";
74% of the combined 35-component inventory ships under an
- open-source license (16 MUST-OSS + 6 HYBRID commodity-outer
+ open-source license (16 open-source + 6 HYBRID commodity-outer
surfaces = 22 OSS-touching components out of 30 non-RETIRE rows;
the remaining 8 are server-side operational surface or
proprietary closed cores). The full architectural specification
@@ -109,8 +109,8 @@ import Base from "../layouts/Base.astro";
Multi-tenant ops layer (SSO / SCIM / row-level security) — closed by deployment
Hosted Certificate Authority (Ed25519 signing) — closed by deployment
HAES Merkle anchor + AIAS canonical registry — closed by deployment
- Tiered LLM remediation cascade and predictive backlog optimiser — closed for monetisation moat
- Cross-tool canonical scoring and cross-deployment regression detection — proprietary reservation (freedom-to-operate)
+ Tiered LLM remediation cascade and predictive backlog optimiser — closed by deployment
+ Cross-tool canonical scoring and cross-deployment regression detection — closed by deployment
@@ -176,112 +176,112 @@ import Base from "../layouts/Base.astro";
wcag-rules-extended |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
shipped |
31 WCAG 2.2 AA rules + EAA-gap pack |
eaa-pipeline |
- MUST-OSS (also CI differential gate outer surface) |
+ open-source (also CI differential gate outer surface) |
EUPL-1.2 |
shipped |
Reusable GitHub Actions workflow |
statement-generator |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
shipped |
EN 301 549 art. 7 statement generator |
penalty-estimator |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
shipped (11 jurisdictions) |
Per-jurisdiction administrative-fine estimator |
evidence-emitter |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
shipped |
VPAT 2.5 INT + EN 301 549 JSON bundle |
core-engine |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
Wave 2 publish |
TypeScript scanner orchestration core |
core-browser |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
Wave 2 publish |
DOM adapter for Chrome/Edge extension |
core-playwright |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
Wave 2 publish |
Node + Chrome DevTools Protocol adapter |
cli |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
Wave 2 publish |
Command-line runner wrapping the scanner runtime |
design-plugin-scaffolds |
- MUST-OSS |
+ open-source |
EUPL-1.2 |
Wave 2 publish |
Figma / UXP / Sketch plugin scaffolds |
| L0-mindset-framework |
- MUST-OSS |
+ open-source |
EUPL-1.2 (code) + CC-BY-4.0 (prose) |
Wave 1 publish |
10-rule architect-tier accessible-design framework |
| Anti-overlay explainer |
- MUST-OSS |
+ open-source |
CC-BY-4.0 |
Wave 1 publish |
Public-interest explainer on overlay-product risk |
brand-tokens |
- MUST-OSS |
+ open-source |
MIT |
Wave 1 publish |
Zero-runtime CSS design tokens (no logo files) |
embed-badge |
- MUST-OSS |
+ open-source |
MIT |
Wave 3 publish (post-trademark) |
Web Component for embedding scan badges |
dracula-agent |
- MUST-OSS |
+ open-source |
MIT |
Wave 2 publish |
Commodity viz helpers for the Dracula scan agent |
test-fixtures |
- MUST-OSS |
+ open-source |
EUPL-1.2 (code) + CC0-1.0 (HTML corpus) |
shipped |
EAA-paired HTML fixture corpus + snapshots |
@@ -330,14 +330,14 @@ import Base from "../layouts/Base.astro";
| Tiered LLM remediation cascade |
- Closed (monetisation) |
+ Closed (hosted service) |
Proprietary |
not on OSS roadmap |
Cascade routing for source-level pull-request generation |
| Predictive backlog optimiser |
- Closed (monetisation + defensive arXiv) |
+ Closed (methodology on arXiv) |
Proprietary; methodology on arXiv |
not on OSS roadmap |
Mixed-integer-programming + ML backlog scheduler |
@@ -347,14 +347,14 @@ import Base from "../layouts/Base.astro";
Proprietary (closed) |
Proprietary |
not on OSS roadmap |
- Cross-tool score normaliser; retains freedom-to-operate under existing third-party prior art |
+ Cross-tool score normaliser; hosted service component |
| Cross-deployment regression detection |
Proprietary (closed) |
Proprietary |
not on OSS roadmap |
- Canonical rule registry + rule-provenance graph; retains freedom-to-operate under existing third-party prior art |
+ Canonical rule registry + rule-provenance graph; hosted service component |
| Hosted SaaS dashboard + multi-tenant ops |
@@ -440,7 +440,7 @@ import Base from "../layouts/Base.astro";
rows + 13 competitive-gap rows; excluding the one RETIRE row):
- - 22 OSS-touching components — 16 MUST-OSS + 6 HYBRID
+ - 22 OSS-touching components — 16 open-source + 6 HYBRID
- 74% OSS surface on the combined inventory
- ~73% on the 22-row architecture baseline alone
@@ -488,7 +488,7 @@ import Base from "../layouts/Base.astro";
Open Source Steward obligations apply to the
- 16 MUST-OSS + 6 HYBRID OSS-surface modules — cybersecurity-policy
+ 16 open-source + 6 HYBRID OSS-surface modules — cybersecurity-policy
publication, cooperation with national market-surveillance
authorities, vulnerability-handling documentation appropriate
to the OSS development model.
diff --git a/apps/ariada-org/src/pages/licenses.astro b/apps/ariada-org/src/pages/licenses.astro
index 83f7072c..93bb3434 100644
--- a/apps/ariada-org/src/pages/licenses.astro
+++ b/apps/ariada-org/src/pages/licenses.astro
@@ -49,7 +49,7 @@ import Base from "../layouts/Base.astro";
Per-package license matrix
- Sixteen MUST-OSS packages: thirteen EUPL-1.2, three MIT, one
+ Sixteen open-source packages: thirteen EUPL-1.2, three MIT, one
dual EUPL-1.2 + CC0-1.0. Six HYBRID packages ship their
commodity-outer surface under EUPL-1.2 (with the proprietary
algorithmic core retained as separate closed code).
@@ -178,7 +178,7 @@ import Base from "../layouts/Base.astro";