{
  "repository": "looplj/axonhub",
  "ref": "8a9df52283d9d9c3909c839267ce890a2913231e",
  "methods": [
    {
      "slug": "formal",
      "title": "Formal verification and model checking"
    },
    {
      "slug": "static_analysis",
      "title": "Static analysis"
    },
    {
      "slug": "testing",
      "title": "Testing"
    },
    {
      "slug": "formatting",
      "title": "Formatting and hygiene"
    },
    {
      "slug": "supply_chain",
      "title": "Supply chain"
    },
    {
      "slug": "unclassified",
      "title": "Unclassified"
    }
  ],
  "verifications": [
    {
      "tool": "eslint",
      "method": "static_analysis",
      "commands": [
        "eslint .",
        "eslint . --fix"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "frontend/package.json",
          "locator": "scripts.lint"
        },
        {
          "path": "frontend/package.json",
          "locator": "scripts.lint:fix"
        },
        {
          "path": "frontend/package.json",
          "locator": "devDependencies: eslint"
        },
        {
          "path": "frontend/eslint.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/eslint/eslint",
      "docs": "https://eslint.org/docs/latest/use/command-line-interface#exit-codes",
      "exit_codes": {
        "0": "no errors",
        "1": "linting errors found",
        "2": "configuration problem or internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "golangci-lint",
      "method": "static_analysis",
      "commands": [
        "uses golangci/golangci-lint-action"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/lint.yml",
          "locator": "jobs.lint.steps[2] (golangci-lint)"
        },
        {
          "path": ".golangci.yml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/golangci/golangci-lint",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "tsc",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "frontend/package.json",
          "locator": "devDependencies: typescript"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "go-test",
      "method": "testing",
      "commands": [
        "go test ./..."
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test.yml",
          "locator": "jobs.test.steps[3] (Test)"
        },
        {
          "path": "Makefile",
          "locator": "target test-backend-all (line 54)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.run-go-test"
        }
      ],
      "upstream": "https://github.com/golang/go",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "node-test",
      "method": "testing",
      "commands": [
        "node --test src/**/*.test.mjs"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/test.yml",
          "locator": "jobs.test-frontend-unit.steps[4] (Test)"
        },
        {
          "path": "frontend/package.json",
          "locator": "scripts.test:unit"
        }
      ],
      "upstream": "https://github.com/nodejs/node",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "playwright",
      "method": "testing",
      "commands": [
        "playwright test --ui",
        "playwright test --headed"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "frontend/package.json",
          "locator": "scripts.test:ui"
        },
        {
          "path": "frontend/package.json",
          "locator": "scripts.test:ui:headed"
        },
        {
          "path": "frontend/package.json",
          "locator": "devDependencies: @playwright/test"
        },
        {
          "path": "frontend/playwright.config.ts",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/microsoft/playwright",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --check .",
        "prettier --write ."
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "frontend/package.json",
          "locator": "scripts.format:check"
        },
        {
          "path": "frontend/package.json",
          "locator": "scripts.format"
        },
        {
          "path": "frontend/package.json",
          "locator": "devDependencies: prettier"
        },
        {
          "path": "frontend/.prettierrc",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/prettier/prettier",
      "docs": "https://prettier.io/docs/cli#exit-codes",
      "exit_codes": {
        "0": "everything formatted",
        "1": "something was not formatted (--check)",
        "2": "prettier error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "do echo "
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.golangci-lint-all"
        },
        {
          "path": "Makefile",
          "locator": "target lint-all (line 141)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "done"
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.golangci-lint-all"
        },
        {
          "path": "Makefile",
          "locator": "target lint-all (line 141)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "else $(GO_LINT_CMD)"
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.golangci-lint-all"
        },
        {
          "path": "Makefile",
          "locator": "target lint-all (line 141)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "for module in $(GO_MODULES)"
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.golangci-lint-all"
        },
        {
          "path": "Makefile",
          "locator": "target lint-all (line 141)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "go tool govulncheck ./..."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/vulncheck.yml",
          "locator": "jobs.govulncheck.steps[2] (govulncheck)"
        },
        {
          "path": ".github/workflows/vulncheck.yml",
          "locator": "jobs.govulncheck-llm.steps[2] (govulncheck)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "helm lint $CHART_DIR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/helm-chart.yml",
          "locator": "jobs.helm-chart.steps[3] (Lint chart)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "playwright show-report"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "frontend/package.json",
          "locator": "scripts.test:e2e:report"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook go-mod-tidy"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.go-mod-tidy"
        }
      ],
      "upstream": "https://github.com/dnephin/pre-commit-golang",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
