* LLM judge for DESIGN.md quality — checks font blacklist compliance, * coherence, specificity, and AI slop avoidance.
(designMd: string)
| 1947 | * coherence, specificity, and AI slop avoidance. |
| 1948 | */ |
| 1949 | async function designQualityJudge(designMd: string): Promise<{ passed: boolean; reasoning: string }> { |
| 1950 | return callJudge<{ passed: boolean; reasoning: string }>(`You are evaluating a generated DESIGN.md file for quality. |
| 1951 | |
| 1952 | Evaluate against these criteria — ALL must pass for an overall "passed: true": |
| 1953 | 1. Does NOT recommend Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Montserrat, or Poppins as primary fonts |
| 1954 | 2. Aesthetic direction is coherent with color approach (e.g., brutalist aesthetic doesn't pair with expressive color without explanation) |
| 1955 | 3. Font recommendations include specific font names (not generic like "a sans-serif font") |
| 1956 | 4. Color palette includes actual hex values, not placeholders like "[hex]" |
| 1957 | 5. Rationale is provided for major decisions (not just "because it looks good") |
| 1958 | 6. No AI slop patterns: purple gradients mentioned positively, "3-column feature grid" language, generic marketing speak |
| 1959 | 7. Product context is reflected in design choices (civic tech → should have appropriate, professional aesthetic) |
| 1960 | |
| 1961 | DESIGN.md content: |
| 1962 | \`\`\` |
| 1963 | ${designMd} |
| 1964 | \`\`\` |
| 1965 | |
| 1966 | Return JSON: { "passed": true/false, "reasoning": "one paragraph explaining your evaluation" }`); |
| 1967 | } |
| 1968 | |
| 1969 | describeIfSelected('Design Consultation E2E', [ |
| 1970 | 'design-consultation-core', 'design-consultation-research', |
no test coverage detected