> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cortex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Set benchmarks for AI readiness

export const RecipeBadges = ({badges = []}) => {
  const map = {
    "recipe": {
      label: "Recipe",
      color: "#A86400"
    },
    "ai-excellence": {
      label: "AI excellence",
      color: "#653EE8"
    },
    "production-readiness": {
      label: "Production readiness",
      color: "#226686"
    },
    "incident-mgmt": {
      label: "Incident management",
      color: "#86198F"
    },
    "migrations": {
      label: "Migrations",
      color: "#0E7C66"
    },
    "compliance": {
      label: "Compliance",
      color: "#475569"
    },
    "dora": {
      label: "DORA metrics",
      color: "#1D4ED8"
    },
    "security": {
      label: "Security",
      color: "#B42318"
    },
    "operational-readiness": {
      label: "Operational readiness",
      color: "#B54708"
    },
    "dev-onboarding": {
      label: "Developer onboarding",
      color: "#C11574"
    }
  };
  const items = badges.map(key => map[key]).filter(Boolean);
  if (items.length === 0) return null;
  return <div className="not-prose flex flex-wrap gap-2 mb-6">
      {items.map(b => <span key={b.label} className="rounded-lg px-2 py-1 text-xs font-medium" style={{
    backgroundColor: b.color,
    color: b.textColor || "#FFFFFF"
  }}>
          {b.label}
        </span>)}
    </div>;
};

<RecipeBadges badges={["recipe", "ai-excellence"]} />

You can use Cortex's AI Readiness Scorecard template to start setting benchmarks and checking whether your services meet criteria for your goals. The AI Readiness template evaluates whether services have the foundational software engineering practices in place to safely and effectively adopt AI technologies.

## Create a Scorecard for AI Readiness

### Step 1: Create the Scorecard and configure its basic settings

1. On the [**Scorecards** page](https://app.getcortexapp.com/admin/scorecards) in your workspace, click **Create Scorecard**.
2. On the `AI Readiness` template, click **Use**.
3. Configure basic settings, including the Scorecard's name, unique identifier, description, and more.
   * Learn about configuring the basic settings in the [Creating a Scorecard documentation](/standardize/scorecards/create).

### Step 2: Review and modify rules

Cortex's templated rules are based on common industry standards:

<AccordionGroup>
  <Accordion title="AI Readiness: Bronze level rules">
    * Version control in use<br />
      `git != null`
    * Basic documentation exists<br />
      `git.fileExists("README.md") OR git.fileExists("docs/README.md") OR git.fileExists("API.md")`
    * Service ownership defined<br />
      `ownership.allOwners().length > 0`
    * Basic health monitoring<br />
      `datadog.monitors().length > 0`
    * Dependency management<br />
      `dependencies.in().length > 0 or dependencies.out().length > 0`
  </Accordion>

  <Accordion title="AI Readiness: Silver level rules">
    * Automated CI/CD pipeline<br />
      `git.fileExists(".github/workflows/*.yml") OR git.fileExists("Jenkinsfile") OR git.fileExists(".gitlab-ci.yml") OR git.fileExists("azure-pipelines.yml")`
    * Integration testing implemented
    * `git.codeSearch(query = "integration.*test|test.*integration", fileExtension = "*").length > 0 OR captures("integration-tests", custom("integration_tests_exist")) == "enabled"`
    * SLO defined<br />
      `slos().length > 0`
    * Test coverage minimum met<br />
      `captures("test-coverage", sonarqube.metric("coverage") >= 80)`
    * Secret management implemented<br />
      `git.fileExists(".github/workflows/*") AND git.codeSearch(query = "secret", fileExtension = "yml").length > 0`
    * Incident response runbook<br />
      `links("RUNBOOK").length > 0`
    * Deployment rollback capability<br />
      `captures("rollback", custom("rollback_capability")) == "enabled" OR git.codeSearch(query = "rollback|revert|previous.*version", fileExtension = "*").length > 0`
  </Accordion>

  <Accordion title="AI Readiness: Gold level rules">
    * Distributed tracing implemented<br />
      `captures("tracing", custom("distributed_tracing")) == "enabled" OR git.codeSearch(query = "jaeger|zipkin|opentelemetry|tracing", fileExtension = "*").length > 0`
    * Change approval process<br />
      `links("CHANGE_APPROVAL").length > 0`
    * Data classification documented<br />
      `git.fileExists("DATA-CLASSIFICATION.md") OR git.codeSearch(query = "data.*classif|pii|sensitive.*data|gdpr", fileExtension = "md").length > 0`
    * Comprehensive audit logging<br />
      `captures("audit-log", custom("audit_logging")) == "enabled" OR git.codeSearch(query = "audit.*log|compliance.*log|access.*log", fileExtension = "*").length > 0`
    * Feature flags for controlled rollouts<br />
      `launchDarkly != null`
    * Zero critical and high vulnerabilities<br />
      `captures("critical-vulns", custom("critical_vulnerabilities")) == 0 AND captures("high-vulns", custom("high_vulnerabilities")) == 0`
    * AI model security scanning<br />
      `captures("model-scan", custom("ai_model_scanning")) == "enabled" OR git.codeSearch(query = "model.*scan|adversarial.*test|bias.*detect", fileExtension = "*").length > 0`
  </Accordion>
</AccordionGroup>

You can reorder, delete, and edit rules, add more rules to a level, and assign more points to a rule to signify its importance. Behind each rule is a [Cortex Query Language (CQL) ](/standardize/cql)query; you can edit the existing CQL or write your own queries to further refine your rules.


## Related topics

- [Scorecards](/guides/product-areas/scorecards.md)
- [Seasonal readiness Scorecard](/guides/production-readiness/seasonal-readiness-scorecard.md)
- [Cortex AI chat](/cortex-ai-chat.md)
