{
  "projects": [
    {
      "repo": "openai/euphony",
      "stars": 422,
      "agent": false,
      "local": true,
      "cloud": true,
      "cloudflare": false,
      "docker": false,
      "maintenance_score": 6,
      "quality_score": 5,
      "agent_score": 54,
      "best_for": [
        "evaluate LLM outputs",
        "benchmark prompts and agents"
      ]
    },
    {
      "repo": "promptfoo/promptfoo",
      "stars": 23937,
      "agent": false,
      "local": true,
      "cloud": true,
      "cloudflare": false,
      "docker": true,
      "maintenance_score": 76,
      "quality_score": 72,
      "agent_score": 88,
      "best_for": [
        "evaluate LLM outputs",
        "benchmark prompts and agents"
      ]
    },
    {
      "repo": "langwatch/langwatch",
      "stars": 3463,
      "agent": false,
      "local": true,
      "cloud": true,
      "cloudflare": false,
      "docker": true,
      "maintenance_score": 65,
      "quality_score": 39,
      "agent_score": 81,
      "best_for": [
        "evaluate LLM outputs",
        "benchmark prompts and agents"
      ]
    },
    {
      "repo": "lmnr-ai/lmnr",
      "stars": 3138,
      "agent": true,
      "local": true,
      "cloud": true,
      "cloudflare": false,
      "docker": true,
      "maintenance_score": 52,
      "quality_score": 29,
      "agent_score": 76,
      "best_for": [
        "evaluate LLM outputs",
        "benchmark prompts and agents"
      ]
    }
  ],
  "winner": "promptfoo/promptfoo",
  "reasoning": "promptfoo/promptfoo has the strongest combined agent score and maintenance profile in this comparison.",
  "summary": "promptfoo/promptfoo leads 4 compared projects. Review the decision matrix before treating it as the default recommendation.",
  "stats": {
    "candidate_count": 4,
    "cloudflare_ready_count": 0,
    "docker_ready_count": 3,
    "local_ready_count": 4,
    "highest_agent_score": 88,
    "highest_quality_score": 72
  },
  "decision_matrix": [
    {
      "repo": "openai/euphony",
      "strengths": [
        "Useful baseline candidate for comparison."
      ],
      "tradeoffs": [
        "Maintenance score is 6/100."
      ],
      "next_step": "Use as an alternative or fallback candidate."
    },
    {
      "repo": "promptfoo/promptfoo",
      "strengths": [
        "Leads this comparison context.",
        "Strong agent score at 88/100.",
        "Strong quality score at 72/100."
      ],
      "tradeoffs": [],
      "next_step": "Inspect score and graph before adopting."
    },
    {
      "repo": "langwatch/langwatch",
      "strengths": [
        "Strong agent score at 81/100."
      ],
      "tradeoffs": [],
      "next_step": "Use as an alternative or fallback candidate."
    },
    {
      "repo": "lmnr-ai/lmnr",
      "strengths": [
        "Strong agent score at 76/100."
      ],
      "tradeoffs": [],
      "next_step": "Use as an alternative or fallback candidate."
    }
  ],
  "next_actions": [
    {
      "label": "Open winning project",
      "href": "/projects/promptfoo/promptfoo",
      "kind": "project"
    },
    {
      "label": "Inspect graph",
      "href": "/graph/promptfoo/promptfoo",
      "kind": "graph"
    },
    {
      "label": "Find alternatives",
      "href": "/alternatives/promptfoo/promptfoo",
      "kind": "alternatives"
    },
    {
      "label": "Explain score",
      "href": "/score/promptfoo/promptfoo",
      "kind": "score"
    },
    {
      "label": "Get recommendations",
      "href": "/api/recommend?limit=5",
      "kind": "recommend"
    }
  ],
  "context": {},
  "project_ids": [
    "openai/euphony",
    "promptfoo/promptfoo",
    "langwatch/langwatch",
    "lmnr-ai/lmnr"
  ],
  "requested_repos": [
    "openai/euphony",
    "promptfoo/promptfoo",
    "langwatch/langwatch",
    "lmnr-ai/lmnr"
  ],
  "resolved_repos": [
    {
      "requested_id": "openai/euphony",
      "resolved_id": "openai/euphony",
      "resolution": "direct"
    },
    {
      "requested_id": "promptfoo/promptfoo",
      "resolved_id": "promptfoo/promptfoo",
      "resolution": "direct"
    },
    {
      "requested_id": "langwatch/langwatch",
      "resolved_id": "langwatch/langwatch",
      "resolution": "direct"
    },
    {
      "requested_id": "lmnr-ai/lmnr",
      "resolved_id": "lmnr-ai/lmnr",
      "resolution": "direct"
    }
  ],
  "order": "input",
  "metadata": {
    "source": "d1",
    "reason": "d1_query",
    "project_count": 1048,
    "generated_at": "2026-08-06T06:19:18.145Z",
    "snapshot_id": "d1:1048:2026-08-06T05:31:06.840Z",
    "latest_synced_at": "2026-08-06T05:31:06.840Z",
    "schema_version": "git-top.knowledge.v1",
    "loaded_project_limit": 2000,
    "truncated": false
  }
}