{
  "skill_name": "onboard-snowflake-database",
  "evals": [
    {
      "id": 1,
      "prompt": "I'm working TEST-1001: set up the database deployment process for a new Snowflake database, ANALYTICS_SANDBOX. It's a separate physical database per environment (prod = ANALYTICS_SANDBOX, qa = QA_ANALYTICS_SANDBOX), team is data-platform. My theorchard/database checkout is at <DATABASE_REPO_PATH> and my terraform-infra checkout is at <TERRAFORM_INFRA_PATH>. To keep this a safe dry run: do NOT run aws s3 cp, git push, gh pr create, git commit, or trigger any Jenkins job \u2014 generate the local files only (key pairs, db.properties per env, the Terraform tfvars edits, the Liquibase project folder, the connection-check changeset) and then stop, describing what you would confirm with me and do next instead of actually doing it.",
      "expected_output": "Local files generated for a paradigm-B (separate database per environment), two-environment (qa + prod) onboarding: RSA key pairs for each environment, a real db.properties per environment (not committed), the two terraform.tfvars files each get a new role block and service_user block for ANALYTICS_SANDBOX_DB_DEPLOY and QA_ANALYTICS_SANDBOX_DB_DEPLOY (with DEPLOY_WAREHOUSE_WAREHOUSE_ACCESS, and no team field set), and a new snowflake/ANALYTICS_SANDBOX/build/ folder in the database repo with pom.xml (artifactId analytics_sandbox.build, WITH the systemProperties db block), db.properties.shadow, and changelog/dml/TEST-1001-check-connection.sql. No real aws/git/gh/Jenkins commands actually executed.",
      "files": [],
      "expectations": [
        "A new folder snowflake/ANALYTICS_SANDBOX/build/ was created in the database repo containing pom.xml, db.properties.shadow, and changelog/dml/TEST-1001-check-connection.sql",
        "pom.xml's artifactId is analytics_sandbox.build",
        "pom.xml contains a <systemProperties><db>${db}</db></systemProperties> block (required for paradigm B)",
        "db.properties.shadow contains db=ANALYTICS_SANDBOX with literal placeholder values elsewhere",
        "Two separate RSA key pairs were generated, one per environment",
        "Real db.properties per environment with correct role/db/schema values",
        "terraform-infra tfvars gained two new role + service_user blocks (no team field set) with a properly stripped rsa_public_key",
        "Private key contents never appear in the response or SUMMARY.md",
        "SUMMARY.md states it stopped before aws s3 cp / git push / gh pr create / git commit / Jenkins trigger",
        "SUMMARY.md notes terraform-infra must be merged AND applied before the Jenkins deploy job runs"
      ]
    },
    {
      "id": 2,
      "prompt": "Jira TEST-1002. Need to onboard GROWTH_METRICS for our db-deploy process \u2014 one physical database with PROD and QA schemas (same shape as PERMISSIONS_PLATFORM), team is growth-eng. database repo checkout: <DATABASE_REPO_PATH>, terraform-infra checkout: <TERRAFORM_INFRA_PATH>. This is a dry run only \u2014 please don't actually run aws s3 cp, git push, gh pr create, git commit, or trigger Jenkins; just generate the local files and tell me what would happen next.",
      "expected_output": "Local files for a paradigm-A (schema-per-environment) onboarding: two separate key pairs, one per schema-scoped service user (GROWTH_METRICS_DB_PROD_SCHEMA_DB_DEPLOY and GROWTH_METRICS_DB_QA_SCHEMA_DB_DEPLOY), db.properties per environment with db=GROWTH_METRICS constant and schema=PROD/QA varying, terraform.tfvars role+service_user blocks for both, and snowflake/GROWTH_METRICS/build/ with pom.xml WITHOUT a systemProperties db block (since the db name doesn't vary), db.properties.shadow, and changelog/dml/TEST-1002-check-connection.sql.",
      "files": [],
      "expectations": [
        "A new folder snowflake/GROWTH_METRICS/build/ was created containing pom.xml, db.properties.shadow, and changelog/dml/TEST-1002-check-connection.sql",
        "pom.xml's artifactId is growth_metrics.build",
        "pom.xml does NOT contain a systemProperties block",
        "db.properties.shadow contains db=GROWTH_METRICS",
        "Real db.properties per environment: db=GROWTH_METRICS constant, schema=PROD/QA varying",
        "Service user names follow GROWTH_METRICS_DB_<ENV>_SCHEMA_DB_DEPLOY",
        "terraform-infra tfvars gained blocks for both service users, with no team field set",
        "Two separate key pairs generated, one per schema service user",
        "SUMMARY.md explains why no systemProperties block is needed"
      ]
    },
    {
      "id": 3,
      "prompt": "SYS-9042 - we need to set up deployment for a brand new Snowflake database called VENDOR_FEED_STAGING. It only has a prod environment, no qa. Team: data-eng. database repo: <DATABASE_REPO_PATH>, terraform-infra: <TERRAFORM_INFRA_PATH>. Dry run please - no real aws s3 cp / git push / gh pr create / git commit / Jenkins triggers, just generate the local files and describe next steps.",
      "expected_output": "Single-environment onboarding: one key pair, one service user VENDOR_FEED_STAGING_DB_DEPLOY, one terraform role+service_user block pair, one snowflake/VENDOR_FEED_STAGING/build/ folder (pom.xml, db.properties.shadow, changelog/dml/SYS-9042-check-connection.sql) \u2014 no QA-specific artifacts created since there's only one environment.",
      "files": [],
      "expectations": [
        "A new folder snowflake/VENDOR_FEED_STAGING/build/ was created containing pom.xml, db.properties.shadow, and changelog/dml/SYS-9042-check-connection.sql",
        "pom.xml's artifactId is vendor_feed_staging.build",
        "Only one RSA key pair generated",
        "Only one terraform role block and one service_user block added, named VENDOR_FEED_STAGING_DB_DEPLOY, with no team field set",
        "No QA_-prefixed name or qa artifact appears anywhere",
        "Real db.properties has db=VENDOR_FEED_STAGING and role/username=VENDOR_FEED_STAGING_DB_DEPLOY"
      ]
    }
  ]
}