{
  "repository": "awslabs/agentcore-samples",
  "ref": "7282ec3b839736d55d199f4c726136c342e33b3c",
  "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": "codeql",
      "method": "static_analysis",
      "commands": [
        "uses github/codeql-action/analyze"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/codeql.yml",
          "locator": "jobs.analyze.steps[3] (Perform CodeQL Analysis)"
        }
      ],
      "upstream": "https://github.com/github/codeql",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "eslint",
      "method": "static_analysis",
      "commands": [
        "eslint $file"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/js-lint.yml",
          "locator": "jobs.js-lint.steps[4] (Run ESLint on changed files)"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/05-community/gateway-mcp-inspector/client/eslint.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/01-conversational-agents/data-analyst-conversational-assistant/amplify-data-analyst-conversational-assistant-agentcore-strands/eslint.config.mjs",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/01-conversational-agents/episodic-memory-claims-agent/frontend/eslint.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/01-conversational-agents/multi-agent-devops-triage-typescript/eslint.config.mjs",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/visa-b2b-account-payable-agent/backend/.eslintrc.json",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/visa-b2b-account-payable-agent/rtp-overlay/eslint.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/03-coding-assistants/text-to-python-ide/frontend/.eslintrc.json",
          "locator": "config file"
        },
        {
          "path": "04-infrastructure-as-code/cdk/typescript/knowledge-base-rag-agent/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": "ruff-check",
      "method": "static_analysis",
      "commands": [
        "ruff check --output-format=github $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/python-lint.yml",
          "locator": "jobs.python-lint.steps[5] (Run ruff check on changed files)"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.ruff]"
        },
        {
          "path": "01-features/04-manage-context-of-your-agent/memory/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "01-features/06-observe-evaluate-optimize-your-agent/02-evaluate/cicd-gated-evaluation/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/03-registry/04-migrate-to-new-namespace/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/multi-isv-orchestration/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "03-integrations/agentic-frameworks/livekit/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "06-workshops/02-AgentCore-gateway/05-mcp-server-as-a-target/ruff.toml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/astral-sh/ruff",
      "docs": "https://docs.astral.sh/ruff/linter/#exit-codes",
      "exit_codes": {
        "0": "no violations",
        "1": "violations found",
        "2": "invalid configuration, CLI options or internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "flake8",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "06-workshops/03-AgentCore-identity/07-Outbound_Auth_3LO_ECS_Fargate/.flake8",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/PyCQA/flake8",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "mypy",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "02-use-cases/01-conversational-agents/SRE-agent/mypy.ini",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/python/mypy",
      "docs": "https://mypy.readthedocs.io/en/stable/command_line.html",
      "exit_codes": {
        "0": "no type errors",
        "1": "type errors found",
        "2": "crash or invalid invocation"
      },
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "pylint",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "01-features/06-observe-evaluate-optimize-your-agent/02-evaluate/custom-code-based-evaluation/.pylintrc",
          "locator": "config file"
        },
        {
          "path": "01-features/06-observe-evaluate-optimize-your-agent/03-optimize/.pylintrc",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/it-incident-response-agent/.pylintrc",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/pylint-dev/pylint",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "analyze (include: 2)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/codeql.yml",
          "locator": "jobs.analyze.strategy.matrix"
        }
      ],
      "upstream": "https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "jest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "01-features/02-host-your-agent/01-runtime/01-hosting-agents/05-java-agents/01-springai-with-bedrock-model/infra/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/02-host-your-agent/01-runtime/01-hosting-agents/05-java-agents/02-embabel-with-bedrock-model/infra/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/05-authenticate-and-authorize/01-inbound-auth/04-inbound-auth-pingfederate/agent/private-idp-ping-agent/agentcore/cdk/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/03-private-connectivity/connect-gateway-to-private-resources/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/03-private-connectivity/connect-gateway-to-private-resources/vpcegress/agentcore/cdk/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/gatewaylabproject/agentcore/cdk/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/02-policy/03-temporal-policies/bankingassistant/agentcore/cdk/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/01-conversational-agents/data-analyst-conversational-assistant/cdk-data-analyst-assistant-agentcore-strands/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/it-incident-response-agent/agentcore/cdk/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/visa-b2b-account-payable-agent/infrastructure/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "04-infrastructure-as-code/cdk/typescript/knowledge-base-rag-agent/infrastructure/jest.config.js",
          "locator": "config file"
        },
        {
          "path": "04-infrastructure-as-code/cdk/typescript/knowledge-base-rag-agent/web-console/jest.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/jestjs/jest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "playwright",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "04-infrastructure-as-code/cdk/typescript/knowledge-base-rag-agent/web-console/playwright.config.ts",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/microsoft/playwright",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "pytest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "01-features/02-host-your-agent/01-runtime/04-coding-agents/05-autonomous-coding-agent-durable/pytest.ini",
          "locator": "config file"
        },
        {
          "path": "01-features/05-authenticate-and-authorize/obo-training/3-examples/01-agent-to-downstream/entra/local/pytest.ini",
          "locator": "config file"
        },
        {
          "path": "01-features/05-authenticate-and-authorize/obo-training/3-examples/01-agent-to-downstream/okta/local/pytest.ini",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/receipts-intelligent-document-processing-agent/pytest.ini",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/pytest-dev/pytest",
      "docs": "https://docs.pytest.org/en/stable/reference/exit-codes.html",
      "exit_codes": {
        "0": "all tests passed",
        "1": "some tests failed",
        "2": "interrupted by the user",
        "3": "internal error",
        "4": "command line usage error",
        "5": "no tests were collected"
      },
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "vitest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "02-use-cases/01-conversational-agents/multi-agent-devops-triage-typescript/vitest.config.ts",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/vitest-dev/vitest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --check $file"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/js-lint.yml",
          "locator": "jobs.js-lint.steps[5] (Run Prettier check on changed files)"
        },
        {
          "path": "01-features/05-authenticate-and-authorize/01-inbound-auth/04-inbound-auth-pingfederate/agent/private-idp-ping-agent/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/03-private-connectivity/connect-gateway-to-private-resources/vpcegress/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/01-gateway/gatewaylabproject/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "01-features/07-centralize-and-govern-your-ai-infrastructure/02-policy/03-temporal-policies/bankingassistant/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/it-incident-response-agent/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/visa-b2b-account-payable-agent/backend/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "02-use-cases/02-workflow-automation-agents/visa-b2b-account-payable-agent/rtp-overlay/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "04-infrastructure-as-code/cdk/typescript/knowledge-base-rag-agent/.prettierrc.js",
          "locator": "config file"
        },
        {
          "path": "06-workshops/02-AgentCore-gateway/05-mcp-server-as-a-target/mcpservers/agentcore/cdk/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "06-workshops/03-AgentCore-identity/08-IDP-examples/PingFederate/agent/private-idp-ping-agent/agentcore/cdk/.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": "ruff-format",
      "method": "formatting",
      "commands": [
        "ruff format --check $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/python-lint.yml",
          "locator": "jobs.python-lint.steps[6] (Run ruff format check on changed files)"
        }
      ],
      "upstream": "https://github.com/astral-sh/ruff",
      "docs": "https://docs.astral.sh/ruff/formatter/#exit-codes",
      "exit_codes": {
        "0": "already formatted",
        "1": "files would be reformatted (--check)",
        "2": "error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Report generated:)' \"/tmp/ash-scan/.ash/ash_output/reports/ash.summary.md\""
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ash-security-scan.yml",
          "locator": "jobs.scan.steps[7] (Process scan results and create summary)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Scanner"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ash-full-repository-scan.yml",
          "locator": "jobs.full-scan.steps[4] (Generate scan summary)"
        },
        {
          "path": ".github/workflows/ash-security-scan.yml",
          "locator": "jobs.scan.steps[7] (Process scan results and create summary)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
