{
  "schema_version": "AImatchApiV2ComparisonReportV1",
  "generated_at": "2026-07-06T20:54:27.538Z",
  "status": "completed",
  "legacy_roles_path": "/var/lib/aimatch/artifacts/d3826c21-c8f3-4f74-b12b-3fbfbfc48a21/synthesis/roles-detected.json",
  "role_count": {
    "v2": 2,
    "v2_detected": 4,
    "v2_active": 2,
    "v2_skipped": 2,
    "legacy": 2,
    "match": true,
    "detected_match": false
  },
  "role_gate": {
    "active_roles": [
      {
        "role_key": "creative-strategist",
        "role_title": "Creative Strategist / Brand Designer",
        "status": "active",
        "priority_rank": 1
      },
      {
        "role_key": "graphic-designer",
        "role_title": "Graphic Designer (Marketing Asset Production)",
        "status": "active",
        "priority_rank": 2
      }
    ],
    "skipped_roles": [
      {
        "role_key": "director-of-marketing",
        "role_title": "Director of Marketing",
        "status": "mentioned_only",
        "priority_rank": 3,
        "reason_not_active": "Rob stated the company is already hiring this role internally; it was mentioned only as existing/incoming team context and was never requested from MarketerHire.",
        "source_quotes": [
          "We are in the process of hiring a director of marketing to run the content and lead gen funnel.",
          "a director of marketing coming in to own content and lead gen"
        ]
      },
      {
        "role_key": "growth-marketer",
        "role_title": "Growth Marketer",
        "status": "mentioned_only",
        "priority_rank": 4,
        "reason_not_active": "This is an existing internal team member described as current staffing context, not a role the client is hiring for.",
        "source_quotes": [
          "I have a growth marketer that supports me",
          "you've got the strategy covered, a growth marketer on execution"
        ]
      }
    ]
  },
  "role_comparisons": [
    {
      "v2_role_key": "creative-strategist",
      "v2_role_title": "Creative Strategist / Brand Designer",
      "legacy_role_key": "creative-strategist",
      "legacy_role_title": "Creative Strategist / Brand Designer",
      "title_match": true,
      "role_match_strategy": "role_key",
      "role_title_similarity_pct": 100,
      "hard_requirement_overlap_pct": 25,
      "all_requirement_overlap_pct": 10,
      "search_candidate_overlap_top20_pct": 65,
      "top_candidate_overlap_pct": 40,
      "v2_top_candidates": [
        "writemestacy@gmail.com",
        "jared@brandformity.co",
        "hello@jackpwilloughby.com",
        "heatherwrightconsulting@gmail.com",
        "sorrina.bee@thewhiteagency.co"
      ],
      "legacy_top_candidates": [
        "jared@brandformity.co",
        "tom@helloepigraph.com",
        "heatherwrightconsulting@gmail.com",
        "mikedlitwin@gmail.com",
        "byronphillipson@gmail.com"
      ],
      "hallucination_flags": []
    },
    {
      "v2_role_key": "graphic-designer",
      "v2_role_title": "Graphic Designer (Marketing Asset Production)",
      "legacy_role_key": "graphic-designer",
      "legacy_role_title": "Marketing Graphic Designer",
      "title_match": true,
      "role_match_strategy": "role_key",
      "role_title_similarity_pct": 100,
      "hard_requirement_overlap_pct": 0,
      "all_requirement_overlap_pct": 13,
      "search_candidate_overlap_top20_pct": 30,
      "top_candidate_overlap_pct": 60,
      "v2_top_candidates": [
        "hello@mischievousdesign.com",
        "skernart@gmail.com",
        "gloria@roguestories.com",
        "valbonatika@gmail.com",
        "kennanielsen@gmail.com"
      ],
      "legacy_top_candidates": [
        "sheba.tamakloe@gmail.com",
        "hello@mischievousdesign.com",
        "skernart@gmail.com",
        "trustcia-jnita94@live.com",
        "gloria@roguestories.com"
      ],
      "hallucination_flags": []
    }
  ],
  "context": {
    "budget_v2_chars": 1120,
    "budget_legacy_chars": 1008,
    "timeline_v2_chars": 490,
    "timeline_legacy_chars": 574,
    "tools_v2_chars": 403,
    "tools_legacy_chars": 316
  },
  "usage": {
    "attempts": 109,
    "input_tokens": 567005,
    "output_tokens": 292705,
    "thoughts_tokens": 0,
    "output_billable_tokens": 292705,
    "total_tokens": 859710,
    "cache_creation_input_tokens": 63405,
    "cache_read_input_tokens": 477434,
    "uncached_input_tokens": 567005,
    "latency_ms": 3683137
  },
  "cost": {
    "schema_version": "LlmCostSummaryV1",
    "currency": "USD",
    "pricing_source": "https://platform.claude.com/docs/en/about-claude/pricing; https://ai.google.dev/gemini-api/docs/pricing; https://openrouter.ai/docs/api-reference/overview",
    "pricing_source_checked_at": "2026-07-06T20:54:27.538Z",
    "pricing_notes": [
      "Gemini 3.5 Flash defaults use Google Gemini API paid-tier rates: input $1.50/1M, output including thinking $9.00/1M, cached context $0.15/1M.",
      "Claude Opus 4.8 defaults use Anthropic Claude API standard rates: input $5/1M, output $25/1M, 5m cache write $6.25/1M, 1h cache write $10/1M, cache read $0.50/1M.",
      "For Gemini, cachedContentTokenCount is treated as a subset of promptTokenCount, so cached input is priced at the cache-read rate and excluded from uncached input cost.",
      "Rates can be overridden with AIMATCH_API_V2_COST_*_USD_PER_1M environment variables."
    ],
    "input_cost_usd": 2.835025,
    "output_cost_usd": 7.317625,
    "cache_creation_cost_usd": 0.396281,
    "cache_read_cost_usd": 0.238717,
    "total_cost_usd": 10.787648,
    "by_model": [
      {
        "provider": "anthropic",
        "model": "claude-opus-4-8",
        "attempts": 109,
        "input_tokens": 567005,
        "uncached_input_tokens": 567005,
        "cache_read_input_tokens": 477434,
        "cache_creation_input_tokens": 63405,
        "output_tokens": 292705,
        "thoughts_tokens": 0,
        "output_billable_tokens": 292705,
        "input_usd_per_1m_tokens": 5,
        "output_usd_per_1m_tokens": 25,
        "cache_read_usd_per_1m_tokens": 0.5,
        "cache_creation_usd_per_1m_tokens": 6.25,
        "cost_usd": 10.787648
      }
    ]
  },
  "side_effects": {
    "slack_posts": 0,
    "hubspot_writes": 0,
    "legacy_artifact_mutations": 0
  }
}