{
  "title": "Humanizer skill test: AI tells in 24 drafts, November 2026",
  "humanControls": {
    "note": "seo 0.17.1, blog preset, on 5 texts written before ChatGPT. Dashes are house style, not AI patterns.",
    "texts": [
      {
        "id": "joel-neverdo-2000",
        "words": 365,
        "findings": [
          {
            "rule": "heres-announcement",
            "level": "warning",
            "excerpt": "And here is the interesting observation: they are probably wrong."
          }
        ]
      },
      { "id": "pg-ds-2013", "words": 384, "findings": [] },
      {
        "id": "pg-love-2006",
        "words": 412,
        "findings": [
          {
            "rule": "dash",
            "level": "error",
            "excerpt": ", occasionally, playing wasn't — for example, if you fell and h"
          },
          {
            "rule": "dash",
            "level": "error",
            "excerpt": "nt work could literally be fun — fun like playing. It took me y"
          }
        ]
      },
      {
        "id": "wiki-heatpump-2021",
        "words": 358,
        "findings": [
          {
            "rule": "dash",
            "level": "error",
            "excerpt": "First large scale installation—the Royal Festival Hall in Lon"
          }
        ]
      },
      {
        "id": "wiki-porto-2021",
        "words": 352,
        "findings": [
          {
            "rule": "dash",
            "level": "error",
            "excerpt": "n Empire . Its combined Celtic - Latin name, Portus Cale , has"
          }
        ]
      }
    ]
  },
  "method": {
    "date": "2026-11-06",
    "drafts": "Claude Code 2.1.318 in print mode wrote each draft from the prompt in draftPrompt, with no tools, once with claude-sonnet-4-5 and once with claude-sonnet-5-5.",
    "rewrites": "Each rewrite ran once in a fresh folder holding only draft.md, in Claude Code 2.1.318 with claude-sonnet-5-5, using the prompt in rewritePrompts. For the seo lint arm, seo 0.17.1 was first on PATH. The plain arm had no tools beyond those Claude Code has built in.",
    "seoLint": "Scores use seo 0.17.1, blog preset. AI patterns are the ai category (seo lint --only ai); house style is the copy category (dashes, bold, banned words and similar). The seo lint arm ran seo 0.17.1 from npm.",
    "titleCase": "Title Case headings (judge pattern 20) are left out of every score: they are not counted as an AI tell, and seo lint has no rule for them.",
    "judge": "claude-sonnet-5-5 with the prompt in judgePrompt, three runs per text, blind to which version it was reading. Wikipedia patterns is the mean count over the three runs, without pattern 20. Added claims is the median over the three runs of claims the judge found in the text and not in the draft, after dropping lines the judge itself called supported.",
    "detector": "desklib/ai-text-detector-v1.01 on Hugging Face, Markdown syntax removed, first 768 tokens, score is the probability the text is AI-written.",
    "judgePrompt": "You are checking a piece of writing for patterns common in AI-generated text. You will get an ORIGINAL draft and a TEXT to check. Check only TEXT. Use ORIGINAL only to find claims TEXT adds.\n\nCount every instance in TEXT of these patterns (from Wikipedia's \"Signs of AI writing\"):\n\n1. Not X but Y: \"It's not just X, it's Y\", \"This doesn't mean X. It means Y.\", a clipped negative tail such as \", no guessing\".\n2. One-line closers and dramatic fragments: a short line that restates the point (\"That is the real win.\", \"Let that sink in.\"), a row of verbless fragments (\"No fees. No catch.\").\n3. Sayings that sound deep: \"At its core\", \"The real question is\", \"X is the language of Y\".\n4. Staged run-up: \"Let's dive in\", \"Here's the thing\", \"Honestly?\", \"Here's what you need to know\".\n5. Arguing with no one: \"This isn't about...\", \"I'm not saying...\", \"To be clear\", a rejected option nobody raised.\n6. Forced triads: three items or three parallel clauses where the meaning does not need three.\n7. Repeated sentence openings for rhythm.\n9. Stacked qualifiers: \"could potentially\", \"might arguably\".\n12. Overused AI words: delve, tapestry, testament, showcase, pivotal, crucial, landscape (abstract), vibrant, intricate, underscore, highlight (verb), enhance, foster, seamless, robust (figurative), meticulous, additionally.\n13. Inflated significance: \"a pivotal moment\", \"stands as a testament\", \"the future looks bright\", \"a step in the right direction\".\n14. Vague connection: \"associated with\", \"linked to\" where the relationship is not named.\n15. Shallow -ing riders: a clause such as \", highlighting...\", \", ensuring...\", \", reflecting...\" tacked onto a fact.\n16. Sales language: nestled, breathtaking, stunning, must-visit, renowned, magical, unforgettable, in the heart of.\n17. Borrowed authority: \"experts say\", \"studies show\" with no named source.\n18. Avoiding is/are/has: \"serves as\", \"stands as\", \"boasts\", \"features\".\n19. Bold as decoration, or list items that each open with a bold label and a colon.\n20. Decorative headings: Title Case Headings, emojis, arrows.\n22. Chatbot residue: \"I hope this helps\", \"Great question\", \"Let me know if\".\n23. Knowledge-limit disclaimers and guesses.\n24. A heading repeated in the first sentence under it.\n25. Writing about the document: \"In this post we'll cover\", \"The table below shows\".\n\nCount each separate instance once, under its best-fitting pattern. A careful human writer would also use some of these; count them anyway. Do not count dashes or curly quotes.\n\nThen list every factual claim in TEXT that ORIGINAL does not support: a new number, name, date, place, feature, quote, event or first-person experience. Rewording, cutting and opinions that add no fact do not count.\n\nReply with only JSON, no code fence:\n{\"instances\":[{\"pattern\":<number>,\"quote\":\"<exact words from TEXT>\"}],\"added_claims\":[\"<claim>\"]}\n"
  },
  "conditions": [
    { "key": "original", "label": "AI draft" },
    { "key": "lint171", "label": "seo lint" },
    { "key": "plain", "label": "Plain prompt" }
  ],
  "metrics": [
    { "key": "words", "label": "Words" },
    { "key": "lintAi", "label": "seo lint AI patterns" },
    { "key": "lintStyle", "label": "seo lint house style" },
    { "key": "judge", "label": "Wikipedia patterns", "format": "decimal" },
    { "key": "added", "label": "Added claims", "format": "decimal" },
    { "key": "detector", "label": "Detector AI score", "format": "percent" }
  ],
  "legend": "Marked: lines seo lint 0.17.1 flags, and the patterns the judge counted in its first of three runs. Wikipedia patterns is the mean of three judge runs and added claims the median, both without Title Case headings.",
  "drafts": [
    {
      "id": "sonnet45-launch",
      "label": "Launch post, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a product launch blog post of about 350 words: Ledgerly, a budgeting app for small teams, is launching shared budgets. Include these facts: shared budgets launch on March 3; included on the Team plan at $12 per seat a month. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Ledgerly", "March 3", "$12", "Team plan"],
      "versions": {
        "original": {
          "text": "# Introducing Shared Budgets: Collaborate Smarter with Ledgerly\n\nWe're thrilled to announce that shared budgets are coming to Ledgerly on **March 3**, giving small teams a powerful new way to plan, track, and manage finances together.\n\n## Budget Together, Stay Aligned\n\nUntil now, keeping everyone on the same page about team spending meant endless spreadsheet updates, Slack messages, and budget meetings that could have been emails. With shared budgets, your entire team gets real-time visibility into what's been spent, what's remaining, and where money is going—all in one place.\n\nWhether you're managing a marketing campaign budget, tracking project expenses, or coordinating departmental spending, shared budgets make collaboration effortless. Everyone sees the same numbers at the same time, so there's no confusion about whether you can approve that software subscription or book those conference tickets.\n\n## Built for How Teams Actually Work\n\nWe designed shared budgets with real team workflows in mind. Set spending limits by category, assign budget owners, and get notifications when you're approaching thresholds. Team members can log expenses as they happen, attach receipts, and add context so everyone understands the story behind the numbers.\n\nPermission controls let you decide who can view, edit, or manage each budget. Give your whole team visibility while restricting editing to budget owners, or open everything up for full collaboration—it's your call.\n\n## Available Now on the Team Plan\n\nShared budgets are included with Ledgerly's Team plan at **$12 per seat per month**. There's no premium tier to unlock, no per-budget fees—just straightforward pricing that scales with your team.\n\nCurrent Team plan subscribers will get access automatically on March 3. If you're on our free plan and want to try shared budgets, upgrading takes just a few clicks.\n\n## What's Next\n\nShared budgets are just the beginning. We're already working on budget templates, automated expense categorization, and deeper integrations with the tools your team uses every day.\n\nReady to bring your team's budgeting into the modern era? Mark your calendar for March 3 and get ready to experience financial collaboration the way it should be.",
          "marks": [
            "thrilled to announce",
            ", giving small teams a powerful new way to plan, track, and manage finances together.",
            ", keeping everyone on the same page about team spending meant endless spreadsheet updates, Slack messages, and budget meetings tha",
            "ning, and where money is going—all in one place.",
            "effortless",
            "hing up for full collaboration—it's your call.",
            "to unlock, no per-budget fees—just straightforward pricing t",
            "unlock",
            "are just the beginning",
            "Ready to bring your team's budgeting into the modern era?",
            "the way it should be",
            "giving small teams a powerful new way to plan, track, and manage finances together",
            "plan, track, and manage finances together",
            "what's been spent, what's remaining, and where money is going",
            "managing a marketing campaign budget, tracking project expenses, or coordinating departmental spending",
            "Set spending limits by category, assign budget owners, and get notifications when you're approaching thresholds",
            "log expenses as they happen, attach receipts, and add context",
            "who can view, edit, or manage each budget",
            "There's no premium tier to unlock, no per-budget fees—just straightforward pricing that scales with your team.",
            "Shared budgets are just the beginning.",
            "budget templates, automated expense categorization, and deeper integrations"
          ],
          "scores": {
            "words": 341,
            "lintAi": 6,
            "lintStyle": 5,
            "judge": 10,
            "added": 0,
            "detector": 0.9996
          },
          "lintFindings": [
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "thrilled to announce"
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", giving small teams a powerful new way to plan, track, and manage finances together."
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", keeping everyone on the same page about team spending meant endless spreadsheet updates, Slack messages, and budget meetings tha"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "ning, and where money is going—all in one place."
            },
            { "rule": "buzzword", "level": "warning", "excerpt": "effortless" },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "hing up for full collaboration—it's your call."
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "to unlock, no per-budget fees—just straightforward pricing t"
            },
            { "rule": "banned-word", "level": "error", "excerpt": "unlock" },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "are just the beginning"
            },
            {
              "rule": "cta-question",
              "level": "error",
              "excerpt": "Ready to bring your team's budgeting into the modern era?"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "the way it should be"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 7, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 5, "13": 2, "15": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Introducing Shared Budgets: Collaborate Smarter with Ledgerly\n\nShared budgets come to Ledgerly on **March 3**. Small teams can plan, track, and manage finances together.\n\n## Budget Together, Stay Aligned\n\nUntil now, keeping everyone on the same page about team spending meant endless spreadsheet updates, Slack messages, and budget meetings that could have been emails. With shared budgets, your entire team gets real-time visibility into what's been spent, what's remaining, and where money is going, all in one place.\n\nWhether you're managing a marketing campaign budget, tracking project expenses, or coordinating departmental spending, shared budgets make collaboration simpler. Everyone sees the same numbers at the same time, so there's no confusion about whether you can approve that software subscription or book those conference tickets.\n\n## Built for How Teams Actually Work\n\nWe designed shared budgets with real team workflows in mind. Set spending limits by category, assign budget owners, and get notifications when you're approaching thresholds. Team members can log expenses as they happen, attach receipts, and add context so everyone understands the story behind the numbers.\n\nPermission controls let you decide who can view, edit, or manage each budget. Give your whole team visibility while restricting editing to budget owners, or open everything up for full collaboration. It's your call.\n\n## Available Now on the Team Plan\n\nShared budgets are included with Ledgerly's Team plan at **$12 per seat per month**. There's no premium tier to buy, no per-budget fees, just straightforward pricing that scales with your team.\n\nCurrent Team plan subscribers will get access automatically on March 3. If you're on our free plan and want to try shared budgets, upgrading takes just a few clicks.\n\n## What's Next\n\nWe're already working on budget templates, automated expense categorization, and deeper integrations with the tools your team uses every day.\n\nShared budgets arrive on March 3. Team plan subscribers get access automatically.",
          "marks": [
            "budget templates, automated expense categorization, and deeper integrations",
            "what's been spent, what's remaining, and where money is going",
            "Whether you're managing a marketing campaign budget, tracking project expenses, or coordinating departmental spending",
            "Set spending limits by category, assign budget owners, and get notifications",
            "view, edit, or manage each budget",
            "no premium tier to buy, no per-budget fees, just straightforward pricing",
            "Shared budgets arrive on March 3. Team plan subscribers get access automatically.",
            "It's your call.",
            "Shared budgets arrive on March 3. Team plan subscribers get access automatically."
          ],
          "scores": {
            "words": 308,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6.7,
            "added": 0,
            "detector": 0.9955
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 5, "7": 1, "13": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 2, "7": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 1, "2": 2, "6": 3 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Shared Budgets Are Coming to Ledgerly\n\nOn **March 3**, Ledgerly is getting shared budgets, so small teams can plan and track their money in one place.\n\n## Keeping everyone on the same page\n\nTeam spending usually gets tracked in a mess of spreadsheets, Slack threads, and meetings that should have been emails. Shared budgets replace that. Everyone can see what's been spent, what's left, and where it went.\n\nIt works for a marketing campaign, a single project, or a whole department. Because everyone is looking at the same numbers, nobody has to ask whether there's room for that software subscription or those conference tickets.\n\n## How it works\n\nYou set spending limits by category and assign an owner to each budget. Ledgerly notifies you when you're getting close to a limit. Anyone on the team can log an expense when it happens, attach the receipt, and add a note explaining it.\n\nPermissions are up to you. You can let the whole team view a budget while only owners can edit it, or you can open it up so everyone can change things.\n\n## Pricing\n\nShared budgets come with the Team plan, which costs **$12 per seat per month**. There's no higher tier to unlock and no fee per budget.\n\nIf you're already on the Team plan, you'll get shared budgets automatically on March 3. If you're on the free plan and want to try them, you can upgrade in a few clicks.\n\n## What's next\n\nWe're also working on budget templates, automatic expense categorization, and tighter integrations with the tools your team already uses. We'll share more as they get closer.\n\nShared budgets arrive March 3.",
          "marks": [
            "unlock",
            "in a few clicks",
            "Shared budgets arrive March 3.",
            "Shared budgets replace that.",
            "Everyone can see what's been spent, what's left, and where it went.",
            "budget templates, automatic expense categorization, and tighter integrations"
          ],
          "scores": {
            "words": 272,
            "lintAi": 0,
            "lintStyle": 2,
            "judge": 3.7,
            "added": 1,
            "detector": 0.5933
          },
          "lintFindings": [
            { "rule": "banned-word", "level": "error", "excerpt": "unlock" },
            {
              "rule": "marketing-phrase",
              "level": "error",
              "excerpt": "in a few clicks"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 2, "6": 2 },
              "addedClaims": [
                "Ledgerly notifies you when you're getting close to a limit (original says notifications when approaching thresholds, so supported; no new claim)",
                "We'll share more as they get closer"
              ]
            },
            { "byPattern": { "1": 1, "2": 1, "6": 3 }, "addedClaims": [] },
            {
              "byPattern": { "2": 1, "7": 1 },
              "addedClaims": [
                "Ledgerly notifies you when you're getting close to a limit (framed as a product behavior; original says users get notifications when approaching thresholds, so supported)",
                "Anyone on the team can log an expense (original says team members can log expenses; supported)",
                "Spending limits and ownership applied 'to each budget' (supported)",
                "We'll share more as the planned features get closer"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-roaster",
      "label": "Company news, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a company blog post of about 350 words: Ridgeway Coffee is switching all its retail bags to compostable packaging. Include these facts: Ridgeway Coffee was founded in 2019, runs 14 cafes and ships about 40,000 bags of coffee a year. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Ridgeway", "2019", "14", "40,000"],
      "versions": {
        "original": {
          "text": "# Ridgeway Coffee Commits to Compostable Packaging Across All Retail Bags\n\nWe're excited to announce a major milestone in our sustainability journey: Ridgeway Coffee is transitioning all our retail coffee bags to 100% compostable packaging. This change represents our commitment to reducing environmental impact while continuing to deliver the exceptional coffee quality our customers expect.\n\nSince founding Ridgeway Coffee in 2019, we've grown from a single location to 14 cafes across the region, shipping approximately 40,000 bags of coffee each year to homes and businesses. With that growth comes responsibility—responsibility to our customers, our community, and our planet. Traditional coffee packaging, while effective at preserving freshness, contributes to the mounting problem of plastic waste. We knew we could do better.\n\nAfter extensive research and testing, we've partnered with leading sustainable packaging innovators to develop bags that maintain coffee freshness while breaking down naturally in commercial composting facilities. These new bags are made from plant-based materials that will fully decompose within 12-16 weeks, leaving no toxic residue behind.\n\nThis transition means that every one of those 40,000 bags we ship annually will have a dramatically reduced environmental footprint. Instead of sitting in landfills for decades, our packaging will return nutrients to the soil. For our customers, this means you can enjoy your morning brew knowing that every element—from bean to bag—reflects values of environmental stewardship.\n\nThe switch hasn't been without challenges. Compostable materials require different handling and storage protocols, and the investment is significant. But when we calculated the environmental cost of maintaining the status quo, the choice became clear. Our team across all 14 locations has embraced this change enthusiastically, and we're already exploring additional sustainability initiatives for our cafes.\n\nWe're grateful to our loyal customers who've supported us since 2019 and helped make this transition possible. Your choice to buy Ridgeway Coffee now carries even greater impact. Together, we're proving that exceptional coffee and environmental responsibility aren't mutually exclusive—they're essential partners in building a better future.\n\nLook for our new compostable bags starting this month. Same great coffee, better for the planet.",
          "marks": [
            "a major milestone",
            "represents our commitment",
            "at growth comes responsibility—responsibility to our customer",
            "our customers, our community, and our planet",
            "rew knowing that every element—from bean to bag—reflects valu",
            "the choice became clear",
            "lity aren't mutually exclusive—they're essential partners in",
            "building a better future",
            "Together, we're proving that exceptional coffee and environmental responsibility aren't mutually exclusive—they're essential partners in building a better future.",
            "We knew we could do better.",
            "Same great coffee, better for the planet.",
            "responsibility to our customers, our community, and our planet",
            "We're excited to announce a major milestone in our sustainability journey",
            "essential partners in building a better future",
            "leaving no toxic residue behind",
            "This change represents our commitment to reducing environmental impact",
            "reflects values of environmental stewardship",
            "Your choice to buy Ridgeway Coffee now carries even greater impact."
          ],
          "scores": {
            "words": 348,
            "lintAi": 5,
            "lintStyle": 3,
            "judge": 9.3,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "a major milestone"
            },
            {
              "rule": "copula-avoidance",
              "level": "error",
              "excerpt": "represents our commitment"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "at growth comes responsibility—responsibility to our customer"
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "our customers, our community, and our planet"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "rew knowing that every element—from bean to bag—reflects valu"
            },
            {
              "rule": "colon-reveal",
              "level": "error",
              "excerpt": "the choice became clear"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "lity aren't mutually exclusive—they're essential partners in"
            },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "building a better future"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": {
                "1": 2,
                "2": 2,
                "6": 1,
                "13": 2,
                "15": 1,
                "18": 2
              },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 1,
                "2": 2,
                "6": 1,
                "7": 1,
                "13": 2,
                "15": 1,
                "18": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 1,
                "2": 2,
                "6": 1,
                "7": 1,
                "9": 1,
                "13": 2,
                "15": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Ridgeway Coffee Commits to Compostable Packaging Across All Retail Bags\n\nWe're excited to announce news: Ridgeway Coffee is transitioning all our retail coffee bags to 100% compostable packaging. This change is our commitment to reducing environmental impact while continuing to deliver the exceptional coffee quality our customers expect.\n\nSince founding Ridgeway Coffee in 2019, we've grown from a single location to 14 cafes across the region, shipping approximately 40,000 bags of coffee each year to homes and businesses. With that growth comes responsibility to our customers and our community, and to the planet. Traditional coffee packaging, while effective at preserving freshness, contributes to the mounting problem of plastic waste. We knew we could do better.\n\nAfter extensive research and testing, we've partnered with leading sustainable packaging innovators to develop bags that maintain coffee freshness while breaking down naturally in commercial composting facilities. These new bags are made from plant-based materials that will fully decompose within 12-16 weeks, leaving no toxic residue behind.\n\nThis transition means that every one of those 40,000 bags we ship annually will have a dramatically reduced environmental footprint. Instead of sitting in landfills for decades, our packaging will return nutrients to the soil. For our customers, this means you can enjoy your morning brew knowing that every element, from bean to bag, reflects values of environmental stewardship.\n\nThe switch hasn't been without challenges. Compostable materials require different handling and storage protocols, and the investment is significant. But the environmental cost of keeping the status quo was higher, so we made the switch. Our team across all 14 locations has embraced this change enthusiastically, and we're already exploring additional sustainability initiatives for our cafes.\n\nWe're grateful to our loyal customers who've supported us since 2019 and helped make this transition possible. Your choice to buy Ridgeway Coffee now carries even greater impact. Together, we're proving that exceptional coffee and environmental responsibility aren't mutually exclusive. They belong together.\n\nLook for our new compostable bags starting this month. Same great coffee, better for the planet.",
          "marks": [
            "exceptional coffee and environmental responsibility aren't mutually exclusive",
            "They belong together.",
            "We knew we could do better.",
            "Same great coffee, better for the planet.",
            "responsibility to our customers and our community, and to the planet",
            "leaving no toxic residue behind",
            "Your choice to buy Ridgeway Coffee now carries even greater impact."
          ],
          "scores": {
            "words": 338,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 7,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "2": 3, "5": 1, "6": 1, "13": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 3, "5": 1, "6": 1, "13": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 3, "6": 1, "15": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Ridgeway Coffee Is Moving All Retail Bags to Compostable Packaging\n\nStarting this month, every retail bag of Ridgeway coffee will come in compostable packaging.\n\nWe opened in 2019 with one location. We now have 14 cafes and ship about 40,000 bags a year to homes and businesses. That's a lot of packaging, and most coffee bags end up in a landfill. We didn't like being part of that, so we decided to change it.\n\nIt took a while to get right. A bag has to keep coffee fresh, and early on, the compostable options we tried didn't do that well enough. We tested several and worked with a packaging supplier until we found one that holds up. The new bags are plant-based and break down in 12 to 16 weeks in a commercial composting facility. Note that this is not the same as your backyard bin, so check whether your area has a drop-off or pickup program.\n\nIt wasn't easy or cheap. The new bags need different handling and storage, and they cost us noticeably more. We decided it was worth it anyway. Staff at all 14 cafes have taken to the change, and we're now looking at what else we can do in the cafes themselves.\n\nThank you to everyone who has bought our coffee since 2019. You're the reason we could afford to do this.\n\nThe coffee inside is the same. Only the bag is different.",
          "marks": [
            "The coffee inside is the same. Only the bag is different.",
            "We opened in 2019 with one location. We now have 14 cafes",
            "Note that this is not the same as your backyard bin, so check whether your area has a drop-off or pickup program.",
            "It wasn't easy or cheap."
          ],
          "scores": {
            "words": 239,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 4.3,
            "added": 7,
            "detector": 0.3889
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "7": 1 },
              "addedClaims": [
                "Early compostable options they tried didn't keep coffee fresh well enough",
                "They tested several options and worked with a packaging supplier",
                "Most coffee bags end up in a landfill",
                "The new bags cost noticeably more",
                "The bags are not suitable for backyard composting; need drop-off or pickup program",
                "Staff are now looking at what else they can do in the cafes (reworded exploration, fine) ",
                "Customers' purchases are the reason they could afford to do this"
              ]
            },
            {
              "byPattern": { "2": 2, "5": 1, "7": 1 },
              "addedClaims": [
                "Most coffee bags end up in a landfill",
                "Early compostable options they tried didn't keep coffee fresh well enough",
                "They tested several options and worked with a packaging supplier until they found one that holds up",
                "The new bags are not the same as backyard composting and require a commercial facility drop-off or pickup program",
                "The new bags cost noticeably more",
                "They are now looking at what else they can do in the cafes",
                "Customers' purchases made it affordable to do this",
                "The coffee inside is the same"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 1, "7": 1 },
              "addedClaims": [
                "Most coffee bags end up in a landfill",
                "Early compostable options they tried did not keep coffee fresh well enough",
                "They tested several options and worked with a single packaging supplier",
                "The new bags cost noticeably more",
                "The bags are not suited to backyard composting and may need a drop-off or pickup program",
                "Staff at all 14 cafes 'have taken to' the change (original says 'embraced', fine) – no new claim",
                "The customers' support made it affordable ('You're the reason we could afford to do this')",
                "They opened in 2019 with one location (original says single location, supported)",
                "The company is looking at what else it can do in the cafes themselves (original: additional sustainability initiatives, supported)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-howto",
      "label": "How-to guide, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a how-to guide of about 350 words: how to repot a fiddle-leaf fig. Include these facts: repot every 18 months, choose a pot 2 inches wider, do it in spring, and use a pot with drainage holes. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["18 months", "2 inches", "spring", "drainage"],
      "versions": {
        "original": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs are stunning houseplants that require periodic repotting to maintain their health and vigor. Plan to repot your fiddle-leaf fig every 18 months to give the roots adequate space to grow and prevent the plant from becoming root-bound.\n\n## When to Repot\n\nSpring is the ideal time to repot your fiddle-leaf fig. During this season, the plant enters its active growth phase, allowing it to recover quickly from the stress of transplanting and establish itself in its new container.\n\n## Choosing the Right Pot\n\nSelect a new pot that is 2 inches wider in diameter than the current one. This provides sufficient room for root growth without overwhelming the plant with too much soil, which can lead to waterlogging. Most importantly, ensure your chosen pot has drainage holes at the bottom. Proper drainage is essential for preventing root rot, one of the most common issues affecting fiddle-leaf figs.\n\n## Step-by-Step Process\n\n**Prepare your materials:** Gather your new pot, fresh well-draining potting mix (preferably formulated for indoor plants), and water.\n\n**Remove the plant:** Gently tip the pot on its side and carefully slide the fiddle-leaf fig out. If it's stuck, run a knife around the inside edge or tap the pot's sides to loosen the root ball.\n\n**Inspect the roots:** Check for any brown, mushy, or circling roots. Trim away damaged roots with clean scissors and gently tease apart circling roots to encourage outward growth.\n\n**Add soil:** Place a layer of fresh potting mix in the bottom of the new pot, enough so that when you place the plant inside, the top of the root ball sits about an inch below the rim.\n\n**Position and fill:** Center the plant in the new pot and fill around the sides with potting mix, pressing gently to eliminate air pockets. Leave the root crown at the same level it was in the previous pot.\n\n**Water thoroughly:** Water the plant until liquid drains from the bottom holes, then place it in its usual spot with bright, indirect light.\n\nYour fiddle-leaf fig should now thrive in its new home for the next 18 months.",
          "marks": [
            "stunning",
            "Prepare your materials:",
            "Remove the plant:",
            "Inspect the roots:",
            "Add soil:",
            "Position and fill:",
            "Water thoroughly:",
            "Fiddle-leaf figs are stunning houseplants",
            "allowing it to recover quickly from the stress of transplanting and establish itself in its new container",
            "**Prepare your materials:**",
            "**Remove the plant:**",
            "**Inspect the roots:**",
            "**Add soil:**",
            "**Position and fill:**",
            "**Water thoroughly:**",
            "brown, mushy, or circling roots"
          ],
          "scores": {
            "words": 352,
            "lintAi": 7,
            "lintStyle": 0,
            "judge": 9.7,
            "added": 0,
            "detector": 0.9998
          },
          "lintFindings": [
            {
              "rule": "ai-vocabulary",
              "level": "warning",
              "excerpt": "stunning"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Prepare your materials:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Remove the plant:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Inspect the roots:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Add soil:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Position and fill:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Water thoroughly:"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "6": 1, "15": 1, "16": 1, "19": 6 },
              "addedClaims": []
            },
            {
              "byPattern": { "6": 2, "15": 1, "16": 1, "19": 6 },
              "addedClaims": []
            },
            {
              "byPattern": { "6": 1, "15": 1, "16": 1, "19": 6, "24": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs are popular houseplants that require periodic repotting to maintain their health and vigor. Plan to repot your fiddle-leaf fig every 18 months to give the roots adequate space to grow and prevent the plant from becoming root-bound.\n\n## When to Repot\n\nSpring is the ideal time to repot your fiddle-leaf fig. During this season, the plant enters its active growth phase, allowing it to recover quickly from the stress of transplanting and establish itself in its new container.\n\n## Choosing the Right Pot\n\nSelect a new pot that is 2 inches wider in diameter than the current one. This provides sufficient room for root growth without overwhelming the plant with too much soil, which can lead to waterlogging. Most importantly, ensure your chosen pot has drainage holes at the bottom. Proper drainage is essential for preventing root rot, a frequent problem for fiddle-leaf figs.\n\n## Step-by-Step Process\n\nPrepare your materials: Gather your new pot, fresh well-draining potting mix (preferably formulated for indoor plants), and water.\n\nRemove the plant: Gently tip the pot on its side and carefully slide the fiddle-leaf fig out. If it's stuck, run a knife around the inside edge or tap the pot's sides to loosen the root ball.\n\nInspect the roots: Check for any brown, mushy, or circling roots. Trim away damaged roots with clean scissors and gently tease apart circling roots to encourage outward growth.\n\nAdd soil: Place a layer of fresh potting mix in the bottom of the new pot, enough so that when you place the plant inside, the top of the root ball sits about an inch below the rim.\n\nPosition and fill: Center the plant in the new pot and fill around the sides with potting mix, pressing gently to eliminate air pockets. Leave the root crown at the same level it was in the previous pot.\n\nWater thoroughly: Water the plant until liquid drains from the bottom holes, then place it in its usual spot with bright, indirect light.\n\nYour fiddle-leaf fig should now thrive in its new home for the next 18 months.",
          "marks": [
            "allowing it to recover quickly from the stress of transplanting and establish itself in its new container",
            "Spring is the ideal time to repot your fiddle-leaf fig.",
            "Prepare your materials: Gather your new pot"
          ],
          "scores": {
            "words": 349,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 3,
            "added": 0,
            "detector": 0.9998
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "15": 1, "19": 1, "24": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs are gorgeous, but they don't love being cramped. Plan on repotting yours about every 18 months so the roots have room to spread and the plant doesn't get root-bound.\n\n## When to Repot\n\nDo it in spring. The plant is just getting into its growing season then, so it bounces back from the shock faster and settles into the new pot.\n\n## Choosing the Right Pot\n\nGo up about 2 inches in diameter from the current pot. Any bigger and you've got a lot of extra soil sitting wet around the roots, which is how you end up with waterlogging. The one thing you can't skip is drainage holes in the bottom. Root rot is probably the most common way people kill these plants, and good drainage is your best defense.\n\n## Step-by-Step Process\n\n**Get your stuff together:** You'll need the new pot, fresh well-draining potting mix (one made for indoor plants is fine), and some water.\n\n**Take the plant out:** Tip the pot onto its side and gently slide the fig out. If it's stuck, run a knife around the inside edge or tap the sides of the pot to loosen the root ball.\n\n**Look at the roots:** You're checking for anything brown, mushy, or wrapped in circles. Snip off the damaged bits with clean scissors, and loosen up any circling roots with your fingers so they grow outward.\n\n**Add some soil:** Put a layer of fresh mix in the bottom of the new pot. You want enough that the top of the root ball ends up about an inch below the rim.\n\n**Set it in and fill:** Center the plant, then pack mix in around the sides, pressing lightly to push out air pockets. Keep the root crown at the same level it was in the old pot.\n\n**Water well:** Keep watering until it runs out the bottom holes, then put it back in its usual spot with bright, indirect light.\n\nThat's it. Your fig should be happy in its new pot for the next 18 months or so.",
          "marks": [
            "Get your stuff together:",
            "Take the plant out:",
            "Look at the roots:",
            "Add some soil:",
            "Set it in and fill:",
            "Water well:",
            "That's it.",
            "brown, mushy, or wrapped in circles",
            "**Get your stuff together:**"
          ],
          "scores": {
            "words": 346,
            "lintAi": 6,
            "lintStyle": 0,
            "judge": 4.7,
            "added": 2,
            "detector": 0.975
          },
          "lintFindings": [
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Get your stuff together:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Take the plant out:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Look at the roots:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Add some soil:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Set it in and fill:"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Water well:"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "6": 1, "19": 1 },
              "addedClaims": [
                "Root rot is probably the most common way people kill fiddle-leaf figs (ORIGINAL says only that it is one of the most common issues)"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 1, "19": 6 },
              "addedClaims": [
                "Any bigger and you end up with extra soil sitting wet around the roots, which causes waterlogging (framed as how waterlogging happens)",
                "Root rot is probably the most common way people kill these plants",
                "Loosen circling roots with your fingers",
                "The plant is just getting into its growing season in spring"
              ]
            },
            {
              "byPattern": { "2": 1, "19": 1 },
              "addedClaims": [
                "Loosen circling roots with your fingers",
                "Root rot is probably the most common way people kill these plants"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-library",
      "label": "Newsletter item, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a community newsletter item of about 350 words: the Hollis Public Library summer reading challenge. Include these facts: 1,200 children took part last year; this year it starts June 15 and runs for 8 weeks. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Hollis", "1,200", "June 15", "8 weeks"],
      "versions": {
        "original": {
          "text": "# Hollis Public Library Summer Reading Challenge Returns June 15\n\nGet ready, young readers! The Hollis Public Library is thrilled to announce the return of our beloved Summer Reading Challenge, kicking off on June 15 for eight weeks of literary adventure and fun.\n\nLast summer's program was our most successful yet, with an incredible 1,200 children diving into books and discovering new worlds through reading. From preschoolers tackling their first picture books to middle schoolers exploring epic fantasy series, our community's young readers proved that summer learning can be both educational and entertaining.\n\nThis year's challenge promises to be even more exciting. Whether your child is a reluctant reader or a bookworm who can't put down a good story, the program is designed to meet every young person where they are. Participants can read any books they choose—from graphic novels to non-fiction, chapter books to poetry—making it easy for every child to find something they'll love.\n\nRegistration opens May 1 at the library's circulation desk or online through our website. Children will receive a reading log to track their progress, and each book completed earns points toward exciting prizes. We're partnering with local businesses to offer rewards ranging from free ice cream cones to bookstore gift certificates, with a grand prize drawing at our celebration event in August.\n\nThroughout the eight weeks, we'll host special programming including author visits, storytelling sessions, craft activities, and themed reading clubs. Our children's librarians will be available to provide personalized reading recommendations and help kids discover new favorite authors and genres.\n\nThe Summer Reading Challenge isn't just about preventing the \"summer slide\" in reading skills—though research shows that's an important benefit. It's about fostering a lifelong love of reading, building community connections, and giving children a sense of accomplishment during their summer break.\n\nParents and caregivers are encouraged to participate too! We'll have resources and reading lists for families to enjoy books together, plus tips for creating reading-friendly spaces at home.\n\nMark your calendars for June 15, and join us in making this summer one filled with imagination, discovery, and the joy of reading. For more information, visit hollistibrary.org or call us at the main desk.",
          "marks": [
            "Get ready, young readers!",
            "thrilled to announce",
            "can read any books they choose—from graphic novels to non-fic",
            "ummer slide\" in reading skills—though research shows that's a",
            "research shows",
            "Parents and caregivers are encouraged to participate too!",
            "fostering a lifelong love of reading",
            "The Summer Reading Challenge isn't just about preventing the \"summer slide\" in reading skills—though research shows that's an important benefit. It's about fostering a lifelong love of reading",
            "research shows that's an important benefit",
            "building community connections, and giving children a sense of accomplishment",
            "author visits, storytelling sessions, craft activities, and themed reading clubs",
            "imagination, discovery, and the joy of reading",
            "making it easy for every child to find something they'll love",
            "graphic novels to non-fiction, chapter books to poetry"
          ],
          "scores": {
            "words": 366,
            "lintAi": 2,
            "lintStyle": 4,
            "judge": 9,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "exclamation",
              "level": "warning",
              "excerpt": "Get ready, young readers!"
            },
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "thrilled to announce"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "can read any books they choose—from graphic novels to non-fic"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "ummer slide\" in reading skills—though research shows that's a"
            },
            {
              "rule": "vague-attribution",
              "level": "error",
              "excerpt": "research shows"
            },
            {
              "rule": "exclamation",
              "level": "warning",
              "excerpt": "Parents and caregivers are encouraged to participate too!"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "6": 4, "12": 1, "15": 1, "17": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "5": 1,
                "6": 3,
                "12": 1,
                "15": 2,
                "16": 2,
                "17": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": {
                "5": 1,
                "6": 3,
                "12": 1,
                "15": 1,
                "16": 2,
                "17": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Hollis Public Library Summer Reading Challenge Returns June 15\n\nGet ready, young readers. The Hollis Public Library announces the return of our beloved Summer Reading Challenge, kicking off on June 15 for eight weeks of literary adventure and fun.\n\nLast summer's program was our most successful yet, with an incredible 1,200 children diving into books and discovering new worlds through reading. From preschoolers tackling their first picture books to middle schoolers exploring epic fantasy series, our community's young readers proved that summer learning can be both educational and entertaining.\n\nThis year's challenge promises to be even more exciting. Whether your child is a reluctant reader or a bookworm who can't put down a good story, the program is designed to meet every young person where they are. Participants can read any books they choose, from graphic novels to non-fiction, chapter books to poetry.\n\nRegistration opens May 1 at the library's circulation desk or online through our website. Children will receive a reading log to track their progress, and each book completed earns points toward exciting prizes. We're partnering with local businesses to offer rewards ranging from free ice cream cones to bookstore gift certificates, with a grand prize drawing at our celebration event in August.\n\nThroughout the eight weeks, we'll host special programming including author visits, storytelling sessions, craft activities, and themed reading clubs. Our children's librarians will be available to provide personalized reading recommendations and help kids discover new favorite authors and genres.\n\nThe Summer Reading Challenge isn't just about preventing the \"summer slide\" in reading skills, though that is an important benefit. It's about fostering a lifelong love of reading, building community connections, and giving children a sense of accomplishment during their summer break.\n\nParents and caregivers are encouraged to participate too. We'll have resources and reading lists for families to enjoy books together, plus tips for creating reading-friendly spaces at home.\n\nMark your calendars for June 15, and join us in making this summer one filled with imagination, discovery, and the joy of reading. For more information, visit hollistibrary.org or call us at the main desk.",
          "marks": [
            "The Summer Reading Challenge isn't just about preventing the \"summer slide\" in reading skills, though that is an important benefit. It's about fostering a lifelong love of reading, building community connections, and giving children a sense of accomplishment during their summer break.",
            "fostering a lifelong love of reading, building community connections, and giving children a sense of accomplishment",
            "imagination, discovery, and the joy of reading",
            "author visits, storytelling sessions, craft activities, and themed reading clubs",
            "fostering",
            "Get ready, young readers.",
            "kicking off on June 15 for eight weeks of literary adventure and fun",
            "diving into books and discovering new worlds through reading"
          ],
          "scores": {
            "words": 351,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 7.3,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "5": 1, "6": 3, "12": 1, "15": 2 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 1,
                "6": 2,
                "7": 1,
                "12": 1,
                "16": 2,
                "17": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 3, "12": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Hollis Public Library Summer Reading Challenge Returns June 15\n\nThe Hollis Public Library's Summer Reading Challenge is back. It starts June 15 and runs for eight weeks.\n\nLast summer was the biggest one we've had. About 1,200 kids took part, from preschoolers working through their first picture books to middle schoolers who tore through fantasy series. We'd like to see even more of them this year.\n\nKids can read whatever they want: graphic novels, nonfiction, chapter books, poetry. It doesn't matter whether your child reads constantly or has to be talked into it. If they finish it, it counts.\n\nRegistration opens May 1 at the circulation desk or on our website. Each child gets a reading log, and every book they finish earns points toward prizes. Local businesses are chipping in, so the prizes range from free ice cream cones to bookstore gift certificates. One lucky reader will win the grand prize at our celebration in August.\n\nOver the eight weeks we'll have author visits, storytimes, craft afternoons, and reading clubs. The children's librarians are also happy to suggest books if your kid is stuck or wants to find something new.\n\nYes, the program helps with the \"summer slide,\" the loss of reading skills over the break, and the research on that is solid. But we care just as much about kids finding books they love, meeting other readers, and feeling proud of what they've finished.\n\nParents and caregivers are welcome to join in. We'll have reading lists and resources for families, along with tips for setting up a good reading spot at home.\n\nTo find out more, visit hollistibrary.org or call the main desk.",
          "marks": [
            "It doesn't matter whether your child reads constantly or has to be talked into it.",
            "If they finish it, it counts.",
            "graphic novels, nonfiction, chapter books, poetry",
            "author visits, storytimes, craft afternoons, and reading clubs",
            "kids finding books they love, meeting other readers, and feeling proud of what they've finished",
            "the research on that is solid",
            "We'd like to see even more of them this year."
          ],
          "scores": {
            "words": 277,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6.7,
            "added": 5,
            "detector": 0.9898
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 3, "7": 1, "17": 1 },
              "addedClaims": [
                "The library's children's librarians will suggest books if a child is stuck (original said personalized recommendations; roughly supported)",
                "Local businesses are 'chipping in' (original said partnering; supported)",
                "One lucky reader will win the grand prize (original said a grand prize drawing; single winner is added)",
                "The research on the summer slide is described as solid (original said research shows it is an important benefit)",
                "Summer slide defined as loss of reading skills over the break"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 2, "17": 1 },
              "addedClaims": [
                "Last summer was the biggest one the library has had (rephrased from 'most successful yet'; not new)",
                "The library would like to see even more kids this year",
                "Prize winner is a single 'one lucky reader' who wins the grand prize",
                "Storytimes and craft 'afternoons' (specific time of day)",
                "Librarians help if a kid is 'stuck'",
                "Meeting other readers is a goal of the program"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 3, "17": 1 },
              "addedClaims": [
                "Local businesses are chipping in (original says partnering) – acceptable, but \"One lucky reader will win the grand prize\" specifies a single winner",
                "The summer slide is defined as the loss of reading skills over the break",
                "Prizes are earned for every book finished (original: each book completed earns points toward prizes) – consistent",
                "Activities include \"craft afternoons\" (original: craft activities)",
                "Kids \"who tore through fantasy series\" (original: exploring epic fantasy series)",
                "The grand prize will be won by a single reader"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-linkedin",
      "label": "LinkedIn post, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a LinkedIn post of about 350 words: someone announcing their promotion to head of design. Include these facts: the company is Northwind, they joined 6 years ago, and they will lead a team of 9. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Northwind", "6 years", "9", "head of design"],
      "versions": {
        "original": {
          "text": "I'm thrilled to share that I've been promoted to Head of Design at Northwind! 🎉\n\nSix years ago, I joined Northwind as a designer with a notebook full of ideas and a lot to learn. I couldn't have imagined then that this company would become such a formative part of my career journey. Every project, every challenge, and every collaboration has shaped not just my skills, but my understanding of what great design truly means.\n\nLooking back, I'm incredibly grateful for the opportunities I've had here. I've worked alongside talented people who pushed me to think differently, to advocate for our users more fiercely, and to never settle for \"good enough\" when we could achieve something exceptional. The trust that leadership has placed in me over the years has been humbling, and this promotion feels like both a milestone and a new beginning.\n\nAs Head of Design, I'll be leading our team of nine incredibly talented designers. I've had the privilege of working with many of them already, and I know firsthand the creativity, dedication, and user-centric thinking they bring to every project. My goal is to create an environment where each person can do their best work, where we can take bold creative risks, and where design continues to be a driving force in how Northwind serves our customers.\n\nI'm energized by what's ahead. We have ambitious plans for the coming year, and I'm committed to ensuring that design remains at the heart of everything we build. I want to deepen our design system, strengthen cross-functional collaboration, and continue championing the kind of thoughtful, accessible experiences that our users deserve.\n\nThank you to everyone who has mentored, supported, and challenged me along the way. To my team—I'm honored to step into this role, and I can't wait to see what we create together. And to the Northwind leadership who believed in me—thank you for this opportunity. Let's build something extraordinary.\n\nHere's to the next chapter! 🚀",
          "marks": [
            "I'm thrilled to share that I've been promoted to Head of Design at Northwind! 🎉",
            "thrilled to share",
            "🎉",
            "Every project, every challenge, and every collaboration has shaped not just",
            "d me along the way. To my team—I'm honored to step into this",
            "leadership who believed in me—thank you for this opportunity",
            "Let's build something extraordinary",
            "Here's to the next chapter! 🚀",
            "Here's to the next chapter!",
            "🚀",
            "not just my skills, but my understanding of what great design truly means",
            "Every project, every challenge, and every collaboration",
            "the creativity, dedication, and user-centric thinking",
            "deepen our design system, strengthen cross-functional collaboration, and continue championing",
            "mentored, supported, and challenged me",
            "Let's build something extraordinary.",
            "Here's to the next chapter!",
            "this promotion feels like both a milestone and a new beginning",
            "ensuring that design remains at the heart of everything we build"
          ],
          "scores": {
            "words": 327,
            "lintAi": 4,
            "lintStyle": 6,
            "judge": 9.3,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "exclamation",
              "level": "warning",
              "excerpt": "I'm thrilled to share that I've been promoted to Head of Design at Northwind! 🎉"
            },
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "thrilled to share"
            },
            { "rule": "emoji", "level": "warning", "excerpt": "🎉" },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "Every project, every challenge, and every collaboration has shaped not just"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "d me along the way. To my team—I'm honored to step into this"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "leadership who believed in me—thank you for this opportunity"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "Let's build something extraordinary"
            },
            {
              "rule": "exclamation",
              "level": "warning",
              "excerpt": "Here's to the next chapter! 🚀"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "Here's to the next chapter!"
            },
            { "rule": "emoji", "level": "warning", "excerpt": "🚀" }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 2, "6": 4, "13": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 2, "6": 4, "13": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 2, "6": 5, "7": 1, "13": 1, "15": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "I've been promoted to Head of Design at Northwind.\n\nSix years ago, I joined Northwind as a designer with a notebook full of ideas and a lot to learn. I couldn't have imagined then that this company would become such a formative part of my career journey. Each project and collaboration has shaped not just my skills, but my understanding of what great design truly means.\n\nLooking back, I'm incredibly grateful for the opportunities I've had here. I've worked alongside talented people who pushed me to think differently, to advocate for our users more fiercely, and to never settle for \"good enough\" when we could achieve something exceptional. The trust that leadership has placed in me over the years has been humbling, and this promotion feels like both a milestone and a new beginning.\n\nAs Head of Design, I'll be leading our team of nine incredibly talented designers. I've had the privilege of working with many of them already, and I know firsthand the creativity, dedication, and user-centric thinking they bring to every project. My goal is to create an environment where each person can do their best work, where we can take bold creative risks, and where design continues to be a driving force in how Northwind serves our customers.\n\nI'm energized by what's ahead. We have ambitious plans for the coming year, and I'm committed to ensuring that design remains at the heart of everything we build. I want to deepen our design system, strengthen cross-functional collaboration, and continue championing the kind of thoughtful, accessible experiences that our users deserve.\n\nThank you to everyone who has mentored, supported, and challenged me along the way. To my team, I'm honored to step into this role, and I can't wait to see what we create together. And to the Northwind leadership who believed in me, thank you for this opportunity.",
          "marks": [
            "the creativity, dedication, and user-centric thinking they bring to every project",
            "deepen our design system, strengthen cross-functional collaboration, and continue championing the kind of thoughtful, accessible experiences",
            "mentored, supported, and challenged me",
            "not just my skills, but my understanding of what great design truly means",
            "I'm committed to ensuring that design remains at the heart of everything we build",
            "this promotion feels like both a milestone and a new beginning"
          ],
          "scores": {
            "words": 310,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6.7,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "3": 1, "6": 3, "13": 1, "15": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 1, "6": 5, "13": 1 }, "addedClaims": [] },
            {
              "byPattern": { "1": 1, "6": 4, "7": 1, "15": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "Some news: I'm now Head of Design at Northwind.\n\nI started here six years ago as a designer, with a notebook full of ideas and not much else. I didn't expect to still be here, let alone to end up running the team. But the work kept getting more interesting, and the people made it hard to leave.\n\nI learned most of what I know from the people around me. They pushed me to argue harder for our users and to stop settling for \"good enough\" when we could do better. Leadership trusted me with more than I felt ready for, more than once. I don't take that lightly.\n\nI'll be leading a team of nine designers. I've already worked with a lot of them, so I know how good they are. My job is mostly to clear the way: give people room to do their best work, take some real creative risks, and keep design in the room when decisions get made about how we serve customers.\n\nFor this year, I want to put real time into our design system, work more closely with the teams around us, and keep pushing for accessible experiences that don't feel like an afterthought.\n\nThank you to everyone who mentored me, backed me, or told me when I was wrong. To the team: I'm honored, and I'm looking forward to what we make. To the leadership who took the bet on me: thank you.\n\nNow, back to work.",
          "marks": [
            "Now, back to work.",
            "give people room to do their best work, take some real creative risks, and keep design in the room when decisions get made about how we serve customers",
            "mentored me, backed me, or told me when I was wrong",
            "I didn't expect to still be here, let alone to end up running the team.",
            "give people room to do their best work, take some real creative risks, and keep design in the room"
          ],
          "scores": {
            "words": 245,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 4.7,
            "added": 5,
            "detector": 0.9115
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 3 },
              "addedClaims": [
                "The people made it hard to leave.",
                "Leadership trusted me with more than I felt ready for, more than once.",
                "Some of the people thanked told the author when they were wrong.",
                "The author's role is mostly to clear the way.",
                "The author didn't expect to still be at the company."
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 2 },
              "addedClaims": [
                "The author didn't expect to still be at Northwind after six years.",
                "The people made it hard to leave.",
                "Leadership trusted the author with more than they felt ready for, more than once.",
                "Others told the author when they were wrong.",
                "The author's job is mostly to clear the way.",
                "The author wants to keep design in the room when decisions are made about how they serve customers."
              ]
            },
            {
              "byPattern": { "2": 2, "6": 3 },
              "addedClaims": [
                "Leadership trusted me with more than I felt ready for, more than once",
                "Some people told the author when they were wrong",
                "The author did not expect to still be at the company and did not expect to end up running the team",
                "The work kept getting more interesting and the people made it hard to leave"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-landing",
      "label": "Landing page, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a landing page of about 350 words: Toothbook, a bookkeeping service for dental practices. Include these facts: costs $299 a month, works with 140 practices, and closes the books within 48 hours of month end. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Toothbook", "$299", "140", "48 hours"],
      "versions": {
        "original": {
          "text": "# Bookkeeping Built for Dental Practices\n\nRunning a dental practice is demanding enough. Your bookkeeping shouldn't add to the stress.\n\nToothbook is the financial partner that understands dental practices inside and out. We handle your books so you can focus on patient care, not reconciling accounts at midnight.\n\n## Fast, Reliable Month-End Close\n\nBooks closed within **48 hours of month end**. Every month. No exceptions.\n\nWhile other services leave you waiting weeks for financial reports, we deliver the clarity you need to make informed decisions about your practice—fast. Know exactly where you stand before the new month is even underway.\n\n## Trusted by Dental Professionals\n\nOver **140 dental practices** rely on Toothbook to manage their finances. From solo practitioners to multi-location groups, we've built our service around the unique needs of dental accounting: equipment depreciation, lab expenses, insurance receivables, and the complexities of production versus collections.\n\nWe speak your language. We know the difference between hygiene revenue and restorative work. We understand how supply costs and lab fees impact your margins. And we're experts at tracking the metrics that actually matter for dental practice profitability.\n\n## Transparent, Predictable Pricing\n\n**$299 per month.** That's it.\n\nNo surprise fees. No hourly billing that creeps higher each month. No confusing tiers based on transaction volume. Just straightforward pricing that lets you budget with confidence.\n\nFor less than the cost of a few cleanings, you get:\n\n- Dedicated bookkeeper who knows dental practices\n- Monthly reconciliation of all accounts\n- Financial statements delivered within 48 hours\n- Accounts payable and receivable management\n- Unlimited email support\n- Expert guidance on dental-specific tax planning\n\n## Ready to Simplify Your Practice Finances?\n\nJoin the 140+ dental practices that have already switched to Toothbook. Get your first month free and experience the peace of mind that comes from having experts manage your books.\n\n**Start your free trial today—no credit card required.**",
          "marks": [
            "48 hours of month end",
            "Every month. No exceptions.",
            "decisions about your practice—fast. Know exactly where you s",
            "140 dental practices",
            "$299 per month. That's it.",
            "No surprise fees. No hourly billing that creeps higher each month. No confusing tiers based on transaction volume.",
            "Ready to Simplify Your Practice Finances?",
            "Start your free trial today—no credit card required.",
            "Start your free trial today—no credit card required.",
            "Every month. No exceptions.",
            "No surprise fees. No hourly billing that creeps higher each month. No confusing tiers based on transaction volume.",
            "That's it.",
            "equipment depreciation, lab expenses, insurance receivables, and the complexities of production versus collections",
            "We speak your language. We know the difference between hygiene revenue and restorative work. We understand how supply costs and lab fees impact your margins.",
            "not reconciling accounts at midnight",
            "We speak your language.",
            "**Start your free trial today—no credit card required.**"
          ],
          "scores": {
            "words": 305,
            "lintAi": 7,
            "lintStyle": 2,
            "judge": 8.3,
            "added": 0,
            "detector": 0.9998
          },
          "lintFindings": [
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "48 hours of month end"
            },
            {
              "rule": "pithy-fragment",
              "level": "error",
              "excerpt": "Every month. No exceptions."
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "decisions about your practice—fast. Know exactly where you s"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "140 dental practices"
            },
            {
              "rule": "pithy-fragment",
              "level": "error",
              "excerpt": "$299 per month. That's it."
            },
            {
              "rule": "anaphora",
              "level": "error",
              "excerpt": "No surprise fees. No hourly billing that creeps higher each month. No confusing tiers based on transaction volume."
            },
            {
              "rule": "cta-question",
              "level": "error",
              "excerpt": "Ready to Simplify Your Practice Finances?"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Start your free trial today—no credit card required."
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "Start your free trial today—no credit card required."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 3, "3": 1, "6": 1, "7": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 3, "6": 1, "7": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 2,
                "2": 3,
                "4": 1,
                "6": 1,
                "7": 1,
                "17": 1,
                "19": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Bookkeeping Built for Dental Practices\n\nRunning a dental practice is demanding enough. Your bookkeeping shouldn't add to the stress.\n\nToothbook is the financial partner that understands dental practices inside and out. We handle your books so you can focus on patient care.\n\n## Fast, Reliable Month-End Close\n\nBooks close within **48 hours of month end**, every month.\n\nWhile other services leave you waiting weeks for financial reports, we deliver the clarity you need to make informed decisions about your practice, fast. Know exactly where you stand before the new month is even underway.\n\n## Trusted by Dental Professionals\n\nOver 140 dental practices rely on Toothbook to manage their finances. From solo practitioners to multi-location groups, we've built our service around the unique needs of dental accounting: equipment depreciation, lab expenses, insurance receivables, and the complexities of production versus collections.\n\nWe speak your language: we know the difference between hygiene revenue and restorative work, understand how supply costs and lab fees impact your margins. And we're experts at tracking the metrics that actually matter for dental practice profitability.\n\n## Transparent, Predictable Pricing\n\nToothbook costs $299 per month.\n\nOne flat fee covers everything, with no hourly billing or tiers based on transaction volume. It is straightforward pricing that lets you budget with confidence.\n\nFor less than the cost of a few cleanings, you get:\n\n- Dedicated bookkeeper who knows dental practices\n- Monthly reconciliation of all accounts\n- Financial statements delivered within 48 hours\n- Accounts payable and receivable management\n- Unlimited email support\n- Expert guidance on dental-specific tax planning\n\n## Start Your Free Trial\n\nJoin the 140+ dental practices that have already switched to Toothbook. Get your first month free and experience the peace of mind that comes from having experts manage your books.\n\nStart your free trial today. No credit card required.",
          "marks": [
            "Your bookkeeping shouldn't add to the stress.",
            "equipment depreciation, lab expenses, insurance receivables, and the complexities of production versus collections",
            "We know the difference between hygiene revenue and restorative work, understand how supply costs and lab fees impact your margins.",
            "Start your free trial today. No credit card required.",
            "We speak your language: we know the difference",
            "It is straightforward pricing that lets you budget with confidence.",
            "One flat fee covers everything, with no hourly billing or tiers based on transaction volume.",
            "the metrics that actually matter"
          ],
          "scores": {
            "words": 293,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6.7,
            "added": 1,
            "detector": 0.9995
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": {
                "1": 1,
                "2": 1,
                "5": 1,
                "6": 2,
                "7": 1,
                "9": 1,
                "18": 1
              },
              "addedClaims": ["One flat fee covers everything"]
            },
            {
              "byPattern": { "1": 1, "3": 1, "5": 1, "6": 1, "7": 1, "18": 1 },
              "addedClaims": ["One flat fee covers everything"]
            },
            {
              "byPattern": { "1": 1, "2": 1, "3": 1, "6": 1, "7": 1, "9": 1 },
              "addedClaims": ["One flat fee covers everything"]
            }
          ]
        },
        "plain": {
          "text": "# Bookkeeping for Dental Practices\n\nYou didn't go to dental school to chase down receipts. Toothbook does your books so you don't have to do them at midnight.\n\nWe only work with dental practices, so we already know how they run. You won't have to explain what a lab fee is.\n\n## Books closed within 48 hours\n\nWe close your books within **48 hours of month end**, every month. Most services take weeks, and by then the numbers are stale. With ours, you'll know where the practice stands before the new month has really started.\n\n## Who we work with\n\nMore than **140 dental practices** use Toothbook, from solo dentists to multi-location groups. We handle the things that make dental accounting its own animal: equipment depreciation, lab expenses, insurance receivables, and the gap between production and collections.\n\nWe know hygiene revenue isn't the same as restorative work. We know how supply costs and lab fees eat into your margins. And we track the numbers that tell you whether the practice is actually profitable.\n\n## Pricing\n\n**$299 a month.** That's the whole price.\n\nThere are no hourly charges that creep up, no tiers based on how many transactions you have, and no surprise fees. You can plan your budget around it.\n\nThat's less than a few cleanings, and it covers:\n\n- A dedicated bookkeeper who knows dental practices\n- Monthly reconciliation of all your accounts\n- Financial statements within 48 hours\n- Accounts payable and receivable management\n- Unlimited email support\n- Tax planning advice specific to dental practices\n\n## Try it\n\nOver 140 practices have already switched. Your first month is free, and we don't ask for a credit card.\n\n**Start your free trial today.**",
          "marks": [
            "48 hours of month end",
            "140 dental practices",
            "$299 a month.",
            "Start your free trial today.",
            "That's the whole price.",
            "That's the whole price.",
            "There are no hourly charges that creep up, no tiers based on how many transactions you have, and no surprise fees.",
            "We know hygiene revenue isn't the same as restorative work. We know how supply costs and lab fees eat into your margins.",
            "You won't have to explain what a lab fee is."
          ],
          "scores": {
            "words": 274,
            "lintAi": 4,
            "lintStyle": 0,
            "judge": 6,
            "added": 0,
            "detector": 0.0749
          },
          "lintFindings": [
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "48 hours of month end"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "140 dental practices"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "$299 a month."
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Start your free trial today."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 1, "6": 1, "7": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 2, "6": 2, "7": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 2, "5": 1, "6": 2, "7": 1 },
              "addedClaims": []
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-review",
      "label": "Product review, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a product review of about 350 words: a review of the Kestrel 2 running shoe. Include these facts: it weighs 248 grams, has an 8 mm drop, costs $140, and the reviewer ran 300 miles in it. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Kestrel 2", "248", "8 mm", "$140"],
      "versions": {
        "original": {
          "text": "# Kestrel 2 Running Shoe Review\n\nAfter logging 300 miles in the Kestrel 2, I can confidently say this shoe has earned a permanent spot in my rotation. At $140, it sits in the sweet spot between budget trainers and premium models, and the performance more than justifies the price.\n\n## Lightweight Without Compromise\n\nThe first thing you notice is the weight—or lack thereof. At 248 grams, the Kestrel 2 feels incredibly light on the foot without sacrificing durability. I was initially skeptical that such a lightweight trainer could handle high mileage, but three hundred miles later, the midsole still feels responsive and the outsole shows minimal wear.\n\n## Versatile Performance\n\nThe 8 mm drop makes this shoe remarkably versatile. It's low enough to encourage good form and midfoot striking, but not so minimal that it demands perfect technique. I've used these for everything from easy recovery runs to tempo workouts, and they've handled every pace comfortably. The transition feels smooth and natural, whether I'm cruising at an easy 9-minute pace or pushing closer to 7-minute miles.\n\n## Comfort and Fit\n\nThe upper strikes an excellent balance between breathability and structure. My feet stay cool on hot summer runs, but I never feel like I'm swimming in the shoe. The heel cup locks in securely without any slippage, and I haven't experienced any hot spots or blisters across all those miles—a testament to the thoughtful design.\n\n## Room for Improvement\n\nIf I'm being critical, the cushioning is on the firmer side. Runners who prefer a plush, marshmallow-soft ride might find these a bit too responsive. I personally appreciate the ground feel, but it's worth considering if you have specific preferences.\n\n## The Verdict\n\nThe Kestrel 2 punches well above its weight class. It's light, responsive, durable, and versatile enough to be a true daily trainer. For runners looking for a do-it-all shoe that won't break the bank, this is an excellent choice. I'm already eyeing a second pair for when these finally give out—which, at this rate, won't be anytime soon.\n\n**Rating: 4.5/5**",
          "marks": [
            "thing you notice is the weight—or lack thereof. At 248 grams,",
            "listers across all those miles—a testament to the thoughtful",
            "a testament to",
            "punches well above its weight",
            "or when these finally give out—which, at this rate, won't be",
            "a testament to the thoughtful design",
            "a testament to the thoughtful design",
            "It's light, responsive, durable, and versatile enough to be a true daily trainer."
          ],
          "scores": {
            "words": 342,
            "lintAi": 2,
            "lintStyle": 3,
            "judge": 3.7,
            "added": 0,
            "detector": 0.9999
          },
          "lintFindings": [
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "thing you notice is the weight—or lack thereof. At 248 grams,"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "listers across all those miles—a testament to the thoughtful"
            },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "a testament to"
            },
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "punches well above its weight"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "or when these finally give out—which, at this rate, won't be"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "6": 1, "12": 1, "13": 1 }, "addedClaims": [] },
            { "byPattern": { "1": 2, "6": 1, "13": 1 }, "addedClaims": [] },
            {
              "byPattern": { "6": 1, "12": 1, "13": 1, "16": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Kestrel 2 Running Shoe Review\n\nAfter logging 300 miles in the Kestrel 2, I can confidently say this shoe has earned a permanent spot in my rotation. At $140, it sits in the sweet spot between budget trainers and premium models, and the performance more than justifies the price.\n\n## Lightweight Without Compromise\n\nThe first thing you notice is the weight, or lack thereof. At 248 grams, the Kestrel 2 feels incredibly light on the foot without sacrificing durability. I was initially skeptical that such a lightweight trainer could handle high mileage, but three hundred miles later, the midsole still feels responsive and the outsole shows minimal wear.\n\n## Versatile Performance\n\nThe 8 mm drop makes this shoe remarkably versatile. It's low enough to encourage good form and midfoot striking, but not so minimal that it demands perfect technique. I've used these for everything from easy recovery runs to tempo workouts, and they've handled every pace comfortably. The transition feels smooth and natural, whether I'm cruising at an easy 9-minute pace or pushing closer to 7-minute miles.\n\n## Comfort and Fit\n\nThe upper strikes an excellent balance between breathability and structure. My feet stay cool on hot summer runs, but I never feel like I'm swimming in the shoe. The heel cup locks in securely without any slippage, and I haven't experienced any hot spots or blisters across all those miles, which says the design works.\n\n## Room for Improvement\n\nIf I'm being critical, the cushioning is on the firmer side. Runners who prefer a plush, marshmallow-soft ride might find these a bit too responsive. I personally appreciate the ground feel, but it's worth considering if you have specific preferences.\n\n## The Verdict\n\nThe Kestrel 2 performs like a more expensive shoe at $140. It's light, responsive, durable, and versatile enough to be a true daily trainer. For runners looking for a do-it-all shoe that won't break the bank, this is an excellent choice. I'm already eyeing a second pair for when these finally give out, which, at this rate, won't be anytime soon.\n\n**Rating: 4.5/5**",
          "marks": [
            "but not so minimal that it demands perfect technique",
            "which says the design works"
          ],
          "scores": {
            "words": 343,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 2,
            "added": 0,
            "detector": 0.9999
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "1": 1, "15": 1 }, "addedClaims": [] },
            { "byPattern": { "3": 1, "6": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Kestrel 2 Running Shoe Review\n\nI've run 300 miles in the Kestrel 2 now, and it's staying in my rotation. It costs $140, which lands between the cheap trainers and the premium ones, and I think it's worth that.\n\n## Light, and it holds up\n\nIt weighs 248 grams, and you notice that right away. It feels light on the foot. I figured a shoe this light wouldn't last, but after three hundred miles the midsole still has some pop and the outsole has barely worn down.\n\n## Works for most runs\n\nThe 8 mm drop suits a lot of kinds of running. It's low enough that I land closer to midfoot, but it doesn't punish sloppy form. I've worn them for easy recovery days and for tempo workouts, and they felt fine at both. Whether I'm jogging along at 9-minute miles or pushing toward 7s, the ride stays smooth.\n\n## Fit\n\nThe upper is breathable but still holds your foot. My feet stayed cool through hot summer runs, and the shoe never felt sloppy. The heel doesn't slip, and I haven't had a single hot spot or blister in all those miles.\n\n## What I'd change\n\nThe cushioning is on the firm side. If you want a soft, pillowy ride, these may feel too snappy. I like feeling the ground, but try them on first if you're picky about that.\n\n## Verdict\n\nFor the money, the Kestrel 2 does a lot. It's light, quick, durable, and flexible enough to be an everyday trainer. I'm already thinking about buying a second pair for when these wear out, though that's not going to happen soon.\n\n**Rating: 4.5/5**",
          "marks": [
            "It weighs 248 grams, and you notice that right away. It feels light on the foot.",
            "**Rating: 4.5/5**"
          ],
          "scores": {
            "words": 273,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 2,
            "added": 1,
            "detector": 0.9719
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "7": 1, "19": 1 },
              "addedClaims": [
                "The reviewer says they land closer to midfoot (original says the drop encourages midfoot striking, not that the reviewer lands there)",
                "The reviewer says the shoe doesn't punish sloppy form (original: not so minimal it demands perfect technique, roughly supported)"
              ]
            },
            {
              "byPattern": { "5": 1, "6": 1, "7": 1 },
              "addedClaims": [
                "The midsole still has some pop (original said responsive; roughly supported)",
                "The shoe is quick (original said responsive)",
                "The reviewer lands closer to midfoot"
              ]
            },
            { "byPattern": { "1": 1 }, "addedClaims": [] }
          ]
        }
      }
    },
    {
      "id": "sonnet45-heatpump",
      "label": "Explainer, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a explainer article of about 350 words: what a heat pump is and whether it is worth it. Include these facts: a good heat pump delivers about 300% efficiency, many models work down to -15C, they last around 15 years, and the federal tax credit is up to $2,000. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["300%", "-15", "15 years", "$2,000"],
      "versions": {
        "original": {
          "text": "# Heat Pumps: An Efficient Alternative to Traditional Heating\n\nA heat pump is a heating and cooling system that works by transferring heat rather than generating it. Unlike furnaces that burn fuel to create warmth, heat pumps move existing heat from one place to another—extracting it from outdoor air in winter and reversing the process in summer to cool your home.\n\n## How They Work\n\nThe technology might sound counterintuitive: pulling heat from cold outdoor air. But even at freezing temperatures, thermal energy exists in the air. Heat pumps use a refrigerant cycle and compressor to capture this energy and concentrate it indoors. Modern systems are remarkably effective, with many models operating efficiently down to -15°C (-5°F) or lower.\n\n## Impressive Efficiency\n\nThe key advantage of heat pumps is their extraordinary efficiency. A quality heat pump delivers approximately 300% efficiency—meaning for every unit of electricity consumed, it produces three units of heat. This happens because the system moves heat rather than creating it. In contrast, even the best gas furnaces max out around 98% efficiency, converting nearly all their fuel to heat but never exceeding that 1:1 ratio.\n\n## The Economics\n\nHeat pumps represent a significant upfront investment, typically costing more than conventional HVAC systems. However, the long-term economics often favor heat pumps thanks to lower operating costs from that superior efficiency. The federal tax credit of up to $2,000 helps offset initial costs, and many states offer additional incentives.\n\nWith an expected lifespan of around 15 years, heat pumps provide long-term value. Your actual savings depend on local electricity and fuel prices, climate, and your home's insulation quality.\n\n## Is It Worth It?\n\nHeat pumps make the most financial sense if you're replacing an existing system, live in a moderate climate, or currently heat with expensive fuel oil or electric resistance heating. They're also compelling for anyone prioritizing environmental impact, as they dramatically reduce carbon emissions compared to fossil fuel systems.\n\nFor homes in extremely cold climates, a hybrid approach—pairing a heat pump with a backup heating source—may be optimal. Overall, heat pumps represent mature, proven technology that delivers both comfort and efficiency for most homeowners.",
          "marks": [
            "heat from one place to another—extracting it from outdoor air",
            "approximately 300% efficiency—meaning for every unit of elec",
            "represent a significant",
            "ld climates, a hybrid approach—pairing a heat pump with a bac",
            "Modern systems are remarkably effective",
            "Overall, heat pumps represent mature, proven technology that delivers both comfort and efficiency for most homeowners.",
            "Heat pumps make the most financial sense if you're replacing an existing system, live in a moderate climate, or currently heat with expensive fuel oil or electric resistance heating.",
            "Heat pumps represent a significant upfront investment",
            "heat pumps represent mature, proven technology",
            "Your actual savings depend on local electricity and fuel prices, climate, and your home's insulation quality.",
            "The key advantage of heat pumps is their extraordinary efficiency."
          ],
          "scores": {
            "words": 360,
            "lintAi": 1,
            "lintStyle": 3,
            "judge": 6,
            "added": 0,
            "detector": 0.9999
          },
          "lintFindings": [
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "heat from one place to another—extracting it from outdoor air"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "approximately 300% efficiency—meaning for every unit of elec"
            },
            {
              "rule": "copula-avoidance",
              "level": "error",
              "excerpt": "represent a significant"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "ld climates, a hybrid approach—pairing a heat pump with a bac"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "3": 1, "6": 2, "12": 1, "13": 1, "18": 2 },
              "addedClaims": []
            },
            {
              "byPattern": { "6": 2, "12": 1, "13": 1, "15": 2, "18": 2 },
              "addedClaims": []
            },
            { "byPattern": { "6": 1, "18": 2 }, "addedClaims": [] }
          ]
        },
        "lint171": {
          "text": "# Heat Pumps: An Efficient Alternative to Traditional Heating\n\nA heat pump is a heating and cooling system that works by transferring heat rather than generating it. Unlike furnaces that burn fuel to create warmth, heat pumps move existing heat from one place to another, extracting it from outdoor air in winter and reversing the process in summer to cool your home.\n\n## How They Work\n\nThe technology might sound counterintuitive: pulling heat from cold outdoor air. But even at freezing temperatures, thermal energy exists in the air. Heat pumps use a refrigerant cycle and compressor to capture this energy and concentrate it indoors. Modern systems are remarkably effective, with many models operating efficiently down to -15°C (-5°F) or lower.\n\n## Impressive Efficiency\n\nThe key advantage of heat pumps is their extraordinary efficiency. A quality heat pump delivers approximately 300% efficiency, meaning for every unit of electricity consumed, it produces three units of heat. This happens because the system moves heat rather than creating it. In contrast, even the best gas furnaces max out around 98% efficiency, converting nearly all their fuel to heat but never exceeding that 1:1 ratio.\n\n## The Economics\n\nHeat pumps have a significant upfront cost, typically costing more than conventional HVAC systems. However, the long-term economics often favor heat pumps thanks to lower operating costs from that superior efficiency. The federal tax credit of up to $2,000 helps offset initial costs, and many states offer additional incentives.\n\nWith an expected lifespan of around 15 years, heat pumps provide long-term value. Your actual savings depend on local electricity and fuel prices, climate, and your home's insulation quality.\n\n## Is It Worth It?\n\nHeat pumps make the most financial sense if you're replacing an existing system, live in a moderate climate, or currently heat with expensive fuel oil or electric resistance heating. They're also compelling for anyone prioritizing environmental impact, as they dramatically reduce carbon emissions compared to fossil fuel systems.\n\nFor homes in extremely cold climates, a hybrid approach (pairing a heat pump with a backup heating source) may be optimal. Overall, heat pumps are mature, proven technology that delivers both comfort and efficiency for most homeowners.",
          "marks": [
            "Your actual savings depend on local electricity and fuel prices, climate, and your home's insulation quality.",
            "if you're replacing an existing system, live in a moderate climate, or currently heat with expensive fuel oil or electric resistance heating",
            "Heat pumps have a significant upfront cost, typically costing more than conventional HVAC systems.",
            "meaning for every unit of electricity consumed, it produces three units of heat"
          ],
          "scores": {
            "words": 360,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 4.5,
            "added": 0,
            "detector": 0.9999
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "6": 2, "15": 1, "18": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 1, "13": 3, "18": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Heat Pumps: A Better Way to Heat Your Home\n\nA heat pump heats and cools a house by moving heat around instead of making it. A furnace burns fuel to get warm. A heat pump takes heat that's already there and shifts it: in from the outdoor air in winter, and back out again in summer so your home stays cool.\n\n## How They Work\n\nIt sounds backwards to pull heat out of cold air, but even freezing air holds some thermal energy. A heat pump uses a refrigerant and a compressor to collect that energy and release it indoors. Modern units cope well with the cold, and many keep working efficiently down to -15°C (5°F) or lower.\n\n## Efficiency\n\nEfficiency is the big selling point. A good heat pump delivers roughly 300% efficiency, which means each unit of electricity gets you about three units of heat. It can do that because it's moving heat, not creating it. Even the best gas furnaces top out around 98%. They turn nearly all their fuel into heat, but they can never beat a 1:1 ratio.\n\n## The Economics\n\nHeat pumps cost more up front than conventional HVAC systems. Over time, though, the lower running costs often make up the difference. A federal tax credit of up to $2,000 takes some of the sting out of the purchase price, and many states add incentives of their own.\n\nA heat pump should last around 15 years. How much you actually save depends on local electricity and fuel prices, your climate, and how well your home is insulated.\n\n## Is It Worth It?\n\nThe case is strongest if you're replacing an old system anyway, live somewhere with moderate winters, or heat with expensive fuel oil or electric resistance heating. It's also a good fit if you care about emissions, since heat pumps cut carbon far more than fossil fuel systems do.\n\nIf you live in a very cold climate, consider a hybrid setup, with a heat pump plus a backup heat source. For most homeowners, though, this is mature, proven technology that keeps you comfortable and uses less energy doing it.",
          "marks": [],
          "scores": {
            "words": 356,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 1.3,
            "added": 1,
            "detector": 0.9962
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": {},
              "addedClaims": [
                "Many models keep working efficiently down to -15°C (5°F), which changes the original's -5°F figure to 5°F."
              ]
            },
            {
              "byPattern": { "1": 2, "6": 1, "7": 1 },
              "addedClaims": [
                "-15°C is given as 5°F (original said -5°F), a changed figure",
                "A federal tax credit is described as taking some of the sting out of the purchase price (opinion, not a fact)"
              ]
            },
            {
              "byPattern": {},
              "addedClaims": [
                "The low-temperature figure is given as -15°C (5°F). ORIGINAL says -15°C (-5°F), so the Fahrenheit value changed."
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-casestudy",
      "label": "Case study, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a customer case study of about 350 words: Fernhill Dental cut missed appointments with text reminders. Include these facts: no-shows fell from 18% to 7% in 3 months across their 2 clinics. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Fernhill", "18%", "7%", "3 months"],
      "versions": {
        "original": {
          "text": "# How Fernhill Dental Cut Missed Appointments by 60% with Text Reminders\n\n## The Challenge\n\nFernhill Dental, a family practice operating two clinics in suburban Portland, faced a persistent problem that plagued their operations and bottom line: missed appointments. With no-show rates hovering around 18%, the practice was losing nearly one in five appointment slots. This translated to wasted chair time, frustrated staff constantly calling to fill gaps, and reduced revenue that made it harder to serve their growing patient base.\n\n\"Every empty chair is a patient we could have helped,\" says Dr. Sarah Chen, Fernhill's managing partner. \"But more than that, we had patients who genuinely needed care waiting weeks for openings while slots sat unused because someone simply forgot.\"\n\nThe practice had tried reminder phone calls, but reaching patients during business hours proved difficult. Many calls went to voicemail, and staff spent hours each day leaving messages that patients might never hear.\n\n## The Solution\n\nFernhill implemented an automated text reminder system that sent appointment confirmations and reminders to patients via SMS. The solution required minimal setup—patients could opt in by providing their mobile number, and the system integrated seamlessly with their existing practice management software.\n\nPatients received a confirmation immediately after booking, followed by reminders three days and 24 hours before their appointment. The texts included the appointment date, time, location, and a simple option to confirm or reschedule with a reply.\n\n## The Results\n\nWithin three months, no-show rates across both Fernhill clinics dropped from 18% to 7%—a 60% reduction. The impact was immediate and measurable. Chair utilization improved dramatically, allowing the practice to serve 15% more patients without extending hours.\n\nStaff reported spending 75% less time on reminder calls, freeing them to focus on patient care and customer service. Perhaps most importantly, last-minute cancellations increased as patients who couldn't make appointments gave advance notice, allowing the practice to fill those slots from their waiting list.\n\n\"The ROI was clear within the first month,\" Dr. Chen notes. \"But beyond the numbers, our patients appreciate the convenience, and our team is less stressed. It's been a win across the board.\"",
          "marks": [
            "The Challenge",
            "The Solution",
            "olution required minimal setup—patients could opt in by provi",
            "seamlessly",
            "The Results",
            "clinics dropped from 18% to 7%—a 60% reduction. The impact wa",
            "utilization",
            ", allowing the practice to serve 15% more patients without extending hours",
            ", freeing them to focus on patient care and customer service.",
            ", allowing the practice to fill those slots from their waiting list",
            "the system integrated seamlessly with their existing practice management software",
            "wasted chair time, frustrated staff constantly calling to fill gaps, and reduced revenue",
            "allowing the practice to serve 15% more patients without extending hours",
            "freeing them to focus on patient care and customer service",
            "allowing the practice to fill those slots from their waiting list",
            "It's been a win across the board."
          ],
          "scores": {
            "words": 351,
            "lintAi": 3,
            "lintStyle": 7,
            "judge": 6.7,
            "added": 0,
            "detector": 0.9999
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Challenge"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Solution"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "olution required minimal setup—patients could opt in by provi"
            },
            {
              "rule": "banned-word",
              "level": "error",
              "excerpt": "seamlessly"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Results"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "clinics dropped from 18% to 7%—a 60% reduction. The impact wa"
            },
            {
              "rule": "banned-word",
              "level": "error",
              "excerpt": "utilization"
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", allowing the practice to serve 15% more patients without extending hours"
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", freeing them to focus on patient care and customer service."
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", allowing the practice to fill those slots from their waiting list"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "6": 1, "12": 1, "15": 3 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 2, "6": 2, "13": 1, "15": 3 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "6": 1, "12": 1, "15": 3 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# How Fernhill Dental Cut Missed Appointments by 60% with Text Reminders\n\n## No-shows left one in five slots empty\n\nFernhill Dental, a family practice operating two clinics in suburban Portland, faced a persistent problem that plagued their operations and bottom line: missed appointments. With no-show rates hovering around 18%, the practice was losing nearly one in five appointment slots. This translated to wasted chair time, frustrated staff constantly calling to fill gaps, and reduced revenue that made it harder to serve their growing patient base.\n\n\"Every empty chair is a patient we could have helped,\" says Dr. Sarah Chen, Fernhill's managing partner. \"But more than that, we had patients who genuinely needed care waiting weeks for openings while slots sat unused because someone simply forgot.\"\n\nThe practice had tried reminder phone calls, but reaching patients during business hours proved difficult. Many calls went to voicemail, and staff spent hours each day leaving messages that patients might never hear.\n\n## Text reminders replaced phone calls\n\nFernhill implemented an automated text reminder system that sent appointment confirmations and reminders to patients via SMS. The solution required minimal setup. Patients could opt in by providing their mobile number, and the system integrated smoothly with their existing practice management software.\n\nPatients received a confirmation immediately after booking, followed by reminders three days and 24 hours before their appointment. The texts included the appointment date, time, location, and a simple option to confirm or reschedule with a reply.\n\n## No-shows fell from 18% to 7% in three months\n\nWithin three months, no-show rates across both Fernhill clinics dropped from 18% to 7%, a 60% reduction. The impact was immediate and measurable. Chair use improved dramatically. The practice now serves 15% more patients without extending hours.\n\nStaff reported spending 75% less time on reminder calls. They now focus on patient care and customer service. Perhaps most importantly, last-minute cancellations increased as patients who couldn't make appointments gave advance notice. The practice then fills those slots from its waiting list.\n\n\"The ROI was clear within the first month,\" Dr. Chen notes. \"But beyond the numbers, our patients appreciate the convenience, and our team is less stressed. It's been a win across the board.\"",
          "marks": [
            "Within three months, no-show rates across both Fernhill clinics dropped from 18% to 7%, a 60% reduction.",
            "wasted chair time, frustrated staff constantly calling to fill gaps, and reduced revenue that made it harder to serve their growing patient base"
          ],
          "scores": {
            "words": 363,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 3,
            "added": 0,
            "detector": 0.9998
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "6": 1, "24": 1 }, "addedClaims": [] },
            {
              "byPattern": { "2": 2, "6": 1, "13": 1, "24": 1 },
              "addedClaims": []
            },
            { "byPattern": { "6": 1, "24": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# How Fernhill Dental Cut Missed Appointments by 60% with Text Reminders\n\n## The Challenge\n\nFernhill Dental is a family practice with two clinics in suburban Portland, and for a long time about 18% of their appointments ended in a no-show. That's nearly one slot in five. Chairs sat empty, and the front desk spent much of the day phoning around to fill the gaps.\n\n\"Every empty chair is a patient we could have helped,\" says Dr. Sarah Chen, Fernhill's managing partner. \"And it wasn't just lost revenue. We had people who really needed care waiting weeks for an opening while slots went unused because someone forgot.\"\n\nThey had tried reminder calls, but most patients didn't pick up during the workday. Staff spent hours leaving voicemails that nobody may ever have listened to.\n\n## The Solution\n\nFernhill switched to automated text reminders. Setup was light: patients give their mobile number to opt in, and the system plugs into the practice management software they already used.\n\nA patient gets a confirmation right after booking, then reminders three days and 24 hours before the visit. Each text has the date, time and location, and the patient can reply to confirm or reschedule.\n\n## The Results\n\nWithin three months, no-shows at both clinics fell from 18% to 7%, a 60% drop. Chairs were fuller, and the practice saw 15% more patients without adding hours.\n\nStaff now spend 75% less time on reminder calls, so they can give more attention to the patients in front of them. Cancellations also went up, which sounds bad but isn't. Patients who can't make it now tell the office ahead of time, and the staff can offer the slot to someone on the waiting list.\n\n\"We could see the return within the first month,\" Dr. Chen says. \"Patients like the convenience, and my team is less stressed. It's worked out well all around.\"",
          "marks": [
            "The Challenge",
            "The Solution",
            "The Results",
            "And it wasn't just lost revenue.",
            "which sounds bad but isn't",
            "That's nearly one slot in five.",
            "It's worked out well all around.",
            "Each text has the date, time and location",
            "nobody may ever have listened to",
            "Patients who can't make it now tell the office ahead of time"
          ],
          "scores": {
            "words": 311,
            "lintAi": 0,
            "lintStyle": 3,
            "judge": 4.3,
            "added": 3,
            "detector": 0.9892
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Challenge"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Solution"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Results"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 2, "6": 1, "7": 1, "9": 1 },
              "addedClaims": [
                "The front desk spent much of the day phoning around to fill the gaps",
                "Patients give their mobile number to opt in via the front desk (not stated)",
                "Most patients didn't pick up during the workday",
                "Staff can reply-based confirm/reschedule: patients can reply to confirm or reschedule (in original, present)",
                "Cancellations went up, patients tell the office ahead of time (restated from original, no new fact)",
                "The practice saw 15% more patients (original says serve 15% more, supported)"
              ]
            },
            {
              "byPattern": { "1": 1, "5": 1 },
              "addedClaims": [
                "The no-show problem lasted \"for a long time\" before the change",
                "The staff who phoned around to fill gaps were the front desk",
                "Most patients didn't pick up during the workday"
              ]
            },
            {
              "byPattern": { "1": 2, "2": 2 },
              "addedClaims": [
                "The front desk specifically was the staff phoning around to fill gaps",
                "The no-show problem persisted for a long time"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-travel",
      "label": "Travel post, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a travel blog post of about 350 words: a weekend in Porto. Include these facts: the Livraria Lello ticket costs 8 euros and the train from Lisbon takes 2 hours 50 minutes. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Porto", "Livraria Lello", "8", "2 hours 50"],
      "versions": {
        "original": {
          "text": "# A Weekend in Porto: Portugal's Enchanting Second City\n\nJust 2 hours and 50 minutes by train from Lisbon, Porto reveals itself as a city of timeless beauty and contemporary energy—perfect for an unforgettable weekend escape.\n\n## Friday Evening: Ribeira's Golden Hour\n\nArrive in the afternoon and head straight to the Ribeira district along the Douro River. The colorful facades of medieval buildings glow in the evening light, creating an Instagram-worthy panorama. Settle into a riverside café for your first taste of *francesinha*, Porto's decadent sandwich layered with meats and drenched in beer sauce. As twilight falls, watch the Dom Luís I Bridge illuminate against the darkening sky.\n\n## Saturday: Books, Tiles, and Port Wine\n\nStart your morning at the magnificent Livraria Lello, one of the world's most beautiful bookstores. The 8-euro ticket is redeemable against any book purchase, making it well worth the price to climb the iconic red staircase and admire the stained-glass ceiling that inspired J.K. Rowling during her Porto years.\n\nNext, visit São Bento Station to marvel at the 20,000 azulejo tiles depicting Portuguese history, then climb the Clérigos Tower for panoramic city views. In the afternoon, cross the bridge to Vila Nova de Gaia for port wine tastings. Graham's and Taylor's offer excellent tours with sweeping views back across the river.\n\n## Sunday: Markets and Modernity\n\nSpend Sunday morning exploring the Mercado do Bolhão, recently restored but retaining its authentic character. Sample local cheeses, fresh seafood, and *pastéis de nata* while chatting with vendors. Before departing, visit the contemporary Serralves Museum and its stunning gardens—a perfect contrast to the historic old town.\n\n## Essential Tips\n\nPorto's charm lies in its hills, so wear comfortable walking shoes. The Andante card provides unlimited public transport. Most importantly, don't rush—this is a city that rewards wanderers who get lost in its narrow streets and stumble upon hidden viewpoints.\n\nWhether you're here for the architecture, the wine, or simply the atmosphere, Porto delivers a weekend that feels both authentic and magical—a city that proudly honors its past while embracing the present.",
          "marks": [
            "Enchanting",
            "beauty and contemporary energy—perfect for an unforgettable w",
            "unforgettable",
            ", creating an Instagram-worthy panorama.",
            ", making it well worth the price to climb the iconic red staircase and admire the stained-glass ceiling that inspired J",
            "useum and its stunning gardens—a perfect contrast to the hist",
            "stunning",
            ". Most importantly, don't rush—this is a city that rewards wa",
            "els both authentic and magical—a city that proudly honors its",
            "Porto reveals itself as a city of timeless beauty and contemporary energy—perfect for an unforgettable weekend escape",
            "Enchanting Second City",
            "the magnificent Livraria Lello",
            "its stunning gardens",
            "authentic and magical",
            "Sample local cheeses, fresh seafood, and *pastéis de nata*",
            "Whether you're here for the architecture, the wine, or simply the atmosphere",
            "creating an Instagram-worthy panorama",
            "making it well worth the price to climb the iconic red staircase",
            "a city that proudly honors its past while embracing the present",
            "don't rush—this is a city that rewards wanderers who get lost in its narrow streets"
          ],
          "scores": {
            "words": 348,
            "lintAi": 5,
            "lintStyle": 4,
            "judge": 10.3,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "ai-vocabulary",
              "level": "error",
              "excerpt": "Enchanting"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "beauty and contemporary energy—perfect for an unforgettable w"
            },
            {
              "rule": "ai-vocabulary",
              "level": "error",
              "excerpt": "unforgettable"
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", creating an Instagram-worthy panorama."
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", making it well worth the price to climb the iconic red staircase and admire the stained-glass ceiling that inspired J"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "useum and its stunning gardens—a perfect contrast to the hist"
            },
            {
              "rule": "ai-vocabulary",
              "level": "error",
              "excerpt": "stunning"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": ". Most importantly, don't rush—this is a city that rewards wa"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "els both authentic and magical—a city that proudly honors its"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "6": 2, "13": 1, "15": 2, "16": 5 },
              "addedClaims": []
            },
            {
              "byPattern": { "6": 2, "13": 1, "15": 2, "16": 5 },
              "addedClaims": []
            },
            {
              "byPattern": { "5": 1, "6": 2, "13": 1, "15": 3, "16": 3 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# A Weekend in Porto: Portugal's Second City\n\nJust 2 hours and 50 minutes by train from Lisbon, Porto reveals itself as a city of timeless beauty and contemporary energy, perfect for a weekend escape.\n\n## Friday Evening: Ribeira's Golden Hour\n\nArrive in the afternoon and head straight to the Ribeira district along the Douro River. The colorful facades of medieval buildings glow in the evening light. Settle into a riverside café for your first taste of *francesinha*, Porto's decadent sandwich layered with meats and drenched in beer sauce. As twilight falls, watch the Dom Luís I Bridge illuminate against the darkening sky.\n\n## Saturday: Books, Tiles, and Port Wine\n\nStart your morning at the magnificent Livraria Lello, one of the world's most beautiful bookstores. The 8-euro ticket is redeemable against any book purchase. Climb the red staircase and look up at the stained-glass ceiling that inspired J.K. Rowling during her Porto years.\n\nNext, visit São Bento Station to marvel at the 20,000 azulejo tiles depicting Portuguese history, then climb the Clérigos Tower for panoramic city views. In the afternoon, cross the bridge to Vila Nova de Gaia for port wine tastings. Graham's and Taylor's offer excellent tours with sweeping views back across the river.\n\n## Sunday: Markets and Modernity\n\nSpend Sunday morning exploring the Mercado do Bolhão, recently restored but retaining its authentic character. Sample local cheeses, fresh seafood, and *pastéis de nata* while chatting with vendors. Before departing, visit the contemporary Serralves Museum and its gardens, a contrast to the historic old town.\n\n## Essential Tips\n\nPorto's charm lies in its hills, so wear comfortable walking shoes. The Andante card provides unlimited public transport. Most importantly, don't rush. This is a city that rewards wanderers who get lost in its narrow streets and stumble upon hidden viewpoints.\n\nWhether you're here for the architecture, the wine, or simply the atmosphere, Porto delivers a weekend that feels both authentic and magical. It is a city that proudly honors its past while embracing the present.",
          "marks": [
            "Start your morning at the magnificent Livraria Lello",
            "authentic and magical",
            "timeless beauty and contemporary energy",
            "Most importantly, don't rush.",
            "Whether you're here for the architecture, the wine, or simply the atmosphere",
            "Sample local cheeses, fresh seafood, and *pastéis de nata*",
            "Porto delivers a weekend that feels both authentic and magical"
          ],
          "scores": {
            "words": 336,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6.7,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "6": 2, "16": 3, "18": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "6": 2, "15": 1, "16": 1, "18": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "6": 2, "15": 1, "16": 2, "18": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# A Weekend in Porto\n\nPorto is about 2 hours 50 minutes from Lisbon by train, which makes it an easy weekend trip. It's hilly, a bit worn at the edges, and very good at being a city you wander around in.\n\n## Friday evening: Ribeira\n\nGet in by the afternoon and walk down to the Ribeira, the old district on the Douro. The medieval houses are painted every colour you can think of, and they look best around sunset. Grab a table at a café by the water and order a *francesinha*, the local sandwich: stacked meats, melted cheese, and a beer sauce poured over the top. It's heavy, so don't plan anything strenuous afterwards. When it gets dark, the Dom Luís I Bridge lights up, and it's worth lingering for.\n\n## Saturday: books, tiles, port\n\nGo to Livraria Lello first thing, before the queues build. The ticket is 8 euros, but you get it back if you buy a book, so you may as well. The red staircase and stained-glass ceiling are the draw. People like to say it inspired J.K. Rowling, who lived in Porto for a while, though the bookshop itself has played that story down.\n\nAfter that, head to São Bento Station and look at the azulejo panels, around 20,000 tiles showing scenes from Portuguese history. Then climb the Clérigos Tower for the view over the rooftops. In the afternoon, cross the bridge to Vila Nova de Gaia and do a port tasting. Graham's and Taylor's both run good tours, and you can look back across the river at the city while you sip.\n\n## Sunday: market and museum\n\nSpend the morning at the Mercado do Bolhão. It was renovated recently but still feels like a real market. Buy some cheese, look at the seafood, eat a *pastel de nata*, and talk to the stallholders if your Portuguese or their English is up to it. Before you leave, go out to the Serralves Museum. The contemporary art is a change from the old town, and the gardens are lovely.\n\n## A few tips\n\nWear comfortable shoes, because the hills are steep. The Andante card covers public transport, though you'll need to check which zones you need. And leave some slack in the schedule. Some of the best things in Porto are the viewpoints and little streets you find by taking a wrong turn.",
          "marks": [
            "Buy some cheese, look at the seafood, eat a *pastel de nata*, and talk to the stallholders",
            "though the bookshop itself has played that story down"
          ],
          "scores": {
            "words": 399,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 3,
            "added": 7,
            "detector": 0.9399
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "6": 1, "15": 1 },
              "addedClaims": [
                "Lello: go first thing before the queues build (queues exist)",
                "The francesinha includes melted cheese",
                "The bookshop itself has played down the Rowling inspiration story",
                "J.K. Rowling lived in Porto for a while (original says Porto years, so supported)",
                "The Andante card requires checking which zones you need",
                "Porto is a bit worn at the edges",
                "Serralves contemporary art and gardens described as lovely",
                "Ribeira described as the old district"
              ]
            },
            {
              "byPattern": { "1": 1, "6": 2, "15": 1 },
              "addedClaims": [
                "Livraria Lello has queues, and going first thing avoids them",
                "The francesinha includes melted cheese",
                "J.K. Rowling lived in Porto for a while (original says 'Porto years', so roughly supported)",
                "The bookshop itself has played down the Rowling inspiration story",
                "The azulejo panels are around 20,000 tiles (supported) showing scenes from Portuguese history",
                "The Andante card requires checking which zones you need",
                "Porto is hilly and a bit worn at the edges",
                "Serralves contemporary art is a change from the old town (supported)",
                "Clérigos Tower view is over the rooftops"
              ]
            },
            {
              "byPattern": { "1": 1, "5": 1, "6": 1 },
              "addedClaims": [
                "Livraria Lello has queues, and visiting first thing avoids them",
                "The bookshop itself has played down the story that it inspired J.K. Rowling",
                "The francesinha includes melted cheese",
                "The Andante card requires checking which zones you need",
                "Stallholders may speak English / the visitor's Portuguese may be needed",
                "Porto is described as a bit worn at the edges",
                "The Dom Luís I Bridge lights up when it gets dark",
                "Serralves gardens and contemporary art described (art is contemporary)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-opinion",
      "label": "Opinion piece, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a opinion piece of about 350 words: a company's four-day week trial. Include these facts: Harbor Labs ran the trial for 6 months with 24 staff, and output rose 9%. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Harbor Labs", "6 months", "24", "9%"],
      "versions": {
        "original": {
          "text": "# The Four-Day Week: Harbor Labs Shows Less Really Can Be More\n\nWhen Harbor Labs announced their six-month trial of a four-day work week, skeptics predicted chaos. How could 24 staff members maintain productivity while working 20% fewer hours? The results tell a different story—output didn't just hold steady, it rose by 9%.\n\nThis isn't magic. It's what happens when companies recognize that exhausted employees aren't productive employees. The traditional five-day week is a relic from an era of factory floors and time clocks, not knowledge work that demands creativity and focus. Harbor Labs' experience suggests we've been measuring success all wrong.\n\nThe 9% productivity gain likely stems from several factors. When people know they have limited time, they prioritize ruthlessly. Meetings get shorter and more focused. Email marathons give way to decisive communication. The busywork that expands to fill available time suddenly has nowhere to hide. Workers return each Monday genuinely refreshed, not just slightly less depleted than Friday.\n\nCritics worry about client expectations and competitive disadvantage, but Harbor Labs operated in the real world with real deadlines. Their trial succeeded not despite market pressures but within them. The question isn't whether businesses can afford a four-day week—it's whether they can afford not to explore it when competitors might gain a 9% efficiency advantage while simultaneously winning the war for talent.\n\nOf course, this model won't translate perfectly everywhere. Emergency services, retail, and manufacturing face different constraints. But for the knowledge economy where Harbor Labs operates, the implications are profound. If a company can produce more with less time, the five-day week isn't just outdated—it's wasteful.\n\nThe real test comes next. Will Harbor Labs make this permanent? Will other companies follow? The six-month trial proved the concept works, but lasting cultural change requires courage. Companies that pioneered remote work before the pandemic reaped enormous advantages. The four-day week may be the next frontier where early movers gain decisive edge.\n\nHarbor Labs has demonstrated that the emperor has no clothes. The question now is whether the rest of the business world is ready to admit it.",
          "marks": [
            "results tell a different story—output didn't just hold steady",
            "This isn't magic. It's what happens when companies recognize that exhausted employees aren't productive employees.",
            "Workers return each Monday genuinely refreshed, not just slightly less depleted than Friday.",
            "The question isn't whether businesses can afford a four-day week—it's whether they can afford not to explore it when competitors might gain a 9% efficiency a",
            "ses can afford a four-day week—it's whether they can afford n",
            "the implications are profound",
            "If a company can produce more with less time, the five-day week isn't just outdated—it's wasteful.",
            "e-day week isn't just outdated—it's wasteful.",
            "The question now is",
            "output didn't just hold steady, it rose by 9%",
            "This isn't magic. It's what happens when companies recognize that exhausted employees aren't productive employees.",
            "Their trial succeeded not despite market pressures but within them.",
            "The question isn't whether businesses can afford a four-day week—it's whether they can afford not to explore it",
            "the five-day week isn't just outdated—it's wasteful",
            "not just slightly less depleted than Friday",
            "This isn't magic.",
            "The real test comes next.",
            "Will Harbor Labs make this permanent? Will other companies follow?",
            "The real test comes next.",
            "Harbor Labs has demonstrated that the emperor has no clothes.",
            "The question now is whether the rest of the business world is ready to admit it.",
            "Meetings get shorter and more focused. Email marathons give way to decisive communication. The busywork that expands to fill available time suddenly has nowhere to hide.",
            "Emergency services, retail, and manufacturing face different constraints.",
            "the implications are profound",
            "Companies that pioneered remote work before the pandemic reaped enormous advantages.",
            "competitors might gain a 9% efficiency advantage",
            "Will Harbor Labs make this permanent? Will other companies follow?"
          ],
          "scores": {
            "words": 348,
            "lintAi": 6,
            "lintStyle": 3,
            "judge": 15.3,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "results tell a different story—output didn't just hold steady"
            },
            {
              "rule": "negative-parallelism",
              "level": "error",
              "excerpt": "This isn't magic. It's what happens when companies recognize that exhausted employees aren't productive employees."
            },
            {
              "rule": "contrast-reframe",
              "level": "error",
              "excerpt": "Workers return each Monday genuinely refreshed, not just slightly less depleted than Friday."
            },
            {
              "rule": "negative-parallelism",
              "level": "error",
              "excerpt": "The question isn't whether businesses can afford a four-day week—it's whether they can afford not to explore it when competitors might gain a 9% efficiency a..."
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "ses can afford a four-day week—it's whether they can afford n"
            },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "the implications are profound"
            },
            {
              "rule": "negative-parallelism",
              "level": "error",
              "excerpt": "If a company can produce more with less time, the five-day week isn't just outdated—it's wasteful."
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "e-day week isn't just outdated—it's wasteful."
            },
            {
              "rule": "throat-clearing",
              "level": "error",
              "excerpt": "The question now is"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": {
                "1": 6,
                "2": 2,
                "3": 3,
                "5": 1,
                "6": 2,
                "7": 1,
                "9": 1,
                "13": 2
              },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 5,
                "2": 2,
                "3": 1,
                "5": 2,
                "6": 1,
                "7": 1,
                "9": 1,
                "13": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 5,
                "2": 3,
                "3": 2,
                "5": 1,
                "6": 1,
                "7": 1,
                "9": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# The Four-Day Week: Harbor Labs Shows Less Really Can Be More\n\nWhen Harbor Labs announced their six-month trial of a four-day work week, skeptics predicted chaos. How could 24 staff members maintain productivity while working 20% fewer hours? The results tell a different story: output rose by 9%.\n\nIt's what happens when companies recognize that exhausted employees aren't productive employees. The traditional five-day week is a relic from an era of factory floors and time clocks, not knowledge work that demands creativity and focus. Harbor Labs' experience suggests we've been measuring success all wrong.\n\nThe 9% productivity gain likely stems from several factors. When people know they have limited time, they prioritize ruthlessly. Meetings get shorter and more focused. Email marathons give way to decisive communication. The busywork that expands to fill available time suddenly has nowhere to hide. Workers return each Monday genuinely refreshed.\n\nCritics worry about client expectations and competitive disadvantage, but Harbor Labs operated in the real world with real deadlines. Their trial succeeded not despite market pressures but within them. Businesses can ask whether they can afford not to explore a four-day week when competitors might gain a 9% efficiency advantage while simultaneously winning the war for talent.\n\nOf course, this model won't translate perfectly everywhere. Emergency services, retail, and manufacturing face different constraints. But for the knowledge economy where Harbor Labs operates, the implications are large for hiring and output. If a company can produce more with less time, the five-day week is wasteful.\n\nThe real test comes next. Will Harbor Labs make this permanent? Will other companies follow? The six-month trial proved the concept works, but lasting cultural change requires courage. Companies that pioneered remote work before the pandemic reaped enormous advantages. The four-day week may be the next frontier where early movers gain decisive edge.\n\nHarbor Labs has demonstrated that the emperor has no clothes. Whether the rest of the business world is ready to admit it remains to be seen.",
          "marks": [
            "Their trial succeeded not despite market pressures but within them.",
            "Their trial succeeded not despite market pressures but within them.",
            "The real test comes next.",
            "Harbor Labs has demonstrated that the emperor has no clothes.",
            "Emergency services, retail, and manufacturing face different constraints.",
            "creativity and focus",
            "Will Harbor Labs make this permanent? Will other companies follow?",
            "competitors might gain a 9% efficiency advantage",
            "the implications are large for hiring and output",
            "The four-day week may be the next frontier where early movers gain decisive edge.",
            "Companies that pioneered remote work before the pandemic reaped enormous advantages."
          ],
          "scores": {
            "words": 328,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 8.7,
            "added": 1,
            "detector": 0.9999
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": {
                "1": 1,
                "2": 1,
                "3": 1,
                "5": 1,
                "6": 2,
                "7": 1,
                "9": 1,
                "13": 2,
                "17": 1
              },
              "addedClaims": [
                "The implications are large for hiring (the original does not mention hiring)"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "3": 1, "5": 1, "13": 1 },
              "addedClaims": [
                "The implications of the trial are large for hiring (as well as output)."
              ]
            },
            {
              "byPattern": {
                "1": 1,
                "2": 1,
                "3": 1,
                "5": 1,
                "6": 2,
                "7": 1,
                "9": 1,
                "13": 1,
                "14": 1
              },
              "addedClaims": [
                "The implications are large for hiring (and output) at Harbor Labs' knowledge economy sector"
              ]
            }
          ]
        },
        "plain": {
          "text": "# Harbor Labs Tried a Four-Day Week, and Output Went Up 9%\n\nHarbor Labs ran a six-month trial of a four-day week, and plenty of people expected it to go badly. Its 24 staff would be working 20% fewer hours. Output rose 9% anyway.\n\nI don't think that's a fluke. Tired people do worse work, and the five-day week was designed around factories and time clocks, not jobs that depend on focus and creative thinking. If hours worked were ever a good measure of success, this trial is a reason to doubt it.\n\nThe trial doesn't say why output rose, so what follows is my guess. With less time, people get choosier about what they spend it on. Meetings run shorter. A long email thread turns into a quick decision. Busywork, which tends to swell to fill whatever time it's given, has less room to grow. And people probably start Monday more rested than they do after a normal weekend.\n\nSome will object that clients have expectations and competitors won't wait. But Harbor Labs did this with real deadlines and real clients, so those pressures were part of the test. If a rival can get 9% more done and also attract the best candidates, the better question is whether you can afford to ignore the idea.\n\nIt won't work everywhere. Emergency services, retail and manufacturing have to cover hours that a shorter week can't easily cut. But Harbor Labs does knowledge work, and a lot of businesses do too. If a company can get more done in less time, the fifth day is mostly wasted.\n\nWhat happens next matters more. Harbor Labs hasn't said whether it will keep the four-day week, and I don't know if other companies will copy it. Six months shows the idea can work, but making it stick takes nerve. Remote work offers a precedent: the companies that embraced it before the pandemic were better prepared when it arrived. The four-day week could turn out the same way, and the early adopters would have the advantage.",
          "marks": [
            "Some will object that clients have expectations and competitors won't wait.",
            "Emergency services, retail and manufacturing",
            "not jobs that depend on focus and creative thinking",
            "The four-day week could turn out the same way",
            "not jobs that depend on focus and creative thinking"
          ],
          "scores": {
            "words": 339,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6,
            "added": 4,
            "detector": 0.9628
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "5": 1, "6": 1, "9": 1, "15": 1 },
              "addedClaims": [
                "Harbor Labs hasn't said whether it will keep the four-day week",
                "Harbor Labs did this with real clients",
                "The companies that embraced remote work before the pandemic were better prepared when it arrived",
                "The five-day week was designed around factories and time clocks"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 2, "6": 1, "9": 1, "23": 3 },
              "addedClaims": [
                "Harbor Labs hasn't said whether it will keep the four-day week",
                "The companies that embraced remote work before the pandemic were better prepared when it arrived",
                "Harbor Labs did the trial with real clients",
                "Emergency services, retail and manufacturing have to cover hours that a shorter week can't easily cut"
              ]
            },
            {
              "byPattern": { "5": 1, "6": 1, "9": 1, "18": 1 },
              "addedClaims": [
                "Harbor Labs does this with real clients (not just real deadlines)",
                "Harbor Labs hasn't said whether it will keep the four-day week",
                "Companies that embraced remote work before the pandemic were better prepared when it arrived",
                "Competitors may attract the best candidates (rival could get 9% more done and attract best candidates)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet45-funding",
      "label": "Funding news, Sonnet 4.5",
      "model": "Claude Sonnet 4.5",
      "draftPrompt": "Write a funding announcement blog post of about 350 words: Tidepool, a tide and surf forecast app, raised a Series A. Include these facts: the Series A is $8 million, led by Bramble Capital, and the app has 30,000 weekly users. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Tidepool", "$8 million", "Bramble Capital", "30,000"],
      "versions": {
        "original": {
          "text": "# Tidepool Raises $8 Million Series A to Expand Tide and Surf Forecasting Platform\n\n**San Francisco, CA – November 6, 2026** – Tidepool, the leading tide and surf forecast application trusted by coastal communities and water sports enthusiasts, today announced it has raised $8 million in Series A funding led by Bramble Capital. The investment will accelerate product development, expand the platform's forecasting capabilities, and grow the team as Tidepool continues to serve its rapidly growing user base.\n\nSince launching two years ago, Tidepool has become an essential tool for surfers, fishermen, kayakers, and beachgoers seeking accurate, hyperlocal ocean conditions. The app now serves 30,000 weekly active users across coastal regions, delivering real-time tide predictions, wave forecasts, wind speeds, and water temperatures through an intuitive mobile experience.\n\n\"We built Tidepool because existing solutions were either too complex for casual users or lacked the granularity that serious water sports enthusiasts need,\" said Sarah Chen, CEO and co-founder of Tidepool. \"This funding validates our vision of making ocean forecasting accessible to everyone, whether you're planning a family beach day or timing your dawn patrol surf session.\"\n\nThe platform differentiates itself through proprietary forecasting algorithms that combine NOAA data with local observation networks, delivering predictions accurate to specific beaches and surf breaks rather than broad coastal regions. Users can save favorite locations, receive push notifications for optimal conditions, and access historical data to identify patterns.\n\n\"Tidepool has achieved remarkable product-market fit in a niche that's both passionate and underserved,\" said Marcus Webb, Managing Partner at Bramble Capital. \"The ocean recreation market represents billions in annual spending, yet most participants still rely on outdated tools. Tidepool's modern approach and loyal user base position them to become the category leader.\"\n\nThe Series A funding will support several key initiatives, including expanding coverage to international coastlines, integrating marine weather safety alerts, and developing community features that allow users to share real-time conditions. Tidepool also plans to introduce premium subscription tiers with advanced forecasting tools for professional users.\n\nWith climate change affecting ocean conditions and coastal recreation continuing to grow in popularity, Tidepool aims to be the definitive resource for anyone who lives, works, or plays near the water.",
          "marks": [
            "San Francisco, CA – November 6, 2026 – Tidepool, t",
            ", delivering real-time tide predictions, wave forecasts, wind speeds, and water temperatures through an intuitive mobile experience.",
            ", delivering predictions accurate to specific beaches and surf breaks rather than broad coastal regions.",
            "surfers, fishermen, kayakers, and beachgoers",
            "real-time tide predictions, wave forecasts, wind speeds, and water temperatures",
            "expanding coverage to international coastlines, integrating marine weather safety alerts, and developing community features",
            "anyone who lives, works, or plays near the water",
            "delivering predictions accurate to specific beaches and surf breaks rather than broad coastal regions",
            "delivering real-time tide predictions, wave forecasts, wind speeds, and water temperatures through an intuitive mobile experience",
            "accelerate product development, expand the platform's forecasting capabilities, and grow the team"
          ],
          "scores": {
            "words": 360,
            "lintAi": 2,
            "lintStyle": 1,
            "judge": 8.7,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "San Francisco, CA – November 6, 2026 – Tidepool, t"
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", delivering real-time tide predictions, wave forecasts, wind speeds, and water temperatures through an intuitive mobile experience."
            },
            {
              "rule": "participle-tail",
              "level": "warning",
              "excerpt": ", delivering predictions accurate to specific beaches and surf breaks rather than broad coastal regions."
            }
          ],
          "judgeRuns": [
            { "byPattern": { "6": 5, "15": 2 }, "addedClaims": [] },
            {
              "byPattern": { "6": 4, "12": 1, "13": 1, "15": 2, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "5": 1, "6": 5, "12": 1, "15": 2, "16": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Tidepool Raises $8 Million Series A to Expand Tide and Surf Forecasting Platform\n\n**San Francisco, CA, November 6, 2026.** Tidepool, the leading tide and surf forecast application trusted by coastal communities and water sports enthusiasts, today announced it has raised $8 million in Series A funding led by Bramble Capital. The investment will accelerate product development, expand the platform's forecasting capabilities, and grow the team as Tidepool continues to serve its rapidly growing user base.\n\nSince launching two years ago, Tidepool has become an essential tool for surfers, fishermen, kayakers, and beachgoers seeking accurate, hyperlocal ocean conditions. The app now serves 30,000 weekly active users across coastal regions. It delivers real-time tide predictions, wave forecasts, wind speeds, and water temperatures through an intuitive mobile experience.\n\n\"We built Tidepool because existing solutions were either too complex for casual users or lacked the granularity that serious water sports enthusiasts need,\" said Sarah Chen, CEO and co-founder of Tidepool. \"This funding validates our vision of making ocean forecasting accessible to everyone, whether you're planning a family beach day or timing your dawn patrol surf session.\"\n\nThe platform differentiates itself through proprietary forecasting algorithms that combine NOAA data with local observation networks. Its predictions are accurate to specific beaches and surf breaks rather than broad coastal regions. Users can save favorite locations, receive push notifications for optimal conditions, and access historical data to identify patterns.\n\n\"Tidepool has achieved remarkable product-market fit in a niche that's both passionate and underserved,\" said Marcus Webb, Managing Partner at Bramble Capital. \"The ocean recreation market represents billions in annual spending, yet most participants still rely on outdated tools. Tidepool's modern approach and loyal user base position them to become the category leader.\"\n\nThe Series A funding will support several key initiatives, including expanding coverage to international coastlines, integrating marine weather safety alerts, and developing community features that allow users to share real-time conditions. Tidepool also plans to introduce premium subscription tiers with advanced forecasting tools for professional users.\n\nWith climate change affecting ocean conditions and coastal recreation continuing to grow in popularity, Tidepool aims to be the definitive resource for anyone who lives, works, or plays near the water.",
          "marks": [
            "expand the platform's forecasting capabilities, and grow the team",
            "surfers, fishermen, kayakers, and beachgoers",
            "real-time tide predictions, wave forecasts, wind speeds, and water temperatures",
            "Users can save favorite locations, receive push notifications for optimal conditions, and access historical data to identify patterns.",
            "expanding coverage to international coastlines, integrating marine weather safety alerts, and developing community features",
            "anyone who lives, works, or plays near the water",
            "the leading tide and surf forecast application trusted by coastal communities",
            "Tidepool has become an essential tool",
            "position them to become the category leader",
            "It delivers real-time tide predictions",
            "Its predictions are accurate to specific beaches"
          ],
          "scores": {
            "words": 362,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 9,
            "added": 0,
            "detector": 1
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "6": 6, "7": 2, "13": 2, "16": 1 },
              "addedClaims": []
            },
            { "byPattern": { "6": 5, "13": 1, "16": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 6, "7": 2, "16": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Tidepool Raises $8 Million Series A for Its Tide and Surf Forecasting App\n\n**San Francisco, CA – November 6, 2026** – Tidepool, a tide and surf forecast app, has raised $8 million in Series A funding led by Bramble Capital. The company plans to use the money to build out the product, improve its forecasts, and hire.\n\nTidepool launched two years ago and now has 30,000 weekly active users. Surfers, fishermen, kayakers, and people heading to the beach use it to check tides, waves, wind, and water temperature for the exact spot they're going to.\n\n\"We built Tidepool because existing solutions were either too complex for casual users or lacked the granularity that serious water sports enthusiasts need,\" said Sarah Chen, CEO and co-founder of Tidepool. \"This funding validates our vision of making ocean forecasting accessible to everyone, whether you're planning a family beach day or timing your dawn patrol surf session.\"\n\nTidepool's forecasts come from its own algorithms, which blend NOAA data with local observation networks. The result is a prediction for a specific beach or surf break, not a whole stretch of coast. Users can save their favorite spots, get push notifications when conditions line up, and look back through historical data to spot patterns.\n\n\"Tidepool has achieved remarkable product-market fit in a niche that's both passionate and underserved,\" said Marcus Webb, Managing Partner at Bramble Capital. \"The ocean recreation market represents billions in annual spending, yet most participants still rely on outdated tools. Tidepool's modern approach and loyal user base position them to become the category leader.\"\n\nThe new funding will go toward three things: coverage of coastlines outside the US, marine weather safety alerts, and community features that let users share what conditions are like right now. Tidepool also plans to add premium subscription tiers with more advanced forecasting tools for professional users.",
          "marks": [
            "San Francisco, CA – November 6, 2026 – Tidepool, a",
            "not a whole stretch of coast"
          ],
          "scores": {
            "words": 306,
            "lintAi": 0,
            "lintStyle": 1,
            "judge": 3.3,
            "added": 0,
            "detector": 0.9988
          },
          "lintFindings": [
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "San Francisco, CA – November 6, 2026 – Tidepool, a"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "1": 1 }, "addedClaims": [] },
            { "byPattern": { "1": 1, "6": 4 }, "addedClaims": [] },
            { "byPattern": { "6": 4 }, "addedClaims": [] }
          ]
        }
      }
    },
    {
      "id": "sonnet-launch",
      "label": "Launch post, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a product launch blog post of about 350 words: Ledgerly, a budgeting app for small teams, is launching shared budgets. Include these facts: shared budgets launch on March 3; included on the Team plan at $12 per seat a month. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Ledgerly", "March 3", "$12", "Team plan"],
      "versions": {
        "original": {
          "text": "# Introducing Shared Budgets: Budgeting Together, Finally Made Simple\n\nSmall teams run on trust, hustle, and a surprising number of spreadsheets. If you've ever chased a teammate for a receipt, wondered who approved a software subscription, or discovered at month's end that the marketing budget quietly vanished, you know the problem. Money is a team sport, but most budgeting tools treat it as a solo one.\n\nToday, we're changing that. **Shared budgets launch on March 3**, and they're built for exactly the way small teams work.\n\n## What are shared budgets?\n\nShared budgets give your whole team a single, live view of the money you're managing together. Instead of passing files back and forth or reconciling five different versions of the truth, everyone works from the same place, updated in real time.\n\nHere's what you can do:\n\n- **Create budgets for any purpose.** Set up separate budgets for software, travel, events, or client projects, and give each one its own limit.\n- **Invite teammates in seconds.** Add the people who need access and let them log expenses, view progress, and stay accountable.\n- **See spending as it happens.** Every transaction appears instantly, so there are no surprises at the end of the month.\n- **Keep everyone aligned.** Shared visibility means fewer \"Where did that charge come from?\" conversations and more time spent on real work.\n\n## Why we built it\n\nWe talk to small teams every week, and the same story comes up again and again: budgeting works fine for one person but falls apart the moment a second person gets involved. Founders end up as the bottleneck, and finance becomes a monthly scramble instead of a steady habit.\n\nShared budgets are our answer. They give small teams the clarity of a proper finance process without the weight of enterprise software, the learning curve, or the price tag.\n\n## Pricing and availability\n\nShared budgets are included on the **Team plan at $12 per seat a month**. There are no add-on fees and no separate module to buy. If you're on the Team plan, you'll have access the day shared budgets launch.\n\nNot on the Team plan yet? Upgrading takes just a few clicks from your account settings, and you'll be ready to go well before March 3.\n\n## Get ready for March 3\n\nStart thinking about which budgets your team would want to share first. Many teams begin with recurring costs like software and subscriptions, then expand to projects and events once they see how easy it is.\n\nWe can't wait to see how you use shared budgets to make your team's money simpler, clearer, and a little less stressful.\n\n**Shared budgets arrive March 3. See you there.**",
          "marks": [
            "Here's what you can do:",
            "Create budgets for any purpose. Set up separate budgets for",
            "See you there.",
            "trust, hustle, and a surprising number of spreadsheets",
            "Today, we're changing that.",
            "Here's what you can do:",
            "**Create budgets for any purpose.** Set up separate budgets",
            "Shared budgets are our answer.",
            "the weight of enterprise software, the learning curve, or the price tag",
            "simpler, clearer, and a little less stressful",
            "See you there."
          ],
          "scores": {
            "words": 439,
            "lintAi": 3,
            "lintStyle": 0,
            "judge": 9.3,
            "added": 0,
            "detector": 0.9941
          },
          "lintFindings": [
            {
              "rule": "heres-announcement",
              "level": "error",
              "excerpt": "Here's what you can do:"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Create budgets for any purpose. Set up separate budgets for"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "See you there."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 3, "4": 1, "6": 3, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 2, "4": 1, "6": 3, "7": 1, "19": 4 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "4": 1, "6": 3, "15": 1, "19": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Introducing Shared Budgets: Budgeting Together, Finally Made Simple\n\nSmall teams run on trust, hustle, and a surprising number of spreadsheets. If you've ever chased a teammate for a receipt, wondered who approved a software subscription, or discovered at month's end that the marketing budget quietly vanished, you know the problem. Money is a team sport, but most budgeting tools treat it as a solo one.\n\nToday, we're changing that. **Shared budgets launch on March 3**, and they're built for exactly the way small teams work.\n\n## What are shared budgets?\n\nShared budgets give your whole team a single, live view of the money you're managing together. Instead of passing files back and forth or reconciling five different versions of the truth, everyone works from the same place, updated in real time.\n\nShared budgets let you do four things:\n\n- Create budgets for any purpose: set up separate budgets for software, travel, events, or client projects, and give each one its own limit.\n- Invite teammates in seconds by adding the people who need access and let them log expenses, view progress, and stay accountable.\n- See spending as it happens, since every transaction appears instantly, so there are no surprises at the end of the month.\n- Keep everyone aligned, because shared visibility means fewer \"Where did that charge come from?\" conversations and more time spent on real work.\n\n## Why we built it\n\nWe talk to small teams every week, and the same story comes up again and again: budgeting works fine for one person but falls apart the moment a second person gets involved. Founders end up as the bottleneck, and finance becomes a monthly scramble instead of a steady habit.\n\nShared budgets are our answer. They give small teams the clarity of a proper finance process without the weight of enterprise software, the learning curve, or the price tag.\n\n## Pricing and availability\n\nShared budgets are included on the **Team plan at $12 per seat a month**. There are no add-on fees and no separate module to buy. If you're on the Team plan, you'll have access the day shared budgets launch.\n\nNot on the Team plan yet? Upgrading takes just a few clicks from your account settings, and you'll be ready to go well before March 3.\n\n## Get ready for March 3\n\nStart thinking about which budgets your team would want to share first. Many teams begin with recurring costs like software and subscriptions, then expand to projects and events once they see how easy it is.\n\nWe can't wait to see how you use shared budgets to make your team's money simpler, clearer, and a little less stressful.\n\n**Shared budgets arrive March 3.**",
          "marks": [
            "Small teams run on trust, hustle, and a surprising number of spreadsheets.",
            "software, travel, events, or client projects",
            "without the weight of enterprise software, the learning curve, or the price tag",
            "simpler, clearer, and a little less stressful",
            "Today, we're changing that.",
            "so there are no surprises at the end of the month",
            "Shared budgets are our answer."
          ],
          "scores": {
            "words": 441,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 7,
            "added": 1,
            "detector": 0.9854
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "5": 1, "6": 4, "7": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "4": 1, "6": 4, "7": 1 },
              "addedClaims": [
                "Shared budgets let you do four things (the count of four features is new)"
              ]
            },
            {
              "byPattern": { "1": 1, "6": 4, "7": 1 },
              "addedClaims": [
                "Shared budgets let you do four things (a count of four features)"
              ]
            }
          ]
        },
        "plain": {
          "text": "# Shared Budgets Are Coming March 3\n\nSmall teams run on trust, hustle, and a lot of spreadsheets. If you've ever chased a teammate for a receipt, wondered who signed off on a software subscription, or found out on the 30th that the marketing budget was gone, you know how it goes. Money is a team sport, but most budgeting tools are built for one person.\n\nSo we built something for teams. **Shared budgets launch on March 3.**\n\n## What are shared budgets?\n\nA shared budget gives your whole team one live view of the money you manage together. No more passing files around or figuring out which of five versions is the right one. Everyone looks at the same thing, and it updates as things happen.\n\nHere's what you can do:\n\n- **Create budgets for anything.** Software, travel, events, client projects. Each one gets its own limit.\n- **Invite teammates.** Add the people who need access. They can log expenses and see how much is left.\n- **Watch spending as it happens.** Transactions show up right away, so month's end holds no surprises.\n- **Stay on the same page.** When everyone can see the numbers, you get fewer \"where did that charge come from?\" conversations.\n\n## Why we built it\n\nWe talk to small teams every week, and we keep hearing the same thing. Budgeting is fine when it's just you, then it falls apart once a second person joins in. Founders become the bottleneck, and finance turns into a monthly scramble instead of a habit.\n\nWe wanted small teams to get the clarity of a real finance process without enterprise software, a steep learning curve, or the price that comes with it.\n\n## Pricing and availability\n\nShared budgets are included in the **Team plan at $12 per seat per month**. There are no add-on fees and nothing extra to buy. If you're already on Team, you'll have access the day it launches.\n\nIf you're not on Team yet, you can upgrade from your account settings in a few clicks, well before March 3.\n\n## Getting ready\n\nIt's worth deciding now which budgets to share first. A lot of teams start with recurring costs like software and subscriptions, then move on to projects and events once they've seen how it works.\n\nWe're looking forward to seeing how you use it. Shared budgets arrive March 3.",
          "marks": [
            "Here's what you can do:",
            "Create budgets for anything. Software, travel, events, clien",
            "in a few clicks",
            "No more passing files around or figuring out which of five versions is the right one.",
            "Software, travel, events, client projects.",
            "Software, travel, events, client projects.",
            "trust, hustle, and a lot of spreadsheets",
            "**Create budgets for anything.**",
            "**Invite teammates.**",
            "**Watch spending as it happens.**",
            "**Stay on the same page.**",
            "without enterprise software, a steep learning curve, or the price that comes with it"
          ],
          "scores": {
            "words": 387,
            "lintAi": 2,
            "lintStyle": 1,
            "judge": 7,
            "added": 2,
            "detector": 0.7299
          },
          "lintFindings": [
            {
              "rule": "heres-announcement",
              "level": "error",
              "excerpt": "Here's what you can do:"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Create budgets for anything. Software, travel, events, clien"
            },
            {
              "rule": "marketing-phrase",
              "level": "error",
              "excerpt": "in a few clicks"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 3, "19": 4 },
              "addedClaims": [
                "found out on the 30th that the marketing budget was gone"
              ]
            },
            {
              "byPattern": { "2": 2, "6": 3, "19": 1 },
              "addedClaims": [
                "The marketing budget was found to be gone \"on the 30th\" (specific date not in original)",
                "Teammates can see \"how much is left\" in a budget"
              ]
            },
            {
              "byPattern": { "2": 1, "4": 1, "6": 3, "19": 1 },
              "addedClaims": [
                "The marketing budget was discovered gone \"on the 30th\" (a specific date not in the original)",
                "Teammates can \"see how much is left\" (a remaining-balance view not stated in the original)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-roaster",
      "label": "Company news, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a company blog post of about 350 words: Ridgeway Coffee is switching all its retail bags to compostable packaging. Include these facts: Ridgeway Coffee was founded in 2019, runs 14 cafes and ships about 40,000 bags of coffee a year. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Ridgeway", "2019", "14", "40,000"],
      "versions": {
        "original": {
          "text": "# Our Bags Are Going Compostable\n\nAt Ridgeway Coffee, we spend a lot of time thinking about what goes *into* the cup. Lately we've been thinking just as hard about what the coffee comes home in. So we're happy to announce that all of our retail bags are switching to compostable packaging.\n\n## Why we're making the change\n\nRidgeway Coffee was founded in 2019 with a simple idea: great coffee should be sourced, roasted, and served with care. That care has always extended beyond flavor. But packaging has been a stubborn blind spot. Traditional coffee bags are usually made from layers of plastic and foil that are hard to recycle and almost always end up in a landfill.\n\nScale makes this matter. We now run 14 cafes and ship about 40,000 bags of coffee a year. Every one of those bags is a small decision, and 40,000 small decisions add up quickly. We wanted to make sure each one points in the right direction.\n\n## What's changing\n\nOur new bags are designed to break down in a commercial composting facility, turning back into soil instead of sitting in a landfill for decades. They're built to protect your beans just as well as before, with a one-way valve to let the roast gases escape and a seal that keeps oxygen and moisture out. You won't notice a difference in freshness. You'll just notice a different feel in your hands.\n\nThe switch applies to every retail bag, across all our cafes and our online shop, so there's no need to hunt for a special option. If you buy Ridgeway beans, you're getting the new packaging.\n\n## How to dispose of your bag\n\nCompostable doesn't mean it will vanish in your backyard bin. For best results:\n\n- Empty the bag and give it a quick shake.\n- Drop it in a commercial composting or green-waste bin where accepted.\n- Check your local facility's guidelines if you're unsure.\n- Don't put it in standard recycling, where it can cause contamination.\n\nWe'll also have a collection bin at each of our cafes, so you can bring empty bags back to us and we'll make sure they get composted properly.\n\n## What's next\n\nThis is one step, not the finish line. We're continuing to look at our shipping boxes, cup lids, and café supplies, and we'll share what we learn along the way.\n\nThank you for drinking Ridgeway coffee, and for helping us make each bag count. Tell us what you think. We'd love your feedback.\n\n*The Ridgeway Coffee Team*",
          "marks": [
            "We'd love your feedback",
            "Compostable doesn't mean it will vanish in your backyard bin.",
            "This is one step, not the finish line.",
            "You won't notice a difference in freshness. You'll just notice a different feel in your hands.",
            "You won't notice a difference in freshness. You'll just notice a different feel in your hands.",
            "sourced, roasted, and served with care",
            "our shipping boxes, cup lids, and café supplies",
            "We wanted to make sure each one points in the right direction."
          ],
          "scores": {
            "words": 417,
            "lintAi": 1,
            "lintStyle": 0,
            "judge": 6,
            "added": 0,
            "detector": 0.998
          },
          "lintFindings": [
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "We'd love your feedback"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 1, "6": 2, "7": 1, "13": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 3, "2": 1, "6": 2 }, "addedClaims": [] },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 2 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Our Bags Are Going Compostable\n\nAt Ridgeway Coffee, we spend a lot of time thinking about what goes *into* the cup. Lately we've been thinking just as hard about what the coffee comes home in. So we're happy to announce that all of our retail bags are switching to compostable packaging.\n\n## Why we're making the change\n\nRidgeway Coffee was founded in 2019 with a simple idea: great coffee should be sourced, roasted, and served with care. That care has always extended beyond flavor. But packaging has been a stubborn blind spot. Traditional coffee bags are usually made from layers of plastic and foil that are hard to recycle and almost always end up in a landfill.\n\nScale makes this matter. We now run 14 cafes and ship about 40,000 bags of coffee a year. Every one of those bags is a small decision, and 40,000 small decisions add up quickly. We wanted to make sure each one points in the right direction.\n\n## What's changing\n\nOur new bags are designed to break down in a commercial composting facility, turning back into soil instead of sitting in a landfill for decades. They're built to protect your beans just as well as before, with a one-way valve to let the roast gases escape and a seal that keeps oxygen and moisture out. You won't notice a difference in freshness. You'll just notice a different feel in your hands.\n\nThe switch applies to every retail bag, across all our cafes and our online shop, so there's no need to hunt for a special option. If you buy Ridgeway beans, you're getting the new packaging.\n\n## How to dispose of your bag\n\nCompostable doesn't mean it will vanish in your backyard bin. For best results:\n\n- Empty the bag and give it a quick shake.\n- Drop it in a commercial composting or green-waste bin where accepted.\n- Check your local facility's guidelines if you're unsure.\n- Don't put it in standard recycling, where it can cause contamination.\n\nWe'll also have a collection bin at each of our cafes, so you can bring empty bags back to us and we'll make sure they get composted properly.\n\n## What's next\n\nWe are continuing to look at our shipping boxes, cup lids, and café supplies, and we'll share what we learn along the way.\n\nThank you for drinking Ridgeway coffee, and for helping us make each bag count.\n\n*The Ridgeway Coffee Team*",
          "marks": [
            "Compostable doesn't mean it will vanish in your backyard bin.",
            "You won't notice a difference in freshness. You'll just notice a different feel in your hands.",
            "Scale makes this matter.",
            "If you buy Ridgeway beans, you're getting the new packaging.",
            "our shipping boxes, cup lids, and café supplies"
          ],
          "scores": {
            "words": 401,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 5,
            "added": 0,
            "detector": 0.9947
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 1, "7": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 2, "6": 2, "7": 1 }, "addedClaims": [] },
            {
              "byPattern": { "2": 1, "5": 1, "6": 2, "7": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Our Bags Are Going Compostable\n\nWe obsess over what goes into the cup. Lately we've been just as bothered by what the coffee goes home in. So, starting now, all of our retail bags are compostable.\n\n## Why now\n\nWe started Ridgeway in 2019 on a simple idea: coffee should be sourced, roasted, and served with care. We thought we were living up to that, but packaging was a blind spot. Most coffee bags are layers of plastic and foil that are nearly impossible to recycle, so they end up in a landfill.\n\nWe now run 14 cafes and ship about 40,000 bags a year. That's 40,000 little choices, and we'd rather they all go the right way.\n\n## What's different\n\nThe new bags are made to break down in a commercial composting facility and go back to being soil, rather than sitting in a landfill for decades. They still protect the beans: there's a one-way valve so the roast gases can escape, and a seal that keeps out oxygen and moisture. Your coffee will taste as fresh as ever. The bag just feels a bit different in your hand.\n\nEvery retail bag is changing, in all our cafes and in the online shop. You don't have to look for a special option. If you buy Ridgeway beans, this is the bag you get.\n\n## What to do with your empty bag\n\nCompostable doesn't mean it will vanish in your backyard bin. Here's what works best:\n\n- Empty the bag and give it a quick shake.\n- Put it in a commercial composting or green-waste bin, if your area accepts them.\n- Not sure? Check your local facility's guidelines.\n- Keep it out of standard recycling, where it causes contamination.\n\nEach of our cafes will also have a collection bin. Bring your empty bags back and we'll make sure they get composted properly.\n\n## What's next\n\nThis is one step, not the finish line. We're now looking at our shipping boxes, cup lids, and cafe supplies, and we'll tell you what we find as we go.\n\nThanks for drinking Ridgeway coffee and helping make each bag count. If you have thoughts on the new bags, we'd love to hear them.\n\n*The Ridgeway Coffee Team*",
          "marks": [
            "Here's what works best:",
            "Compostable doesn't mean it will vanish in your backyard bin.",
            "We obsess over what goes into the cup. Lately we've been just as bothered",
            "Your coffee will taste as fresh as ever.",
            "This is one step, not the finish line.",
            "This is one step, not the finish line."
          ],
          "scores": {
            "words": 368,
            "lintAi": 1,
            "lintStyle": 0,
            "judge": 4,
            "added": 2,
            "detector": 0.9481
          },
          "lintFindings": [
            {
              "rule": "heres-announcement",
              "level": "error",
              "excerpt": "Here's what works best:"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 2, "5": 1, "7": 1 },
              "addedClaims": [
                "The new bags are made so the coffee will taste as fresh as ever (a freshness/taste claim).",
                "Packaging bags are described as 'nearly impossible to recycle' (original said 'hard to recycle')."
              ]
            },
            { "byPattern": { "1": 1, "2": 1, "6": 2 }, "addedClaims": [] },
            {
              "byPattern": { "1": 1, "5": 1, "7": 1 },
              "addedClaims": [
                "Most coffee bags are described as nearly impossible to recycle (original said hard to recycle)",
                "The team 'thought we were living up to' the care standard (new statement of past belief)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-howto",
      "label": "How-to guide, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a how-to guide of about 350 words: how to repot a fiddle-leaf fig. Include these facts: repot every 18 months, choose a pot 2 inches wider, do it in spring, and use a pot with drainage holes. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["18 months", "2 inches", "spring", "drainage"],
      "versions": {
        "original": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs (*Ficus lyrata*) are famously particular, but repotting them doesn't have to be stressful. Done at the right time and in the right way, it gives the roots fresh room and keeps your plant growing strong. Follow these steps for a smooth transition.\n\n## When to Repot\n\nPlan to repot your fiddle-leaf fig **every 18 months**. Fresh soil replenishes nutrients, and a larger container prevents the plant from becoming root-bound. Signs it's time include roots poking out of the drainage holes, water running straight through the pot, or growth that has slowed noticeably.\n\nThe best season is **spring**. The plant is entering its active growing period, so it recovers quickly and establishes new roots with minimal setbacks.\n\n## What You'll Need\n\n- A new pot that is **2 inches wider** than the current one\n- Well-draining potting mix (an aroid or indoor-plant blend works well)\n- Gloves\n- A small trowel\n- A tray or saucer\n\n## Step-by-Step Instructions\n\n### 1. Choose the Right Pot\n\nSelect a container that is **2 inches wider** in diameter than the existing pot. Going much larger leaves excess soil that stays wet and invites root rot. Make sure the pot has **drainage holes**. Without them, water pools at the bottom and quickly damages the roots.\n\n### 2. Prepare the Plant\n\nWater your fig lightly a day before repotting. Slightly moist soil holds together better and makes removal easier.\n\n### 3. Remove the Plant\n\nTip the pot gently on its side and slide the plant out, supporting the base of the trunk. If it's stuck, run a trowel around the inside edge or tap the sides of the pot.\n\n### 4. Inspect the Roots\n\nLoosen any tightly wound roots with your fingers. Trim away anything black, mushy, or foul-smelling with clean shears. Healthy roots are firm and pale.\n\n### 5. Replant\n\nAdd a few inches of fresh mix to the new pot. Center the plant so the top of the root ball sits about an inch below the rim. Fill in around the sides, pressing the soil down lightly to remove air pockets.\n\n### 6. Water and Settle\n\nWater thoroughly until it drains from the bottom, then empty the saucer. Place the plant back in bright, indirect light.\n\n## Aftercare\n\nAvoid fertilizing for about four to six weeks while the roots settle. Some leaf drop is normal, but keep watering consistent and avoid moving the plant around. Within a few weeks, you should see healthy, steady growth.",
          "marks": [
            "doesn't have to be stressful",
            "every 18 months",
            "spring",
            "2 inches wider",
            "2 inches wider",
            "drainage holes",
            "roots poking out of the drainage holes, water running straight through the pot, or growth that has slowed noticeably",
            "Trim away anything black, mushy, or foul-smelling",
            "**every 18 months**"
          ],
          "scores": {
            "words": 404,
            "lintAi": 6,
            "lintStyle": 0,
            "judge": 5,
            "added": 0,
            "detector": 0.9694
          },
          "lintFindings": [
            {
              "rule": "strawman",
              "level": "error",
              "excerpt": "doesn't have to be stressful"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "every 18 months"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "spring"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "2 inches wider"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "2 inches wider"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "drainage holes"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "6": 2, "19": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 2, "19": 4 }, "addedClaims": [] },
            { "byPattern": { "6": 2, "19": 4 }, "addedClaims": [] }
          ]
        },
        "lint171": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs (*Ficus lyrata*) are famously particular about their roots. Repotting at the right time and in the right way gives them fresh room and keeps your plant growing strong. Follow these steps for a smooth transition.\n\n## When to Repot\n\nPlan to repot your fiddle-leaf fig every 18 months. Fresh soil replenishes nutrients, and a larger container prevents the plant from becoming root-bound. Signs it's time include roots poking out of the drainage holes, water running straight through the pot, or growth that has slowed noticeably.\n\nThe best season is spring. The plant is entering its active growing period, so it recovers quickly and establishes new roots with minimal setbacks.\n\n## What You'll Need\n\n- A new pot that is 2 inches wider than the current one\n- Well-draining potting mix (an aroid or indoor-plant blend works well)\n- Gloves\n- A small trowel\n- A tray or saucer\n\n## Step-by-Step Instructions\n\n### 1. Choose the Right Pot\n\nSelect a container that is 2 inches wider in diameter than the existing pot. Going much larger leaves excess soil that stays wet and invites root rot. Make sure the pot has **drainage holes**. Without them, water pools at the bottom and quickly damages the roots.\n\n### 2. Prepare the Plant\n\nWater your fig lightly a day before repotting. Slightly moist soil holds together better and makes removal easier.\n\n### 3. Remove the Plant\n\nTip the pot gently on its side and slide the plant out, supporting the base of the trunk. If it's stuck, run a trowel around the inside edge or tap the sides of the pot.\n\n### 4. Inspect the Roots\n\nLoosen any tightly wound roots with your fingers. Trim away anything black, mushy, or foul-smelling with clean shears. Healthy roots are firm and pale.\n\n### 5. Replant\n\nAdd a few inches of fresh mix to the new pot. Center the plant so the top of the root ball sits about an inch below the rim. Fill in around the sides, pressing the soil down lightly to remove air pockets.\n\n### 6. Water and Settle\n\nWater thoroughly until it drains from the bottom, then empty the saucer. Place the plant back in bright, indirect light.\n\n## Aftercare\n\nAvoid fertilizing for about four to six weeks while the roots settle. Some leaf drop is normal, but keep watering consistent and avoid moving the plant around. Within a few weeks, you should see healthy, steady growth.",
          "marks": [
            "Repotting at the right time and in the right way gives them fresh room and keeps your plant growing strong."
          ],
          "scores": {
            "words": 397,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 1,
            "added": 0,
            "detector": 0.9688
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "15": 1 }, "addedClaims": [] },
            { "byPattern": { "19": 1 }, "addedClaims": [] },
            { "byPattern": { "19": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# How to Repot a Fiddle-Leaf Fig\n\nFiddle-leaf figs (*Ficus lyrata*) have a reputation for being fussy, and it's mostly deserved. Repotting is one of the easier jobs, though. Pick a decent time, don't rush it, and the roots get room to spread out and the plant keeps growing.\n\n## When to Repot\n\nPlan on repotting about **every 18 months**. The old soil runs out of nutrients by then, and the plant tends to outgrow its pot. You'll know it's time if roots are poking out of the drainage holes, water runs straight through without soaking in, or growth has slowed down.\n\n**Spring** is the best season. The plant is waking up and ready to grow, so it bounces back fast and settles into the new pot with little fuss.\n\n## What You'll Need\n\n- A new pot that is **2 inches wider** than the current one\n- Well-draining potting mix (an aroid or indoor-plant blend works well)\n- Gloves\n- A small trowel\n- Clean shears\n- A tray or saucer\n\n## Step-by-Step Instructions\n\n### 1. Choose the Right Pot\n\nGet a pot that is **2 inches wider** across than the one you have now. Don't go much bigger. All that extra soil stays wet for too long, and that's how you get root rot. The pot also needs **drainage holes**. Without them, water collects at the bottom and the roots suffer.\n\n### 2. Prepare the Plant\n\nGive the fig a light watering the day before. Soil that's a bit damp holds together, so the plant comes out more easily.\n\n### 3. Remove the Plant\n\nLay the pot gently on its side and slide the plant out, holding the base of the trunk as you go. If it won't budge, run a trowel around the inside edge or tap the sides of the pot.\n\n### 4. Inspect the Roots\n\nUse your fingers to loosen any roots that are wound tightly. Cut off anything that's black, mushy, or smells bad, using clean shears. Healthy roots are firm and pale.\n\n### 5. Replant\n\nPut a few inches of fresh mix in the bottom of the new pot. Set the plant in the middle so the top of the root ball sits about an inch below the rim. Fill in around the sides and press the soil down lightly to push out air pockets.\n\n### 6. Water and Settle\n\nWater well, until it runs out the bottom, then empty the saucer. Put the plant back somewhere with bright, indirect light.\n\n## Aftercare\n\nHold off on fertilizer for four to six weeks while the roots settle in. Losing a few leaves is normal. Keep the watering steady and try not to move the plant around. After a few weeks you should see steady new growth.",
          "marks": [
            "every 18 months",
            "Spring",
            "2 inches wider",
            "2 inches wider",
            "drainage holes",
            "black, mushy, or smells bad",
            "**every 18 months**",
            "**Spring**",
            "**2 inches wider**",
            "**2 inches wider**",
            "**drainage holes**",
            "Don't go much bigger."
          ],
          "scores": {
            "words": 445,
            "lintAi": 6,
            "lintStyle": 0,
            "judge": 4,
            "added": 1,
            "detector": 0.926
          },
          "lintFindings": [
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "every 18 months"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "Spring"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "2 inches wider"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "2 inches wider"
            },
            {
              "rule": "bold-emphasis",
              "level": "warning",
              "excerpt": "drainage holes"
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "black, mushy, or smells bad"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "5": 1, "19": 5 }, "addedClaims": [] },
            {
              "byPattern": { "1": 1, "6": 1, "19": 1 },
              "addedClaims": ["Clean shears are listed in the materials needed"]
            },
            {
              "byPattern": { "2": 1, "5": 1, "6": 1 },
              "addedClaims": [
                "Clean shears are listed in the supplies list (new item)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-library",
      "label": "Newsletter item, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a community newsletter item of about 350 words: the Hollis Public Library summer reading challenge. Include these facts: 1,200 children took part last year; this year it starts June 15 and runs for 8 weeks. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Hollis", "1,200", "June 15", "8 weeks"],
      "versions": {
        "original": {
          "text": "# Summer Reading Challenge Returns to Hollis Public Library\n\nLast summer, 1,200 children in our community picked up a book and kept turning pages. This year, the Hollis Public Library is inviting even more young readers to join the fun when the Summer Reading Challenge returns on **June 15**. It will run for **8 weeks**.\n\n## What Is the Challenge?\n\nThe Summer Reading Challenge is a free program for children of all ages and reading levels. The idea is simple: read throughout the summer, track your progress, and earn rewards along the way. Whether your child is just learning to sound out words, devouring chapter books, or happiest with a stack of comics, there is a place for them in this program.\n\n## Why It Matters\n\nEducators have long observed that children who stop reading over the summer can lose some of the skills they gained during the school year. Regular reading, even for a few minutes each day, helps keep those skills sharp. It also builds imagination, vocabulary, and confidence. Best of all, it can be a lot of fun.\n\n## How It Works\n\n- **Sign up at the library.** Stop by the children's desk any time on or after June 15 to register and pick up a reading log.\n- **Read your way.** Picture books, audiobooks, graphic novels, and books read aloud with a family member all count.\n- **Hit milestones.** Each week, readers can bring their logs to the desk to collect stickers and small prizes.\n- **Celebrate together.** Throughout the eight weeks, look out for story times, craft afternoons, and special guests.\n\n## Get Involved\n\nFamilies can help by setting aside a regular reading time, visiting the library together each week, and letting children choose books that spark their curiosity. Our librarians are always happy to suggest titles for every interest, from dinosaurs and dragons to mysteries and space adventures.\n\nTeens and adults are welcome too. Reading alongside your children is one of the best ways to show them that books are for everyone.\n\n## Join Us\n\nLast year's turnout of 1,200 children was something the whole community can be proud of. Let's make this summer even bigger. Mark your calendar for June 15, bring your library card, and get ready to read.\n\nFor more information, ask at the front desk or call the Hollis Public Library.",
          "marks": [
            "The idea is simple:",
            "Why It Matters",
            "Sign up at the library. Stop by the children's desk any time",
            "Best of all, it can be a lot of fun.",
            "It also builds imagination, vocabulary, and confidence.",
            "read throughout the summer, track your progress, and earn rewards along the way",
            "Picture books, audiobooks, graphic novels, and books read aloud with a family member all count.",
            "**Sign up at the library.** Stop by the children's desk",
            "**Read your way.** Picture books",
            "**Hit milestones.** Each week",
            "**Celebrate together.** Throughout",
            "Let's make this summer even bigger.",
            "story times, craft afternoons, and special guests",
            "setting aside a regular reading time, visiting the library together each week, and letting children choose books",
            "Mark your calendar for June 15, bring your library card, and get ready to read."
          ],
          "scores": {
            "words": 383,
            "lintAi": 2,
            "lintStyle": 1,
            "judge": 11.3,
            "added": 0,
            "detector": 0.9994
          },
          "lintFindings": [
            {
              "rule": "colon-reveal",
              "level": "error",
              "excerpt": "The idea is simple:"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Why It Matters"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Sign up at the library. Stop by the children's desk any time"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "2": 2, "6": 6, "19": 4 }, "addedClaims": [] },
            {
              "byPattern": { "2": 1, "3": 1, "6": 4, "17": 1, "19": 4 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "6": 5, "17": 1, "19": 4 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Summer Reading Challenge Returns to Hollis Public Library\n\nLast summer, 1,200 children in our community picked up a book and kept turning pages. This year, the Hollis Public Library is inviting even more young readers to join the fun when the Summer Reading Challenge returns on **June 15**. It will run for **8 weeks**.\n\n## What Is the Challenge?\n\nThe Summer Reading Challenge is a free program for children of all ages and reading levels. Children read throughout the summer, track their progress, and earn rewards along the way. Whether your child is just learning to sound out words, devouring chapter books, or happiest with a stack of comics, there is a place for them in this program.\n\n## Summer Reading Keeps School Skills Sharp\n\nEducators have long observed that children who stop reading over the summer can lose some of the skills they gained during the school year. Regular reading, even for a few minutes each day, helps keep those skills sharp. It also builds imagination, vocabulary, and confidence. Best of all, it can be a lot of fun.\n\n## How It Works\n\n- Stop by the children's desk any time on or after June 15 to register and pick up a reading log.\n- Read your way. Picture books, audiobooks, graphic novels, and books read aloud with a family member all count.\n- Each week, readers can bring their logs to the desk to collect stickers and small prizes.\n- Throughout the eight weeks, look out for story times, craft afternoons, and special guests.\n\n## Get Involved\n\nFamilies can help by setting aside a regular reading time, visiting the library together each week, and letting children choose books that spark their curiosity. Our librarians are always happy to suggest titles for every interest, from dinosaurs and dragons to mysteries and space adventures.\n\nTeens and adults are welcome too. Reading alongside your children shows them that books are for everyone.\n\n## Join Us\n\nLast year's turnout of 1,200 children was something the whole community can be proud of. Let's make this summer even bigger. Mark your calendar for June 15, bring your library card, and get ready to read.\n\nFor more information, ask at the front desk or call the Hollis Public Library.",
          "marks": [
            "Educators have long observed that children who stop reading over the summer can lose some of the skills",
            "It also builds imagination, vocabulary, and confidence.",
            "setting aside a regular reading time, visiting the library together each week, and letting children choose books that spark their curiosity",
            "story times, craft afternoons, and special guests",
            "Mark your calendar for June 15, bring your library card, and get ready to read.",
            "just learning to sound out words, devouring chapter books, or happiest with a stack of comics",
            "Best of all, it can be a lot of fun.",
            "Regular reading, even for a few minutes each day, helps keep those skills sharp."
          ],
          "scores": {
            "words": 367,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 7.7,
            "added": 0,
            "detector": 0.9967
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "6": 5, "17": 1, "24": 1 },
              "addedClaims": []
            },
            { "byPattern": { "2": 2, "6": 5, "19": 2 }, "addedClaims": [] },
            { "byPattern": { "6": 5, "24": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Summer Reading Challenge Returns to Hollis Public Library\n\nLast summer, 1,200 kids in our town picked up a book and kept going. This year we're hoping for even more. The Summer Reading Challenge starts again on **June 15** and runs for **8 weeks**.\n\n## What Is the Challenge?\n\nIt's a free program for kids of any age and any reading level. The idea is simple: read over the summer, keep track of what you read, and pick up rewards as you go. Maybe your child is still sounding out words. Maybe they plow through chapter books, or only want comics. There's a spot for all of them.\n\n## Why It Matters\n\nTeachers have long noticed that kids who stop reading in summer can slip back a bit from where they ended the school year. A few minutes a day is enough to help prevent that. Reading also builds vocabulary, imagination, and confidence. And it's fun, which doesn't hurt.\n\n## How It Works\n\n- **Sign up at the library.** Come by the children's desk any time from June 15 on to register and get a reading log.\n- **Read your way.** Picture books, audiobooks, graphic novels, and books read aloud with a family member all count.\n- **Hit milestones.** Each week, bring your log to the desk for stickers and small prizes.\n- **Celebrate together.** Over the eight weeks we'll have story times, craft afternoons, and a few special guests.\n\n## Get Involved\n\nAt home, it helps to set aside a regular reading time, visit the library together each week, and let kids choose books they're curious about. Our librarians love recommending titles, whether your child is into dinosaurs, dragons, mysteries, or outer space.\n\nTeens and adults are welcome to join in too. Reading next to your kids shows them that books are for everyone.\n\n## Join Us\n\nLast year's 1,200 readers were something to be proud of, and we'd love to top it. Mark June 15 on your calendar, bring your library card, and come get started.\n\nQuestions? Ask at the front desk or give the Hollis Public Library a call.",
          "marks": [
            "The idea is simple:",
            "Why It Matters",
            "Sign up at the library. Come by the children's desk any time",
            "And it's fun, which doesn't hurt.",
            "Maybe your child is still sounding out words. Maybe they plow through chapter books, or only want comics.",
            "read over the summer, keep track of what you read, and pick up rewards as you go",
            "Reading also builds vocabulary, imagination, and confidence.",
            "we'll have story times, craft afternoons, and a few special guests",
            "**Sign up at the library.** Come by the children's desk",
            "**Read your way.** Picture books",
            "**Hit milestones.** Each week",
            "**Celebrate together.** Over the eight weeks"
          ],
          "scores": {
            "words": 344,
            "lintAi": 2,
            "lintStyle": 1,
            "judge": 9,
            "added": 0,
            "detector": 0.9329
          },
          "lintFindings": [
            {
              "rule": "colon-reveal",
              "level": "error",
              "excerpt": "The idea is simple:"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Why It Matters"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Sign up at the library. Come by the children's desk any time"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "6": 3, "7": 1, "19": 4 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "6": 4, "7": 1, "19": 4 },
              "addedClaims": []
            },
            {
              "byPattern": { "5": 1, "6": 2, "7": 1, "19": 4 },
              "addedClaims": []
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-linkedin",
      "label": "LinkedIn post, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a LinkedIn post of about 350 words: someone announcing their promotion to head of design. Include these facts: the company is Northwind, they joined 6 years ago, and they will lead a team of 9. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Northwind", "6 years", "9", "head of design"],
      "versions": {
        "original": {
          "text": "I'm thrilled to share some news: I've been promoted to **Head of Design at Northwind**! 🎉\n\nSix years ago, I joined Northwind as a designer with a lot of curiosity and a very full sketchbook. I had no idea how much I'd grow here, or how many brilliant, generous people I'd get to learn from along the way. Today, I'm stepping into a role I once only dreamed about.\n\n**Looking back**\n\nOver the past six years, I've had the chance to:\n\n- Ship products that I'm genuinely proud of\n- Make plenty of mistakes, and learn more from them than from any success\n- Work alongside people who challenged my thinking and made me better\n- Watch design move from a \"nice-to-have\" to a true seat at the table\n\nNone of that happens alone. To my teammates, mentors, and cross-functional partners: thank you for your trust, your honest feedback, and your patience on the days when the prototype just wouldn't cooperate.\n\n**Looking ahead**\n\nIn my new role, I'll be leading a team of 9 incredibly talented designers, researchers, and creatives. I'm honored by that responsibility, and I take it seriously. Leading a team isn't about having all the answers. It's about creating the conditions where great work can happen: clear direction, psychological safety, room to experiment, and a culture where everyone's voice shapes the outcome.\n\nHere's what I'm committed to as we move forward:\n\n1. **Craft with purpose.** Every pixel should serve a person, not just a screen.\n2. **Collaboration over ego.** The best ideas come from the room, not from a title.\n3. **Growth for everyone.** I want each person on this team to leave a project stronger than they entered it.\n4. **Curiosity, always.** The moment we stop asking \"why,\" we stop designing.\n\nTo the Northwind leadership team, thank you for believing in me and in the power of design. I can't wait to show you what we can build together.\n\nAnd to my design team: I'm so excited to get started. Let's make something remarkable.\n\nIf you're passionate about design, leadership, or just want to say hello, I'd love to connect and hear your story too.\n\nHere's to what's next. 🚀\n\n\\#Northwind #Design #Leadership #Promotion #ProductDesign #NewRole",
          "marks": [
            "thrilled to share",
            "🎉",
            "your trust, your honest feedback, and your patience on the days when",
            "Leading a team isn't about having all the answers. It's about creating the conditions where great work can happen: clear direction, psychological safety, roo",
            "as we move forward",
            "Every pixel should serve a person, not just a screen.",
            "The best ideas come from the room, not from a title.",
            "the power of",
            "Let's make something remarkable",
            "Here's to what's next.",
            "🚀",
            "Leading a team isn't about having all the answers. It's about creating the conditions where great work can happen",
            "clear direction, psychological safety, room to experiment, and a culture where everyone's voice shapes the outcome",
            "thank you for your trust, your honest feedback, and your patience",
            "designers, researchers, and creatives",
            "Here's what I'm committed to as we move forward:",
            "Let's make something remarkable.",
            "Here's to what's next.",
            "1. **Craft with purpose.** Every pixel should serve a person, not just a screen.",
            "Every pixel should serve a person, not just a screen.",
            "The best ideas come from the room, not from a title.",
            "Watch design move from a \"nice-to-have\" to a true seat at the table"
          ],
          "scores": {
            "words": 360,
            "lintAi": 8,
            "lintStyle": 3,
            "judge": 12.3,
            "added": 0,
            "detector": 0.9997
          },
          "lintFindings": [
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "thrilled to share"
            },
            { "rule": "emoji", "level": "warning", "excerpt": "🎉" },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "your trust, your honest feedback, and your patience on the days when"
            },
            {
              "rule": "negative-parallelism",
              "level": "warning",
              "excerpt": "Leading a team isn't about having all the answers. It's about creating the conditions where great work can happen: clear direction, psychological safety, roo..."
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "as we move forward"
            },
            {
              "rule": "contrast-reframe",
              "level": "error",
              "excerpt": "Every pixel should serve a person, not just a screen."
            },
            {
              "rule": "contrast-reframe",
              "level": "warning",
              "excerpt": "The best ideas come from the room, not from a title."
            },
            {
              "rule": "marketing-phrase",
              "level": "warning",
              "excerpt": "the power of"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "Let's make something remarkable"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "Here's to what's next."
            },
            { "rule": "emoji", "level": "warning", "excerpt": "🚀" }
          ],
          "judgeRuns": [
            {
              "byPattern": {
                "1": 2,
                "2": 2,
                "4": 1,
                "5": 1,
                "6": 3,
                "13": 1,
                "19": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 2, "2": 2, "4": 1, "5": 1, "6": 4, "19": 4 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 3,
                "2": 2,
                "3": 1,
                "4": 1,
                "5": 1,
                "6": 3,
                "19": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "I've been promoted to **Head of Design at Northwind**!\n\nSix years ago, I joined Northwind as a designer with a lot of curiosity and a very full sketchbook. I had no idea how much I'd grow here, or how many brilliant, generous people I'd get to learn from along the way. Today, I'm stepping into a role I once only dreamed about.\n\n**Looking back**\n\nOver the past six years, I've had the chance to:\n\n- Ship products that I'm genuinely proud of\n- Make plenty of mistakes, and learn more from them than from any success\n- Work alongside people who challenged my thinking and made me better\n- Watch design move from a \"nice-to-have\" to a true seat at the table\n\nNone of that happens alone. To my teammates, mentors, and cross-functional partners: thank you for your trust and honest feedback, and for your patience when the prototype wouldn't cooperate.\n\n**Looking ahead**\n\nIn my new role, I'll be leading a team of 9 incredibly talented designers, researchers, and creatives. I'm honored by that responsibility, and I take it seriously. Good leadership means creating the conditions where great work can happen: clear direction, psychological safety, room to experiment, and a culture where everyone's voice shapes the outcome.\n\n1. Craft with purpose: Every pixel should serve a person.\n2. Collaboration over ego: The best ideas come from the room.\n3. Growth for everyone: I want each person on this team to leave a project stronger than they entered it.\n4. Curiosity, always: The moment we stop asking \"why,\" we stop designing.\n\nTo the Northwind leadership team, thank you for believing in me and in design. I can't wait to show you what we can build together.\n\nAnd to my design team: I'm so excited to get started.\n\nIf you're passionate about design, leadership, or just want to say hello, I'd love to connect and hear your story too.\n\n\\#Northwind #Design #Leadership #Promotion #ProductDesign #NewRole",
          "marks": [
            "clear direction, psychological safety, room to experiment, and a culture where everyone's voice shapes the outcome",
            "1. Craft with purpose: Every pixel should serve a person.\n2. Collaboration over ego: The best ideas come from the room.\n3. Growth for everyone: I want each person on this team to leave a project stronger than they entered it.\n4. Curiosity, always: The moment we stop asking \"why,\" we stop designing.",
            "designers, researchers, and creatives",
            "your trust and honest feedback, and for your patience"
          ],
          "scores": {
            "words": 315,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6,
            "added": 0,
            "detector": 0.9953
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "6": 3, "19": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 3, "7": 1, "19": 6 }, "addedClaims": [] },
            { "byPattern": { "6": 2, "19": 2 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "I've been promoted to Head of Design at Northwind.\n\nI joined six years ago as a designer with a lot of curiosity and a very full sketchbook. I didn't expect to stay this long, and I definitely didn't expect to end up in a role I used to think was out of reach.\n\n**Looking back**\n\nA few things from the last six years stand out:\n\n- I shipped products I'm proud of.\n- I made plenty of mistakes, and they taught me more than the wins did.\n- I worked with people who pushed back on my thinking and made it better.\n- I watched design go from a nice-to-have to having a real say in decisions.\n\nI didn't do any of that alone. To my teammates, mentors, and the people in other departments I've worked with: thank you for trusting me, for being honest when I needed it, and for putting up with me on the days the prototype refused to work.\n\n**Looking ahead**\n\nI'll be leading a team of nine designers, researchers, and creatives. I take that seriously. I don't think leading means having all the answers. I think it means giving people clear direction, room to try things, and enough safety to say when something isn't working, so the good work can happen.\n\nHere's what I'll hold myself to:\n\n1. **Craft with purpose.** Every pixel should serve a person, not just a screen.\n2. **Collaboration over ego.** The best ideas come from the room, not from a title.\n3. **Growth for everyone.** I want people to finish a project stronger than they started it.\n4. **Curiosity.** Once we stop asking \"why,\" we stop designing.\n\nTo the Northwind leadership team: thank you for taking a chance on me, and for backing design. I'm looking forward to showing you what we can build.\n\nTo my design team: I'm excited to get started. Let's make something good.\n\nAnd if you work in design or leadership, or just want to say hi, feel free to reach out. I'd like to hear your story too.\n\n\\#Northwind #Design #Leadership #ProductDesign",
          "marks": [
            "Every pixel should serve a person, not just a screen.",
            "The best ideas come from the room, not from a title.",
            "feel free to reach out",
            "I didn't expect to stay this long, and I definitely didn't expect to end up in a role I used to think was out of reach.",
            "I don't think leading means having all the answers.",
            "**Craft with purpose.** Every pixel should serve a person, not just a screen.",
            "**Collaboration over ego.** The best ideas come from the room, not from a title.",
            "**Growth for everyone.** I want people to finish a project stronger than they started it.",
            "**Curiosity.** Once we stop asking \"why,\" we stop designing.",
            "clear direction, room to try things, and enough safety to say when something isn't working",
            "for trusting me, for being honest when I needed it, and for putting up with me",
            "nine designers, researchers, and creatives",
            "Every pixel should serve a person, not just a screen.",
            "The best ideas come from the room, not from a title."
          ],
          "scores": {
            "words": 339,
            "lintAi": 3,
            "lintStyle": 0,
            "judge": 9.3,
            "added": 1,
            "detector": 0.9569
          },
          "lintFindings": [
            {
              "rule": "contrast-reframe",
              "level": "error",
              "excerpt": "Every pixel should serve a person, not just a screen."
            },
            {
              "rule": "contrast-reframe",
              "level": "warning",
              "excerpt": "The best ideas come from the room, not from a title."
            },
            {
              "rule": "chatbot-residue",
              "level": "error",
              "excerpt": "feel free to reach out"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 3, "5": 1, "6": 3, "19": 4 },
              "addedClaims": [
                "The author didn't expect to stay at Northwind this long."
              ]
            },
            {
              "byPattern": { "1": 3, "6": 2, "7": 1, "19": 2 },
              "addedClaims": [
                "The author didn't expect to stay at Northwind this long"
              ]
            },
            {
              "byPattern": { "1": 3, "2": 1, "5": 1, "6": 2, "7": 1, "19": 1 },
              "addedClaims": [
                "I didn't expect to stay this long",
                "The people thanked include people in other departments",
                "The leadership team took a chance on me"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-landing",
      "label": "Landing page, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a landing page of about 350 words: Toothbook, a bookkeeping service for dental practices. Include these facts: costs $299 a month, works with 140 practices, and closes the books within 48 hours of month end. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Toothbook", "$299", "140", "48 hours"],
      "versions": {
        "original": {
          "text": "# Toothbook\n\n## Bookkeeping built for dental practices\n\nYou became a dentist to care for patients, not to chase receipts, reconcile accounts, or decode spreadsheets at 10 p.m. Toothbook handles your books so you can get back to what you do best.\n\n**[Start Your Free Consultation](#)**\n\n---\n\n## Your books, closed within 48 hours\n\nMost practices wait weeks after month end to see their numbers. By then, the information is stale and the decisions have already been made. Toothbook closes your books within **48 hours of month end**, so you always know where your practice stands while it still matters.\n\n## Made for dentistry, not just any business\n\nDental finances are different. Insurance payments arrive late and in pieces. Lab fees, supply orders, and equipment financing all need careful tracking. Associate compensation, hygiene production, and collections each tell a different story.\n\nOur bookkeepers work with dental practices every day. We know the difference between production and collections, and we set up your chart of accounts to reflect how your practice really runs.\n\n## Trusted by 140 practices\n\nToothbook works with **140 practices**, from solo offices to multi-location groups. Our clients stay because the process is simple, the numbers are accurate, and their questions get answered by a real person.\n\n> \"I used to dread the end of the month. Now I get a clean report before the first week is over.\" — Practice owner, general dentistry\n\n## What you get\n\n- **Monthly close in 48 hours.** Reconciled accounts and finalized statements, delivered on time.\n- **Clear reports.** Profit and loss, balance sheet, and cash flow, with plain-language notes.\n- **Insurance and payer tracking.** See what has been paid and what is still outstanding.\n- **Expense categorization.** Every lab bill, supply order, and payroll run in the right place.\n- **A dedicated bookkeeper.** One person who knows your practice and your questions.\n- **Tax-ready records.** Your accountant gets clean books, without the scramble in March.\n\n## Simple, honest pricing\n\n**$299 a month.**\n\nOne flat price. No setup fees, no hourly surprises, and no long-term contracts. Cancel whenever you like.\n\n## How it works\n\n1. **Connect your accounts.** Securely link your bank, credit cards, payroll, and practice management software.\n2. **We get to work.** Your bookkeeper cleans up your records and sets up your dental-specific categories.\n3. **Receive your books.** Each month, within 48 hours of month end, your reports arrive ready to review.\n\n## Ready for books you can trust?\n\nJoin the 140 practices that have handed off the paperwork and gained back their evenings. Book a short call, and we'll show you exactly how Toothbook fits your practice.\n\n**[Book Your Free Consultation](#)**\n\n*Toothbook. Bookkeeping that keeps your practice healthy.*",
          "marks": [
            "You became a dentist to care for patients, not to chase receipts, reconcile accounts, or decode spreadsheets at 10 p.m.",
            "Made for dentistry, not just any business",
            "efore the first week is over.\" — Practice owner, general dentis",
            "Monthly close in 48 hours. Reconciled accounts and finalized",
            "No setup fees, no hourly surprises, and no long-term contracts",
            "Connect your accounts. Securely link your bank, credit cards",
            "Ready for books you can trust?",
            "not to chase receipts, reconcile accounts, or decode spreadsheets at 10 p.m.",
            "Made for dentistry, not just any business",
            "the process is simple, the numbers are accurate, and their questions get answered by a real person",
            "No setup fees, no hourly surprises, and no long-term contracts.",
            "Dental finances are different.",
            "One flat price.",
            "**Monthly close in 48 hours.** Reconciled accounts and finalized statements, delivered on time.",
            "**Connect your accounts.** Securely link your bank, credit cards, payroll, and practice management software."
          ],
          "scores": {
            "words": 429,
            "lintAi": 6,
            "lintStyle": 1,
            "judge": 10.3,
            "added": 0,
            "detector": 0.4795
          },
          "lintFindings": [
            {
              "rule": "contrast-reframe",
              "level": "warning",
              "excerpt": "You became a dentist to care for patients, not to chase receipts, reconcile accounts, or decode spreadsheets at 10 p.m."
            },
            {
              "rule": "contrast-reframe",
              "level": "error",
              "excerpt": "Made for dentistry, not just any business"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "efore the first week is over.\" — Practice owner, general dentis"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Monthly close in 48 hours. Reconciled accounts and finalized"
            },
            {
              "rule": "negation-countdown",
              "level": "error",
              "excerpt": "No setup fees, no hourly surprises, and no long-term contracts"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Connect your accounts. Securely link your bank, credit cards"
            },
            {
              "rule": "cta-question",
              "level": "error",
              "excerpt": "Ready for books you can trust?"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 2, "6": 2, "19": 2 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 2, "2": 2, "6": 3, "19": 2 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 2, "2": 2, "6": 7, "7": 1, "19": 2 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Toothbook\n\n## Bookkeeping built for dental practices\n\nYou became a dentist to care for patients. Toothbook handles your books so you can get back to what you do best.\n\n**[Start Your Free Consultation](#)**\n\n---\n\n## Your books, closed within 48 hours\n\nMost practices wait weeks after month end to see their numbers. By then, the information is stale and the decisions have already been made. Toothbook closes your books within **48 hours of month end**, so you always know where your practice stands while it still matters.\n\n## Made for dentistry\n\nDental finances are different. Insurance payments arrive late and in pieces. Lab fees, supply orders, and equipment financing all need careful tracking. Associate compensation, hygiene production, and collections each tell a different story.\n\nOur bookkeepers work with dental practices every day. We know the difference between production and collections, and we set up your chart of accounts to reflect how your practice really runs.\n\n## Trusted by 140 practices\n\nToothbook works with **140 practices**, from solo offices to multi-location groups. Our clients stay because the process is simple, the numbers are accurate, and their questions get answered by a real person.\n\n> \"I used to dread the end of the month. Now I get a clean report before the first week is over.\" Practice owner, general dentistry\n\n## What you get\n\n- Monthly close in 48 hours: reconciled accounts and finalized statements, delivered on time.\n- Clear reports: profit and loss, balance sheet, and cash flow, with plain-language notes.\n- Insurance and payer tracking: see what has been paid and what is still outstanding.\n- Expense categorization: every lab bill, supply order, and payroll run in the right place.\n- A dedicated bookkeeper: one person who knows your practice and your questions.\n- Tax-ready records: your accountant gets clean books, without the scramble in March.\n\n## Simple, honest pricing\n\n**$299 a month.**\n\nOne flat price covers everything, billed monthly. Cancel whenever you like.\n\n## How it works\n\n1. Connect your accounts: securely link your bank, credit cards, payroll, and practice management software.\n2. We get to work: your bookkeeper cleans up your records and sets up your dental-specific categories.\n3. Receive your books: each month, within 48 hours of month end, your reports arrive ready to review.\n\n## Hand off the paperwork\n\nJoin the 140 practices that have handed off the paperwork and gained back their evenings. Book a short call, and we'll show you exactly how Toothbook fits your practice.\n\n**[Book Your Free Consultation](#)**\n\n*Toothbook. Bookkeeping that keeps your practice healthy.*",
          "marks": [
            "the process is simple, the numbers are accurate, and their questions get answered by a real person",
            "Monthly close in 48 hours: reconciled accounts and finalized statements, delivered on time.",
            "Join the 140 practices that have handed off the paperwork and gained back their evenings."
          ],
          "scores": {
            "words": 404,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 3,
            "added": 2,
            "detector": 0.4033
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "6": 1, "19": 1, "24": 1 },
              "addedClaims": [
                "One flat price covers everything",
                "The price is billed monthly"
              ]
            },
            {
              "byPattern": { "1": 1, "6": 3, "24": 1 },
              "addedClaims": [
                "Pricing is billed monthly",
                "The flat price covers everything"
              ]
            },
            {
              "byPattern": { "24": 1 },
              "addedClaims": [
                "One flat price covers everything, billed monthly."
              ]
            }
          ]
        },
        "plain": {
          "text": "# Toothbook\n\n## Bookkeeping built for dental practices\n\nYou went into dentistry to treat patients. You didn't sign up to chase receipts or untangle a spreadsheet at 10 p.m. Toothbook does the books for you, so you can leave that to us.\n\n**[Start Your Free Consultation](#)**\n\n---\n\n## Your books, closed within 48 hours\n\nPlenty of practices don't see their numbers until weeks after month end. By then the figures are stale and the decisions are already made. We close your books within **48 hours of month end**, so you can see where the practice stands while it still helps.\n\n## Made for dentistry, not just any business\n\nDental money is odd. Insurance payments show up late and in pieces. Lab fees, supply orders and equipment financing all need tracking. Associate pay, hygiene production and collections each say something different about how you're doing.\n\nOur bookkeepers work with dental practices all day, every day. They know production from collections, and they set up your chart of accounts to match how your practice actually runs.\n\n## Trusted by 140 practices\n\nWe work with **140 practices**, from solo offices to multi-location groups. They stick around because the process is simple, the numbers are right, and when they have a question, a real person answers it.\n\n> \"I used to dread the end of the month. Now I get a clean report before the first week is over.\" — Practice owner, general dentistry\n\n## What you get\n\n- **Monthly close in 48 hours.** Reconciled accounts and finished statements, on time.\n- **Clear reports.** Profit and loss, balance sheet and cash flow, with notes in plain English.\n- **Insurance and payer tracking.** See what's been paid and what's still outstanding.\n- **Expense categorization.** Every lab bill, supply order and payroll run goes where it belongs.\n- **A dedicated bookkeeper.** One person who knows your practice and your questions.\n- **Tax-ready records.** Your accountant gets clean books, and you skip the scramble in March.\n\n## Simple, honest pricing\n\n**$299 a month.**\n\nThat's the whole price. No setup fees, no surprise hourly charges, no long-term contract. Cancel whenever you want.\n\n## How it works\n\n1. **Connect your accounts.** Securely link your bank, credit cards, payroll and practice management software.\n2. **We get to work.** Your bookkeeper cleans up your records and sets up categories that fit a dental practice.\n3. **Get your books.** Each month, within 48 hours of month end, your reports land in your inbox ready to review.\n\n## Ready for books you can trust?\n\n140 practices have handed off the paperwork and got their evenings back. Book a short call and we'll show you how Toothbook would fit yours.\n\n**[Book Your Free Consultation](#)**\n\n*Toothbook. Bookkeeping that keeps your practice healthy.*",
          "marks": [
            "Made for dentistry, not just any business",
            "efore the first week is over.\" — Practice owner, general dentis",
            "Monthly close in 48 hours. Reconciled accounts and finished",
            "Connect your accounts. Securely link your bank, credit cards",
            "Ready for books you can trust?",
            "You didn't sign up to chase receipts or untangle a spreadsheet at 10 p.m.",
            "**Monthly close in 48 hours.** Reconciled accounts and finished statements, on time.",
            "**Clear reports.** Profit and loss, balance sheet and cash flow, with notes in plain English.",
            "**Insurance and payer tracking.** See what's been paid and what's still outstanding.",
            "**Expense categorization.** Every lab bill, supply order and payroll run goes where it belongs.",
            "**A dedicated bookkeeper.** One person who knows your practice and your questions.",
            "**Tax-ready records.** Your accountant gets clean books, and you skip the scramble in March.",
            "**Connect your accounts.** Securely link your bank, credit cards, payroll and practice management software.",
            "**We get to work.** Your bookkeeper cleans up your records and sets up categories that fit a dental practice.",
            "**Get your books.** Each month, within 48 hours of month end, your reports land in your inbox ready to review.",
            "Insurance payments show up late and in pieces. Lab fees, supply orders and equipment financing all need tracking. Associate pay, hygiene production and collections each say something different about how you're doing.",
            "the process is simple, the numbers are right, and when they have a question, a real person answers it",
            "No setup fees, no surprise hourly charges, no long-term contract.",
            "That's the whole price.",
            "Our bookkeepers work with dental practices all day, every day. They know production from collections, and they set up"
          ],
          "scores": {
            "words": 437,
            "lintAi": 4,
            "lintStyle": 1,
            "judge": 12.7,
            "added": 1,
            "detector": 0.0588
          },
          "lintFindings": [
            {
              "rule": "contrast-reframe",
              "level": "error",
              "excerpt": "Made for dentistry, not just any business"
            },
            {
              "rule": "dash",
              "level": "error",
              "excerpt": "efore the first week is over.\" — Practice owner, general dentis"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Monthly close in 48 hours. Reconciled accounts and finished"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Connect your accounts. Securely link your bank, credit cards"
            },
            {
              "rule": "cta-question",
              "level": "error",
              "excerpt": "Ready for books you can trust?"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 3, "7": 1, "19": 9 },
              "addedClaims": [
                "Reports land in the client's inbox (delivery method)"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 3, "7": 1, "19": 9 },
              "addedClaims": ["Reports land in your inbox (delivery by email)"]
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 4, "19": 2 },
              "addedClaims": ["Reports land in your inbox (delivery by email)"]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-review",
      "label": "Product review, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a product review of about 350 words: a review of the Kestrel 2 running shoe. Include these facts: it weighs 248 grams, has an 8 mm drop, costs $140, and the reviewer ran 300 miles in it. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Kestrel 2", "248", "8 mm", "$140"],
      "versions": {
        "original": {
          "text": "# Kestrel 2: A Fast, Honest Daily Trainer\n\nAfter 300 miles in the Kestrel 2, I feel confident saying this is one of the more dependable trainers I've worn at its price. It doesn't try to be everything, but what it does, it does well.\n\n## First Impressions\n\nOut of the box, the Kestrel 2 feels light and purposeful. It weighs 248 grams, which puts it comfortably below many daily trainers that creep toward the 300-gram mark. The upper is a breathable engineered mesh that wrapped my midfoot securely without any hot spots, even during the first run. The fit is true to size, with a roomy toe box that leaves space for swelling on longer efforts.\n\n## On the Run\n\nThe Kestrel 2 has an 8 mm drop, a traditional geometry that suits heel strikers and midfoot runners alike. I found the transition smooth whether I was cruising at an easy pace or pushing through tempo intervals. The midsole foam is responsive without being harsh. It isn't the bounciest foam on the market, but it has a lively, stable feel that stayed consistent from the first mile to the last.\n\nOver those 300 miles, I used the shoe for everything: recovery jogs, long runs up to 16 miles, and a few fartlek sessions. It handled all of it without complaint. Stability is solid for a neutral shoe, and I never felt wobbly on corners or uneven pavement.\n\n## Durability\n\nThis is where the Kestrel 2 impressed me most. At 300 miles, the outsole rubber shows wear at the heel and under the forefoot, but nothing alarming. The midsole has lost a little of its initial pop, which is normal, yet it still offers adequate cushioning. The upper has no tears or fraying. I expect to squeeze another 50 to 100 miles from this pair as a walking or short-run shoe.\n\n## Downsides\n\nIt isn't perfect. The tongue is slightly thin and can shift if you don't lace carefully. Wet-weather traction is merely average, so I'd be cautious on slick surfaces. And if you want a plush, max-cushioned ride, this isn't it.\n\n## Verdict\n\nAt $140, the Kestrel 2 delivers excellent value. It's light, versatile, and durable, a shoe that rewards consistent training rather than flashy marketing. If you're looking for a single pair to handle most of your weekly mileage, this is an easy recommendation.\n\n**Rating: 4.5 out of 5**",
          "marks": [
            "First Impressions",
            "It isn't perfect.",
            "light, versatile, and durable",
            "It doesn't try to be everything, but what it does, it does well.",
            "It isn't the bounciest foam on the market, but it has a lively, stable feel",
            "It isn't perfect.",
            "It's light, versatile, and durable",
            "a shoe that rewards consistent training rather than flashy marketing",
            "It handled all of it without complaint.",
            "**Rating: 4.5 out of 5**"
          ],
          "scores": {
            "words": 396,
            "lintAi": 2,
            "lintStyle": 1,
            "judge": 8.3,
            "added": 0,
            "detector": 0.999
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "First Impressions"
            },
            {
              "rule": "strawman",
              "level": "error",
              "excerpt": "It isn't perfect."
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "light, versatile, and durable"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 3, "2": 1, "5": 1, "6": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 3, "2": 1, "6": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 3,
                "2": 1,
                "5": 3,
                "6": 2,
                "7": 1,
                "18": 1,
                "19": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Kestrel 2: A Fast, Honest Daily Trainer\n\nAfter 300 miles in the Kestrel 2, I feel confident saying this is one of the more dependable trainers I've worn at its price. It doesn't try to be everything, but what it does, it does well.\n\n## Light and secure out of the box\n\nOut of the box, the Kestrel 2 feels light and purposeful. It weighs 248 grams, which puts it comfortably below many daily trainers that creep toward the 300-gram mark. The upper is a breathable engineered mesh that wrapped my midfoot securely without any hot spots, even during the first run. The fit is true to size, with a roomy toe box that leaves space for swelling on longer efforts.\n\n## On the Run\n\nThe Kestrel 2 has an 8 mm drop, a traditional geometry that suits heel strikers and midfoot runners alike. I found the transition smooth whether I was cruising at an easy pace or pushing through tempo intervals. The midsole foam is responsive without being harsh. It isn't the bounciest foam on the market, but it has a lively, stable feel that stayed consistent from the first mile to the last.\n\nOver those 300 miles, I used the shoe for everything: recovery jogs, long runs up to 16 miles, and a few fartlek sessions. It handled all of it without complaint. Stability is solid for a neutral shoe, and I never felt wobbly on corners or uneven pavement.\n\n## Durability\n\nThis is where the Kestrel 2 impressed me most. At 300 miles, the outsole rubber shows wear at the heel and under the forefoot, but nothing alarming. The midsole has lost a little of its initial pop, which is normal, yet it still offers adequate cushioning. The upper has no tears or fraying. I expect to squeeze another 50 to 100 miles from this pair as a walking or short-run shoe.\n\n## Downsides\n\nThe tongue is slightly thin and can shift if you don't lace carefully. Wet-weather traction is merely average, so I'd be cautious on slick surfaces. And if you want a plush, max-cushioned ride, this isn't it.\n\n## Verdict\n\nAt $140, the Kestrel 2 delivers excellent value. It's light and durable, a shoe that rewards consistent training rather than flashy marketing. If you're looking for a single pair to handle most of your weekly mileage, this is an easy recommendation.\n\n**Rating: 4.5 out of 5**",
          "marks": [
            "It doesn't try to be everything, but what it does, it does well.",
            "a shoe that rewards consistent training rather than flashy marketing",
            "It isn't the bounciest foam on the market, but it has a lively, stable feel",
            "recovery jogs, long runs up to 16 miles, and a few fartlek sessions",
            "It handled all of it without complaint.",
            "The Kestrel 2 has an 8 mm drop"
          ],
          "scores": {
            "words": 397,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 5.7,
            "added": 0,
            "detector": 0.998
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 3, "2": 1, "6": 1, "7": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 3, "6": 1, "19": 1 }, "addedClaims": [] },
            {
              "byPattern": { "1": 3, "2": 1, "5": 1, "6": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Kestrel 2: A Fast, Honest Daily Trainer\n\nI've put 300 miles on the Kestrel 2 now, and it's one of the most dependable trainers I've worn at this price. It doesn't try to do everything. It just does its job well.\n\n## First Impressions\n\nRight out of the box it feels light. It's 248 grams, and a lot of daily trainers are closer to 300. The engineered mesh upper is breathable and held my midfoot snugly, and I had no hot spots even on the first run. It fits true to size. The toe box is roomy enough that my feet had space when they swelled on longer runs.\n\n## On the Run\n\nThe drop is 8 mm, a fairly traditional setup that works whether you land on your heels or your midfoot. Transitions felt smooth to me at easy pace and during tempo work. The midsole foam is responsive but not harsh. It isn't the bounciest foam out there, but it feels lively and stable, and it felt the same at mile 15 as at mile 1.\n\nI used these for everything: recovery jogs, long runs up to 16 miles, a few fartlek sessions. No complaints on any of it. For a neutral shoe the stability is good, and I never felt wobbly on corners or on rough pavement.\n\n## Durability\n\nThis is what surprised me most. At 300 miles the outsole rubber is worn at the heel and under the forefoot, but not badly. The midsole has lost some of its early pop, which is normal, though the cushioning is still fine. The upper has no tears or fraying. I figure I'll get another 50 to 100 miles out of this pair as a walking or short-run shoe.\n\n## Downsides\n\nIt's not perfect. The tongue is a bit thin and slides around if you don't lace carefully. Traction in the wet is only okay, so I'm cautious on slick surfaces. And if you want a plush, max-cushioned ride, look elsewhere.\n\n## Verdict\n\nAt $140, it's great value. It's light, versatile and durable, and it's the kind of shoe that rewards steady training, not flashy marketing. If you want one pair for most of your weekly mileage, I'd happily recommend it.\n\n**Rating: 4.5 out of 5**",
          "marks": [
            "First Impressions",
            "It's not perfect.",
            "It doesn't try to do everything. It just does its job well.",
            "It isn't the bounciest foam out there, but it feels lively and stable",
            "No complaints on any of it.",
            "It's light, versatile and durable",
            "recovery jogs, long runs up to 16 miles, a few fartlek sessions",
            "It's 248 grams",
            "It fits true to size.",
            "**Rating: 4.5 out of 5**"
          ],
          "scores": {
            "words": 373,
            "lintAi": 1,
            "lintStyle": 1,
            "judge": 6,
            "added": 2,
            "detector": 0.9806
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "First Impressions"
            },
            {
              "rule": "strawman",
              "level": "error",
              "excerpt": "It's not perfect."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 1, "6": 2, "7": 2, "19": 1 },
              "addedClaims": [
                "It felt the same at mile 15 as at mile 1 (original said first mile to the last, not mile 15)",
                "The writer's feet swelled on longer runs (original only said the toe box leaves space for swelling)"
              ]
            },
            { "byPattern": { "1": 1, "2": 1, "6": 1 }, "addedClaims": [] },
            {
              "byPattern": { "1": 2, "2": 1, "6": 2, "7": 1, "19": 1 },
              "addedClaims": [
                "The midsole foam felt the same at mile 15 as at mile 1 (original gave no mile-15 reference)",
                "The tongue slides around (original said it can shift)",
                "The author's feet swelled on longer runs (first-person experience; original only said toe box leaves space for swelling)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-heatpump",
      "label": "Explainer, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a explainer article of about 350 words: what a heat pump is and whether it is worth it. Include these facts: a good heat pump delivers about 300% efficiency, many models work down to -15C, they last around 15 years, and the federal tax credit is up to $2,000. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["300%", "-15", "15 years", "$2,000"],
      "versions": {
        "original": {
          "text": "# Heat Pumps Explained: Are They Worth It?\n\n## What is a heat pump?\n\nA heat pump is an electric appliance that heats and cools your home by moving heat rather than creating it. In winter, it pulls heat from the outdoor air, even when it feels cold, and transfers it inside. In summer, it reverses direction and works like an air conditioner, pushing indoor heat outside. One machine does the job of both a furnace and an AC unit.\n\nThe key idea is that moving heat takes far less energy than generating it. A furnace burns fuel or runs electric resistance coils to make heat. A heat pump simply relocates warmth that already exists.\n\n## How efficient is it?\n\nThis is where heat pumps shine. A good heat pump delivers about 300% efficiency, meaning it produces roughly three units of heat for every one unit of electricity it uses. Even the best gas furnaces top out below 100%, and electric baseboard heaters hit exactly 100%. That gap translates directly into lower energy bills for many households.\n\n## Does it work in the cold?\n\nOlder models struggled in freezing weather, but technology has improved dramatically. Many models now work down to -15°C (5°F), making them viable in much of the country, including colder regions. Performance and efficiency do drop as temperatures fall, so it's worth choosing a cold-climate model and having your installer size the system properly. Some homes in very cold areas pair a heat pump with a backup heat source.\n\n## How long does it last?\n\nExpect a heat pump to last around 15 years with regular maintenance, such as cleaning filters and annual inspections. That's comparable to a typical air conditioner. Because it runs year-round for both heating and cooling, it may see more wear than a standalone AC, so upkeep matters.\n\n## What does it cost?\n\nUpfront costs are higher than a basic furnace or AC replacement, often several thousand dollars depending on your home, ductwork, and region. Help is available: the federal tax credit is up to $2,000, which can take a meaningful bite out of the bill. Check for additional state and utility rebates, which can stack on top.\n\n## So, is it worth it?\n\nFor most people, yes, especially if:\n\n- You're replacing an aging AC or furnace anyway\n- You currently heat with electricity, oil, or propane\n- You want to cut energy use and emissions\n- Your local electricity rates are reasonable compared with gas\n\nIt may be a tougher sell if you have very cheap natural gas, an extremely cold climate, or a home that needs costly ductwork upgrades. Get quotes from several installers, factor in incentives, and compare estimated yearly energy costs. For many households, the efficiency savings and available credits make a heat pump a smart long-term investment.",
          "marks": [
            "This is where heat pumps shine",
            "This is where heat pumps shine.",
            "your home, ductwork, and region",
            "electricity, oil, or propane",
            "make a heat pump a smart long-term investment"
          ],
          "scores": {
            "words": 462,
            "lintAi": 1,
            "lintStyle": 0,
            "judge": 3.7,
            "added": 0,
            "detector": 0.9995
          },
          "lintFindings": [
            {
              "rule": "narrative-pivot",
              "level": "error",
              "excerpt": "This is where heat pumps shine"
            }
          ],
          "judgeRuns": [
            { "byPattern": { "6": 2, "13": 1, "16": 1 }, "addedClaims": [] },
            { "byPattern": { "13": 2 }, "addedClaims": [] },
            { "byPattern": { "6": 3, "13": 2 }, "addedClaims": [] }
          ]
        },
        "lint171": {
          "text": "# Heat Pumps Explained: Are They Worth It?\n\n## What is a heat pump?\n\nA heat pump is an electric appliance that heats and cools your home by moving heat rather than creating it. In winter, it pulls heat from the outdoor air, even when it feels cold, and transfers it inside. In summer, it reverses direction and works like an air conditioner, pushing indoor heat outside. One machine does the job of both a furnace and an AC unit.\n\nThe key idea is that moving heat takes far less energy than generating it. A furnace burns fuel or runs electric resistance coils to make heat. A heat pump simply relocates warmth that already exists.\n\n## How efficient is it?\n\nA good heat pump delivers about 300% efficiency, meaning it produces roughly three units of heat for every one unit of electricity it uses. Even the best gas furnaces top out below 100%, and electric baseboard heaters hit exactly 100%. That gap translates directly into lower energy bills for many households.\n\n## Does it work in the cold?\n\nOlder models struggled in freezing weather, but technology has improved dramatically. Many models now work down to -15°C (5°F), making them viable in much of the country, including colder regions. Performance and efficiency do drop as temperatures fall, so it's worth choosing a cold-climate model and having your installer size the system properly. Some homes in very cold areas pair a heat pump with a backup heat source.\n\n## How long does it last?\n\nExpect a heat pump to last around 15 years with regular maintenance, such as cleaning filters and annual inspections. That's comparable to a typical air conditioner. Because it runs year-round for both heating and cooling, it may see more wear than a standalone AC, so upkeep matters.\n\n## What does it cost?\n\nUpfront costs are higher than a basic furnace or AC replacement, often several thousand dollars depending on your home, ductwork, and region. Help is available: the federal tax credit is up to $2,000, which can take a meaningful bite out of the bill. Check for additional state and utility rebates, which can stack on top.\n\n## So, is it worth it?\n\nFor most people, yes, especially if:\n\n- You're replacing an aging AC or furnace anyway\n- You currently heat with electricity, oil, or propane\n- You want to cut energy use and emissions\n- Your local electricity rates are reasonable compared with gas\n\nIt may be a tougher sell if you have very cheap natural gas, an extremely cold climate, or a home that needs costly ductwork upgrades. Get quotes from several installers, factor in incentives, and compare estimated yearly energy costs. For many households, the efficiency savings and available credits make a heat pump a smart long-term investment.",
          "marks": [
            "For many households, the efficiency savings and available credits make a heat pump a smart long-term investment.",
            "making them viable in much of the country, including colder regions",
            "You currently heat with electricity, oil, or propane",
            "depending on your home, ductwork, and region",
            "very cheap natural gas, an extremely cold climate, or a home that needs costly ductwork upgrades"
          ],
          "scores": {
            "words": 456,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 4.7,
            "added": 0,
            "detector": 0.9994
          },
          "lintFindings": [],
          "judgeRuns": [
            { "byPattern": { "6": 3, "13": 1, "15": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 3, "13": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 3, "13": 1, "15": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Heat Pumps Explained: Are They Worth It?\n\n## What is a heat pump?\n\nA heat pump is an electric appliance that heats and cools your home by moving heat instead of making it. In winter it grabs heat from the outdoor air (yes, even when it feels freezing out) and carries it inside. In summer it runs the other way, like an air conditioner, and pushes the heat in your house outdoors. So one machine replaces both your furnace and your AC.\n\nThe trick is that moving heat takes a lot less energy than generating it. A furnace has to burn fuel or run electric resistance coils. A heat pump just shifts warmth that's already there.\n\n## How efficient is it?\n\nThis is where heat pumps really earn their keep. A good one delivers about 300% efficiency, which means you get roughly three units of heat for every unit of electricity you pay for. Even the best gas furnaces stay under 100%, and electric baseboard heaters land at exactly 100%. For a lot of households, that gap shows up right on the energy bill.\n\n## Does it work in the cold?\n\nOlder models struggled when temperatures dropped, but that's changed a lot. Plenty of current models keep working down to -15°C (5°F), so they're a realistic option across most of the country, colder regions included. Efficiency and output do fall as it gets colder, though. Pick a cold-climate model and make sure your installer sizes the system properly. In very cold areas, some people also keep a backup heat source.\n\n## How long does it last?\n\nPlan on about 15 years if you look after it, which mostly means cleaning the filters and getting it inspected once a year. That's about the same as a regular air conditioner. A heat pump runs all year for both heating and cooling, though, so it can wear faster than a standalone AC. Don't skip the upkeep.\n\n## What does it cost?\n\nIt costs more up front than replacing a basic furnace or AC, often a few thousand dollars more depending on your house, your ductwork, and where you live. There's help, though. The federal tax credit is up to $2,000, which takes a real chunk out of the price. Look into state and utility rebates too, since they can stack on top.\n\n## So, is it worth it?\n\nFor most people, yes, particularly if:\n\n- You're replacing an aging AC or furnace anyway\n- You heat with electricity, oil, or propane right now\n- You want to use less energy and cut emissions\n- Electricity in your area isn't expensive compared with gas\n\nIt's a harder sell if your natural gas is very cheap, your climate is extremely cold, or your home needs pricey ductwork upgrades. Get quotes from a few installers, count the incentives, and compare what each option would cost to run per year. For many households, the energy savings and credits make a heat pump a smart long-term investment.",
          "marks": [
            "earn their keep",
            "your natural gas is very cheap, your climate is extremely cold, or your home needs pricey ductwork upgrades",
            "yes, even when it feels freezing out",
            "Don't skip the upkeep.",
            "So one machine replaces both your furnace and your AC.",
            "or run electric resistance coils. A heat pump just shifts warmth"
          ],
          "scores": {
            "words": 492,
            "lintAi": 2,
            "lintStyle": 0,
            "judge": 3.7,
            "added": 0,
            "detector": 0.9691
          },
          "lintFindings": [
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "earn their keep"
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "your natural gas is very cheap, your climate is extremely cold, or your home needs pricey ductwork upgrades"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "4": 1, "6": 1, "18": 1 },
              "addedClaims": []
            },
            { "byPattern": { "2": 1, "6": 2 }, "addedClaims": [] },
            {
              "byPattern": { "1": 1, "4": 1, "6": 1, "15": 1 },
              "addedClaims": []
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-casestudy",
      "label": "Case study, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a customer case study of about 350 words: Fernhill Dental cut missed appointments with text reminders. Include these facts: no-shows fell from 18% to 7% in 3 months across their 2 clinics. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Fernhill", "18%", "7%", "3 months"],
      "versions": {
        "original": {
          "text": "# Fernhill Dental Cuts No-Shows by 11 Points with Text Reminders\n\n## At a Glance\n\n- **Customer:** Fernhill Dental\n- **Locations:** 2 clinics\n- **Challenge:** High rate of missed appointments\n- **Solution:** Automated text message reminders\n- **Result:** No-shows fell from 18% to 7% in 3 months\n\n## The Challenge\n\nFor Fernhill Dental, an empty chair meant more than a gap in the schedule. Nearly one in five booked appointments ended in a no-show. Each missed visit meant lost revenue, idle staff time, and a patient who had not received the care they needed.\n\nThe team had tried phone call reminders, but the approach was slow and unreliable. Front desk staff spent hours each week leaving voicemails that were rarely returned, and that time was taken away from patients standing in the clinic. With an 18% no-show rate across both locations, the practice knew it needed a better way to stay in touch.\n\n## The Solution\n\nFernhill Dental introduced automated text message reminders for every appointment at both clinics. Patients now receive a confirmation when they book, a reminder a few days before the visit, and a final nudge the day before. Each message lets patients confirm with a single reply or ask to reschedule.\n\nSetup was quick, and the system fit into the practice's existing scheduling routine. Staff no longer needed to make reminder calls by hand, and any cancellations were visible right away, so the team could offer the open slot to someone on the waiting list.\n\n## The Results\n\nWithin three months, the results were clear:\n\n- **No-shows dropped from 18% to 7%** across both clinics\n- **Fewer last-minute gaps**, as patients rescheduled in advance rather than not showing up\n- **More front desk time** freed up for in-person patient care\n\n\"Patients respond to texts in minutes, not days,\" said a member of the Fernhill team. \"We spend far less time chasing people and far more time looking after them.\"\n\nThe improvement was consistent at both locations, which suggests the approach works regardless of patient mix or clinic size.\n\n## Looking Ahead\n\nEncouraged by the results, Fernhill Dental plans to expand its use of text messaging to include post-visit follow-ups and recall reminders for routine cleanings. With a healthier schedule and a more engaged patient base, the practice is better positioned to grow while keeping the personal touch its patients value.\n\nAn 11-point drop in missed appointments shows how a simple, well-timed message can make a real difference for a busy dental practice.",
          "marks": [
            "At a Glance",
            "Customer: Fernhill Dental",
            "The Challenge",
            "The Solution",
            "The Results",
            "the results were clear",
            "No-shows dropped from 18% to 7% across both clinics",
            "in minutes, not days",
            "Looking Ahead",
            "make a real difference",
            "- **Customer:** Fernhill Dental",
            "lost revenue, idle staff time, and a patient who had not received the care they needed",
            "Patients respond to texts in minutes, not days",
            "while keeping the personal touch its patients value",
            "An 11-point drop in missed appointments shows how a simple, well-timed message can make a real difference for a busy dental practice."
          ],
          "scores": {
            "words": 402,
            "lintAi": 4,
            "lintStyle": 6,
            "judge": 5.7,
            "added": 0,
            "detector": 0.9998
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "At a Glance"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Customer: Fernhill Dental"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Challenge"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Solution"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Results"
            },
            {
              "rule": "colon-reveal",
              "level": "error",
              "excerpt": "the results were clear"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "No-shows dropped from 18% to 7% across both clinics"
            },
            {
              "rule": "marketing-phrase",
              "level": "error",
              "excerpt": "in minutes, not days"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Looking Ahead"
            },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "make a real difference"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 1, "15": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "6": 2, "13": 1, "19": 2 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "6": 2, "13": 1, "19": 2 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Fernhill Dental Cuts No-Shows by 11 Points with Text Reminders\n\n## Two clinics, one fix for missed appointments\n\nFernhill Dental, which runs 2 clinics, had a high rate of missed appointments. It added automated text message reminders, and no-shows fell from 18% to 7% in 3 months.\n\n## Phone reminders left one in five appointments empty\n\nFor Fernhill Dental, an empty chair meant more than a gap in the schedule. Nearly one in five booked appointments ended in a no-show. Each missed visit meant lost revenue, idle staff time, and a patient who had not received the care they needed.\n\nThe team had tried phone call reminders, but the approach was slow and unreliable. Front desk staff spent hours each week leaving voicemails that were rarely returned, and that time was taken away from patients standing in the clinic. With an 18% no-show rate across both locations, the practice knew it needed a better way to stay in touch.\n\n## Automated texts replaced reminder calls\n\nFernhill Dental introduced automated text message reminders for every appointment at both clinics. Patients now receive a confirmation when they book, a reminder a few days before the visit, and a final nudge the day before. Each message lets patients confirm with a single reply or ask to reschedule.\n\nSetup was quick, and the system fit into the practice's existing scheduling routine. Staff no longer needed to make reminder calls by hand, and any cancellations were visible right away, so the team could offer the open slot to someone on the waiting list.\n\n## No-shows dropped from 18% to 7%\n\nWithin three months, no-shows fell across both clinics.\n\nNo-shows dropped from 18% to 7% across both clinics. There were fewer last-minute gaps, as patients rescheduled in advance rather than not showing up. Front desk staff also had more time for in-person patient care.\n\n\"Patients respond to texts quickly,\" said a member of the Fernhill team. \"We spend far less time chasing people and far more time looking after them.\"\n\nThe improvement was consistent at both locations, which suggests the approach works regardless of patient mix or clinic size.\n\n## Next: post-visit follow-ups and cleaning recalls\n\nEncouraged by the results, Fernhill Dental plans to expand its use of text messaging to include post-visit follow-ups and recall reminders for routine cleanings. With a healthier schedule and a more engaged patient base, the practice is better positioned to grow while keeping the personal touch its patients value.\n\nAn 11-point drop in missed appointments shows how a simple, well-timed message can cut missed appointments for a busy dental practice.",
          "marks": [
            "an empty chair meant more than a gap in the schedule",
            "lost revenue, idle staff time, and a patient who had not received the care they needed",
            "No-shows dropped from 18% to 7% across both clinics.",
            "An 11-point drop in missed appointments shows how a simple, well-timed message can cut missed appointments for a busy dental practice."
          ],
          "scores": {
            "words": 425,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 5.3,
            "added": 0,
            "detector": 0.9967
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "6": 1, "24": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 1,
                "2": 1,
                "6": 1,
                "13": 1,
                "15": 1,
                "24": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 2, "15": 1, "24": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Fernhill Dental Cuts No-Shows by 11 Points with Text Reminders\n\n## At a Glance\n\n- **Customer:** Fernhill Dental\n- **Locations:** 2 clinics\n- **Challenge:** High rate of missed appointments\n- **Solution:** Automated text message reminders\n- **Result:** No-shows fell from 18% to 7% in 3 months\n\n## The Challenge\n\nNearly one in five appointments at Fernhill Dental ended in a no-show. Every one of them cost the practice money and left staff with nothing to do. It also meant a patient went without care they needed.\n\nThe team had tried calling patients to remind them. It didn't work well. Front desk staff spent hours every week leaving voicemails that hardly anyone returned, and that was time they couldn't spend on the people standing right in front of them. At 18% across both clinics, the practice knew it had to find a better way to reach people.\n\n## The Solution\n\nFernhill started sending automated text reminders for every appointment at both clinics. A patient gets a confirmation when they book, a reminder a few days out, and one more the day before. They can confirm by replying once, or ask to reschedule.\n\nSetup was quick, and it slotted into the way the practice already handled scheduling. Staff stopped making reminder calls by hand. Cancellations also showed up right away, so the team could offer the empty slot to someone on the waiting list.\n\n## The Results\n\nThree months in, the numbers spoke for themselves:\n\n- **No-shows dropped from 18% to 7%** across both clinics\n- **Fewer last-minute gaps**, because patients rescheduled ahead of time instead of simply not turning up\n- **More front desk time** for patients who are actually in the clinic\n\n\"Patients answer a text in minutes, not days,\" said a member of the Fernhill team. \"We spend far less time chasing people and far more time looking after them.\"\n\nBoth locations saw the same improvement, which suggests it doesn't depend on the clinic's size or who its patients are.\n\n## Looking Ahead\n\nFernhill plans to do more with text messaging, starting with post-visit follow-ups and recall reminders for routine cleanings. A fuller schedule and patients who are paying closer attention leave the practice room to grow without losing the personal touch its patients like.\n\nAn 11-point drop in missed appointments shows what a short message, sent at the right time, can do for a busy dental practice.",
          "marks": [
            "At a Glance",
            "Customer: Fernhill Dental",
            "The Challenge",
            "The Solution",
            "The Results",
            "No-shows dropped from 18% to 7% across both clinics",
            "in minutes, not days",
            "Looking Ahead",
            "It didn't work well.",
            "A patient gets a confirmation when they book, a reminder a few days out, and one more the day before.",
            "**No-shows dropped from 18% to 7%**",
            "**Fewer last-minute gaps**",
            "**More front desk time**",
            "Three months in, the numbers spoke for themselves:",
            "A fuller schedule and patients who are paying closer attention leave the practice room to grow without losing the personal touch its patients like."
          ],
          "scores": {
            "words": 386,
            "lintAi": 2,
            "lintStyle": 6,
            "judge": 6,
            "added": 0,
            "detector": 0.8388
          },
          "lintFindings": [
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "At a Glance"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Customer: Fernhill Dental"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Challenge"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Solution"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "The Results"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "No-shows dropped from 18% to 7% across both clinics"
            },
            {
              "rule": "marketing-phrase",
              "level": "error",
              "excerpt": "in minutes, not days"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Looking Ahead"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 2, "6": 1, "13": 1, "19": 3 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 2, "3": 1, "6": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 2, "3": 1, "6": 1, "19": 2 },
              "addedClaims": []
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-travel",
      "label": "Travel post, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a travel blog post of about 350 words: a weekend in Porto. Include these facts: the Livraria Lello ticket costs 8 euros and the train from Lisbon takes 2 hours 50 minutes. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Porto", "Livraria Lello", "8", "2 hours 50"],
      "versions": {
        "original": {
          "text": "# A Weekend in Porto: Tiles, Port, and River Light\n\nPorto has a way of slowing you down. Steep cobbled lanes, laundry fluttering from balconies, and the smell of grilled sardines drifting up from the Douro make it a city best explored on foot, with no strict plan. Here's how I spent a perfect weekend there.\n\n## Getting There\n\nI started in Lisbon, and the train couldn't have been easier. The journey takes **2 hours 50 minutes**, which gave me just enough time to watch the countryside roll by, finish a coffee, and read half a novel. Arriving at São Bento station is an event in itself. Its main hall is covered in more than 20,000 blue-and-white azulejo tiles depicting scenes from Portuguese history.\n\n## Saturday: Books and Bridges\n\nStart the day at **Livraria Lello**, one of the world's most beautiful bookshops. The **ticket costs 8 euros**, and it's worth every cent. The sweeping red staircase and carved wooden ceilings feel like something out of a fairy tale. Arrive early, as lines build quickly by mid-morning.\n\nFrom there, wander down toward the Ribeira district. Cross the double-decker Dom Luís I Bridge on foot and take in the view of the terracotta rooftops tumbling toward the river. For lunch, order a *francesinha*, the city's famous sandwich stacked with meats, covered in melted cheese, and drowned in a spicy beer sauce. It's gloriously excessive.\n\nIn the afternoon, cross to Vila Nova de Gaia and visit one of the port wine cellars. A tasting of tawny and ruby ports is the ideal way to spend a lazy hour or two. Stay for sunset on the riverbank, when the whole waterfront glows gold.\n\n## Sunday: Slow Mornings\n\nBegin with a *pastel de nata* and a strong *bica* at a neighborhood café. Then stroll through the Jardins do Palácio de Cristal, where peacocks roam freely and the views over the river are hard to beat. If you have energy left, browse the boutiques and street art around Rua de Miguel Bombarda.\n\n## Final Thoughts\n\nPorto is compact, friendly, and deeply atmospheric. Two days won't be enough, but they'll be enough to make you plan your return. Pack comfortable shoes, bring an appetite, and leave room in your suitcase for a bottle of port.",
          "marks": [
            "Here's how I spent a perfect weekend there.",
            "is an event in itself",
            "Final Thoughts",
            "compact, friendly, and deeply atmospheric",
            "one of the world's most beautiful bookshops",
            "gloriously excessive",
            "Porto is compact, friendly, and deeply atmospheric.",
            "Pack comfortable shoes, bring an appetite, and leave room in your suitcase for a bottle of port.",
            "stacked with meats, covered in melted cheese, and drowned in a spicy beer sauce",
            "Steep cobbled lanes, laundry fluttering from balconies, and the smell of grilled sardines drifting up from the Douro",
            "tumbling toward the river",
            "**Livraria Lello**",
            "Here's how I spent a perfect weekend there."
          ],
          "scores": {
            "words": 377,
            "lintAi": 3,
            "lintStyle": 1,
            "judge": 10,
            "added": 0,
            "detector": 0.9993
          },
          "lintFindings": [
            {
              "rule": "heres-announcement",
              "level": "error",
              "excerpt": "Here's how I spent a perfect weekend there."
            },
            {
              "rule": "significance-inflation",
              "level": "error",
              "excerpt": "is an event in itself"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Final Thoughts"
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "compact, friendly, and deeply atmospheric"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "4": 1, "6": 4, "15": 1, "16": 2, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "4": 1, "6": 4, "16": 1, "19": 3 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "2": 1,
                "4": 1,
                "6": 5,
                "15": 1,
                "16": 1,
                "19": 1
              },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# A Weekend in Porto: Tiles, Port, and River Light\n\nPorto has a way of slowing you down. Steep cobbled lanes, laundry fluttering from balconies, and the smell of grilled sardines drifting up from the Douro make it a city best explored on foot, with no strict plan.\n\n## Getting There\n\nI started in Lisbon, and the train couldn't have been easier. The journey takes **2 hours 50 minutes**, which gave me just enough time to watch the countryside roll by, finish a coffee, and read half a novel. São Bento station's main hall is covered in more than 20,000 blue-and-white azulejo tiles depicting scenes from Portuguese history.\n\n## Saturday: Books and Bridges\n\nStart the day at **Livraria Lello**, one of the world's most beautiful bookshops. The **ticket costs 8 euros**, and it's worth every cent. The sweeping red staircase and carved wooden ceilings feel like something out of a fairy tale. Arrive early, as lines build quickly by mid-morning.\n\nFrom there, wander down toward the Ribeira district. Cross the double-decker Dom Luís I Bridge on foot and take in the view of the terracotta rooftops tumbling toward the river. For lunch, order a *francesinha*, the city's famous sandwich stacked with meats, covered in melted cheese, and drowned in a spicy beer sauce. It's gloriously excessive.\n\nIn the afternoon, cross to Vila Nova de Gaia and visit one of the port wine cellars. A tasting of tawny and ruby ports is the ideal way to spend a lazy hour or two. Stay for sunset on the riverbank, when the whole waterfront glows gold.\n\n## Sunday: Slow Mornings\n\nBegin with a *pastel de nata* and a strong *bica* at a neighborhood café. Then stroll through the Jardins do Palácio de Cristal, where peacocks roam freely and the views over the river are hard to beat. If you have energy left, browse the boutiques and street art around Rua de Miguel Bombarda.\n\n## Two Days Are Not Enough, but Pack Light\n\nPorto is compact and friendly. Two days won't be enough, but they'll be enough to make you plan your return. Pack comfortable shoes, bring an appetite, and leave room in your suitcase for a bottle of port.",
          "marks": [
            "Two days won't be enough, but they'll be enough to make you plan your return.",
            "Pack comfortable shoes, bring an appetite, and leave room in your suitcase for a bottle of port.",
            "Steep cobbled lanes, laundry fluttering from balconies, and the smell of grilled sardines drifting up from the Douro",
            "watch the countryside roll by, finish a coffee, and read half a novel",
            "stacked with meats, covered in melted cheese, and drowned in a spicy beer sauce",
            "one of the world's most beautiful bookshops",
            "depicting scenes from Portuguese history"
          ],
          "scores": {
            "words": 365,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 6,
            "added": 0,
            "detector": 0.9974
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "6": 4, "15": 1, "16": 1 },
              "addedClaims": []
            },
            { "byPattern": { "3": 1, "6": 3, "16": 1 }, "addedClaims": [] },
            { "byPattern": { "6": 4, "16": 1, "19": 1 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# A Weekend in Porto: Tiles, Port, and River Light\n\nPorto slows you down whether you want it to or not. The lanes are steep and cobbled, laundry hangs off the balconies, and grilled sardines smell up the whole street near the Douro. I didn't bring much of a plan, and I'd say that was the right call. This is how my weekend went.\n\n## Getting There\n\nI came up from Lisbon by train. It takes **2 hours 50 minutes**, which was just long enough for a coffee, a lot of staring out the window, and about half a novel. Then you walk into São Bento station and forget about the book. The main hall is covered floor to ceiling in more than 20,000 blue-and-white azulejo tiles showing scenes from Portuguese history. I stood there far longer than I'd meant to.\n\n## Saturday: Books and Bridges\n\nFirst stop was **Livraria Lello**, often called one of the most beautiful bookshops in the world. The **ticket is 8 euros**, and I didn't mind paying. The red staircase curls up through carved wooden ceilings and the whole place feels a bit like a storybook. Go early. By mid-morning the line is long.\n\nAfter that I drifted downhill to the Ribeira and walked across the double-decker Dom Luís I Bridge. The terracotta rooftops spill down to the river, and I stopped halfway to take it in. Lunch was a *francesinha*, Porto's famous sandwich: meats piled high, smothered in melted cheese, then drenched in a spicy beer sauce. It's absurd, and I'd order it again.\n\nIn the afternoon I crossed into Vila Nova de Gaia and visited a port cellar. I tried a tawny and a ruby and let an hour or two slip by. We stayed on the riverbank for sunset, when the whole waterfront turns gold.\n\n## Sunday: Slow Mornings\n\nSunday started with a *pastel de nata* and a strong *bica* at a café near where I was staying. Then I wandered through the Jardins do Palácio de Cristal, where peacocks stroll around like they own the place and the river views are lovely. If you still have some energy, the boutiques and street art around Rua de Miguel Bombarda are worth a look.\n\n## Final Thoughts\n\nPorto is small, friendly, and full of atmosphere. Two days isn't enough, but it was plenty to make me start planning a return. Wear comfortable shoes, come hungry, and save room in your suitcase for a bottle of port.",
          "marks": [
            "worth a look",
            "Final Thoughts",
            "I didn't bring much of a plan, and I'd say that was the right call.",
            "I stood there far longer than I'd meant to.",
            "Porto is small, friendly, and full of atmosphere.",
            "Wear comfortable shoes, come hungry, and save room in your suitcase for a bottle of port.",
            "a coffee, a lot of staring out the window, and about half a novel",
            "It's absurd, and I'd order it again."
          ],
          "scores": {
            "words": 412,
            "lintAi": 1,
            "lintStyle": 1,
            "judge": 5,
            "added": 8,
            "detector": 0.9932
          },
          "lintFindings": [
            {
              "rule": "figurative-worth",
              "level": "error",
              "excerpt": "worth a look"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "Final Thoughts"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 2, "5": 1, "6": 3 },
              "addedClaims": [
                "The author didn't bring much of a plan.",
                "The author stood in São Bento station far longer than intended.",
                "The author didn't mind paying the 8 euro ticket.",
                "The author stopped halfway across the bridge to take in the view.",
                "The author said they would order the francesinha again.",
                "The author tried a tawny and a ruby port.",
                "The author stayed with others at sunset (\"We stayed on the riverbank\").",
                "The author's Sunday café was near where they were staying.",
                "Livraria Lello is often called one of the most beautiful bookshops in the world (originally 'one of the world's most beautiful', so similar, not new).",
                "Sunday's peacocks 'stroll around like they own the place' (embellishment of peacocks roaming)."
              ]
            },
            {
              "byPattern": { "7": 1 },
              "addedClaims": [
                "The author stayed in a place with a café nearby (\"a café near where I was staying\")",
                "The author stood in São Bento station far longer than meant",
                "The author stopped halfway across the bridge to take in the view",
                "The author tried a tawny and a ruby port (specific personal tasting)",
                "The author stayed on the riverbank for sunset with others (\"We stayed\")",
                "The author would order the francesinha again"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 3, "7": 1, "16": 1 },
              "addedClaims": [
                "The author stayed at a place (accommodation) with a café nearby on Sunday",
                "The author stood in São Bento station far longer than intended",
                "The author stopped halfway across the bridge to take in the view",
                "The author tried a tawny and a ruby port at a cellar",
                "The author was accompanied by others (\"We stayed on the riverbank\")",
                "The author did not bring much of a plan",
                "Livraria Lello is often called one of the most beautiful bookshops in the world (original says 'one of the world's most beautiful', so mostly supported)",
                "The author would order the francesinha again",
                "The author came up from Lisbon by train and watched out the window (staring)"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-opinion",
      "label": "Opinion piece, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a opinion piece of about 350 words: a company's four-day week trial. Include these facts: Harbor Labs ran the trial for 6 months with 24 staff, and output rose 9%. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Harbor Labs", "6 months", "24", "9%"],
      "versions": {
        "original": {
          "text": "# Four Days Is Not a Perk. It's a Strategy.\n\nFor decades, we've treated the five-day week as a law of nature. It isn't. It's a habit, inherited from factory floors and defended mostly by people who have never measured whether it works.\n\nHarbor Labs did measure. Over six months, the company ran a four-day week trial with 24 staff. At the end, output had risen 9%. Not held steady. Not \"only dipped slightly.\" Risen.\n\nSkeptics will say 24 people is a small sample, and they're right. This is not a peer-reviewed study of the global economy. But a small trial is exactly what a sensible company should run before changing how it operates. It is cheap, it is reversible, and it produces evidence rather than opinions. The more interesting question is why anyone would be surprised by the result.\n\nMost of us know how a typical Wednesday goes. A meeting that could have been an email. A status update about a status update. An afternoon spent looking busy because leaving would look lazy. When you take away a fifth of the week, something has to give, and what gives is the waste. People decline pointless meetings. They protect their focus. They get on with the work because they have a reason to: Friday is theirs.\n\nThat is the real lesson. The four-day week works not because people secretly have an extra day of productivity hidden in them, but because scarcity sharpens attention. Give someone less time and a clear goal, and they will often find a smarter route.\n\nThere is a human argument too, and it shouldn't be dismissed as soft. Rested people make fewer mistakes, stay longer, and don't spend their evenings quietly updating their résumés. Retention is a cost. Burnout is a cost. A longer weekend is, among other things, a cheap way to reduce both.\n\nNone of this means every business can copy Harbor Labs tomorrow. Hospitals, shops and support desks face real scheduling constraints. But \"it's complicated\" is a reason to design carefully, not a reason to refuse to look.\n\nIf a company can do 9% more with a day less, the burden of proof has shifted. It's now the five-day week that needs to justify itself.",
          "marks": [
            "It isn't.",
            "This is not a peer-reviewed study of the global economy.",
            "It is cheap, it is reversible, and it produces evidence rather than opinions",
            "The more interesting question is",
            "People decline pointless meetings. They protect their focus.",
            "That is the real lesson.",
            "not because people secretly have an extra day of productivity hidden in them, but because",
            "None of this means",
            "Four Days Is Not a Perk. It's a Strategy.",
            "It isn't. It's a habit",
            "Not held steady. Not \"only dipped slightly.\" Risen.",
            "not because people secretly have an extra day of productivity hidden in them, but because scarcity sharpens attention",
            "A meeting that could have been an email. A status update about a status update. An afternoon spent looking busy because leaving would look lazy.",
            "It is cheap, it is reversible, and it produces evidence rather than opinions.",
            "That is the real lesson.",
            "it shouldn't be dismissed as soft",
            "This is not a peer-reviewed study of the global economy.",
            "People decline pointless meetings. They protect their focus. They get on with the work",
            "Retention is a cost. Burnout is a cost.",
            "Rested people make fewer mistakes, stay longer, and don't spend their evenings quietly updating their résumés.",
            "not a reason to refuse to look",
            "Harbor Labs did measure.",
            "None of this means every business can copy Harbor Labs tomorrow.",
            "Hospitals, shops and support desks face real scheduling constraints."
          ],
          "scores": {
            "words": 373,
            "lintAi": 8,
            "lintStyle": 0,
            "judge": 15.3,
            "added": 0,
            "detector": 0.3892
          },
          "lintFindings": [
            {
              "rule": "stranded-negation",
              "level": "error",
              "excerpt": "It isn't."
            },
            {
              "rule": "negative-reframe",
              "level": "warning",
              "excerpt": "This is not a peer-reviewed study of the global economy."
            },
            {
              "rule": "triad",
              "level": "warning",
              "excerpt": "It is cheap, it is reversible, and it produces evidence rather than opinions"
            },
            {
              "rule": "throat-clearing",
              "level": "error",
              "excerpt": "The more interesting question is"
            },
            {
              "rule": "pithy-fragment",
              "level": "error",
              "excerpt": "People decline pointless meetings. They protect their focus."
            },
            {
              "rule": "stock-closer",
              "level": "error",
              "excerpt": "That is the real lesson."
            },
            {
              "rule": "not-because",
              "level": "error",
              "excerpt": "not because people secretly have an extra day of productivity hidden in them, but because"
            },
            {
              "rule": "strawman",
              "level": "error",
              "excerpt": "None of this means"
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "1": 4, "2": 4, "3": 1, "5": 3, "6": 3, "7": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 4,
                "2": 3,
                "3": 2,
                "5": 3,
                "6": 2,
                "7": 1,
                "13": 1
              },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 5, "2": 3, "3": 1, "5": 2, "6": 2, "7": 1 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# The Four-Day Week Is a Strategy\n\nFor decades, we've treated the five-day week as a law of nature, but it is a habit inherited from factory floors and defended mostly by people who have never measured whether it works.\n\nHarbor Labs did measure. Over six months, the company ran a four-day week trial with 24 staff. At the end, output had risen 9%, a clear gain.\n\nSkeptics will say 24 people is a small sample, and they're right. It is no peer-reviewed study of the global economy, but a small trial is exactly what a sensible company should run before changing how it operates. It is cheap and reversible, and it produces evidence rather than opinions. Why would anyone would be surprised by the result?\n\nMost of us know how a typical Wednesday goes. A meeting that could have been an email. A status update about a status update. An afternoon spent looking busy because leaving would look lazy. When you take away a fifth of the week, something has to give, and what gives is the waste. People decline pointless meetings and protect their focus. They get on with the work because they have a reason to: Friday is theirs.\n\nThe four-day week works because scarcity sharpens attention. Give someone less time and a clear goal, and they will often find a smarter route.\n\nThere is a human argument too, and it shouldn't be dismissed as soft. Rested people make fewer mistakes, stay longer, and don't spend their evenings quietly updating their résumés. Retention is a cost. Burnout is a cost. A longer weekend is, among other things, a cheap way to reduce both.\n\nNot every business can copy Harbor Labs tomorrow. Hospitals, shops and support desks face real scheduling constraints. But \"it's complicated\" is a reason to design carefully, not a reason to refuse to look.\n\nIf a company can do 9% more with a day less, the burden of proof has shifted. It's now the five-day week that needs to justify itself.",
          "marks": [
            "Harbor Labs did measure.",
            "A meeting that could have been an email. A status update about a status update. An afternoon spent looking busy because leaving would look lazy.",
            "A meeting that could have been an email. A status update about a status update. An afternoon spent looking busy because leaving would look lazy.",
            "Retention is a cost. Burnout is a cost.",
            "Rested people make fewer mistakes, stay longer, and don't spend their evenings quietly updating their résumés.",
            "a clear gain",
            "But \"it's complicated\" is a reason to design carefully, not a reason to refuse to look.",
            "not a reason to refuse to look",
            "It is no peer-reviewed study of the global economy, but"
          ],
          "scores": {
            "words": 337,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 8.3,
            "added": 0,
            "detector": 0.3569
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 2, "2": 2, "5": 1, "6": 2, "7": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 2, "2": 2, "5": 2, "6": 1, "7": 1, "15": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "5": 1, "6": 2, "7": 1, "15": 1 },
              "addedClaims": []
            }
          ]
        },
        "plain": {
          "text": "# Four Days Is Not a Perk. It's a Strategy.\n\nWe've all treated the five-day week as if it were a law of nature, but it's really just a habit we picked up from factory floors. Most of the people defending it have never checked whether it works.\n\nHarbor Labs checked. They ran a four-day week with 24 staff for six months, and by the end output was up 9%. It didn't hold steady or dip a little. It went up.\n\nYes, 24 people is a small sample, and this isn't a peer-reviewed study of the global economy. But a small trial is what a sensible company should run before changing how it operates. It's cheap, you can undo it, and you end up with evidence instead of opinions. What I find more interesting is why anyone would be surprised.\n\nYou know how a typical Wednesday goes. There's a meeting that could have been an email, then a status update about a status update, then an afternoon of looking busy because leaving early would look lazy. Take away a fifth of the week and something has to give, and what gives is the waste. People turn down pointless meetings and guard their focus. They get on with the work because Friday is theirs.\n\nSo I don't think people have a hidden extra day of productivity in them. I think scarcity sharpens attention. Give someone less time and a clear goal, and they'll often find a smarter way to get there.\n\nThere's a human argument too, and it isn't a soft one. Rested people make fewer mistakes and stick around longer, and they don't spend their evenings quietly updating their résumés. Turnover costs money. So does burnout. A longer weekend is a cheap way to cut both.\n\nThat doesn't mean every business can copy Harbor Labs tomorrow. Hospitals, shops and support desks have real scheduling constraints. But \"it's complicated\" is a reason to plan carefully, not a reason to refuse to look.\n\nIf a company can do 9% more with a day less, the burden of proof has shifted. Now it's the five-day week that has to justify itself.",
          "marks": [
            "It didn't hold steady or dip a little. It went up.",
            "It went up.",
            "Most of the people defending it have never checked whether it works.",
            "it isn't a soft one",
            "Turnover costs money. So does burnout.",
            "There's a meeting that could have been an email, then a status update about a status update, then an afternoon of looking busy"
          ],
          "scores": {
            "words": 359,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 8,
            "added": 0,
            "detector": 0.1708
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "1": 1, "2": 1, "5": 2, "6": 1, "7": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 3, "2": 1, "5": 2, "6": 2, "7": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 2, "2": 1, "5": 3, "6": 2, "7": 1 },
              "addedClaims": []
            }
          ]
        }
      }
    },
    {
      "id": "sonnet-funding",
      "label": "Funding news, Sonnet 5.5",
      "model": "Claude Sonnet 5.5",
      "draftPrompt": "Write a funding announcement blog post of about 350 words: Tidepool, a tide and surf forecast app, raised a Series A. Include these facts: the Series A is $8 million, led by Bramble Capital, and the app has 30,000 weekly users. Reply with only the text, in Markdown.",
      "rewritePrompts": {
        "lint171": "Check draft.md with seo lint and fix every error and warning. For each review item, change the line only when it fails the question. Run seo lint again until it reports 0 errors and 0 warnings. Edit the file in place.",
        "plain": "Rewrite the prose in draft.md so it sounds like a person wrote it. Edit the file in place."
      },
      "facts": ["Tidepool", "$8 million", "Bramble Capital", "30,000"],
      "versions": {
        "original": {
          "text": "# Tidepool Raises $8 Million Series A to Help More People Read the Water\n\nToday we're thrilled to announce that Tidepool has raised an $8 million Series A, led by Bramble Capital. The funding will help us build the most trusted tide and surf forecast app for everyone who lives, works, or plays by the coast.\n\n## Why we started Tidepool\n\nAnyone who has driven an hour to the beach only to find a blown-out, closed-out mess knows the frustration. Conditions on the coast change quickly, and the information to predict them is scattered across buoy readings, tide tables, wind models, and local knowledge. We built Tidepool to bring all of it together in one clear, honest forecast.\n\n## Where we are today\n\nTidepool now has 30,000 weekly users, including surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore. Most of that growth has come from word of mouth, which is the best compliment we could ask for. People tell their friends because the forecasts help them make better decisions, whether that means catching the right swell window or avoiding a high tide at a tricky launch.\n\n## What the funding makes possible\n\nWith Bramble Capital's support, we're focusing on three priorities:\n\n- **Better forecasts.** We're investing in improved wave and tide modeling, with finer detail for more breaks and beaches.\n- **Smarter alerts.** You'll be able to set personal conditions, such as swell size, wind direction, and tide height, and get notified the moment they line up.\n- **A stronger team.** We're hiring engineers, data scientists, and designers who care about the ocean as much as we do.\n\n## A note of thanks\n\n\"Bramble Capital understood right away that this is about more than numbers on a screen,\" our team likes to say. \"It's about getting people outside, safely, at the right time.\" We're grateful to them for believing in that mission, and to our early users for shaping the product with every piece of feedback.\n\nThe ocean doesn't keep a schedule, but with the right information, you can. We're just getting started, and we can't wait to show you what's next.\n\nSee you at the water.\n\n**The Tidepool Team**",
          "marks": [
            "thrilled to announce",
            "Better forecasts. We're investing in improved wave and tide",
            "A note of thanks",
            "See you at the water.",
            "surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore",
            "buoy readings, tide tables, wind models, and local knowledge",
            "swell size, wind direction, and tide height",
            "we're focusing on three priorities",
            "this is about more than numbers on a screen",
            "See you at the water.",
            "**Better forecasts.** We're investing in improved wave and tide modeling",
            "**Smarter alerts.** You'll be able to set personal conditions",
            "**A stronger team.** We're hiring engineers",
            "engineers, data scientists, and designers",
            "The ocean doesn't keep a schedule, but with the right information, you can."
          ],
          "scores": {
            "words": 358,
            "lintAi": 3,
            "lintStyle": 1,
            "judge": 8,
            "added": 0,
            "detector": 0.9993
          },
          "lintFindings": [
            {
              "rule": "cliche",
              "level": "error",
              "excerpt": "thrilled to announce"
            },
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Better forecasts. We're investing in improved wave and tide"
            },
            {
              "rule": "heading-cliche",
              "level": "error",
              "excerpt": "A note of thanks"
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "See you at the water."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "3": 1, "5": 1, "6": 5, "19": 3 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "2": 1, "6": 1, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "2": 1, "5": 1, "6": 4, "19": 3 },
              "addedClaims": []
            }
          ]
        },
        "lint171": {
          "text": "# Tidepool Raises $8 Million Series A to Help More People Read the Water\n\nTidepool has raised an $8 million Series A, led by Bramble Capital. The funding will help us build the most trusted tide and surf forecast app for everyone who lives, works, or plays by the coast.\n\n## Why we started Tidepool\n\nAnyone who has driven an hour to the beach only to find a blown-out, closed-out mess knows the frustration. Conditions on the coast change quickly, and the information to predict them is scattered across buoy readings, tide tables, wind models, and local knowledge. We built Tidepool to bring all of it together in one clear, honest forecast.\n\n## Where we are today\n\nTidepool now has 30,000 weekly users, including surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore. Most of that growth has come from word of mouth, which is the best compliment we could ask for. People tell their friends because the forecasts help them make better decisions, whether that means catching the right swell window or avoiding a high tide at a tricky launch.\n\n## What the funding makes possible\n\nWith Bramble Capital's support, we're focusing on three priorities:\n\n- We're investing in improved wave and tide modeling, with finer detail for more breaks and beaches.\n- You'll be able to set personal conditions, such as swell size, wind direction, and tide height, and get notified the moment they line up.\n- We're hiring engineers, data scientists, and designers who care about the ocean as much as we do.\n\n## Why we're grateful to Bramble Capital and our early users\n\n\"Bramble Capital understood right away that this is about more than numbers on a screen,\" our team likes to say. \"It's about getting people outside, safely, at the right time.\" We're grateful to them for believing in that mission, and to our early users for shaping the product with every piece of feedback.\n\nThe ocean doesn't keep a schedule, but with the right information, you can. We're just getting started, and we can't wait to show you what's next.\n\n**The Tidepool Team**",
          "marks": [
            "\"Bramble Capital understood right away that this is about more than numbers on a screen,\"",
            "surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore",
            "swell size, wind direction, and tide height",
            "engineers, data scientists, and designers",
            "buoy readings, tide tables, wind models, and local knowledge",
            "We're investing in improved wave and tide modeling",
            "We're hiring engineers, data scientists, and designers",
            "We're grateful to them for believing in that mission",
            "The ocean doesn't keep a schedule, but with the right information, you can."
          ],
          "scores": {
            "words": 346,
            "lintAi": 0,
            "lintStyle": 0,
            "judge": 7.7,
            "added": 0,
            "detector": 0.9989
          },
          "lintFindings": [],
          "judgeRuns": [
            {
              "byPattern": { "2": 1, "5": 1, "6": 4, "7": 2, "24": 1 },
              "addedClaims": []
            },
            {
              "byPattern": { "1": 1, "5": 1, "6": 4, "7": 2, "24": 1 },
              "addedClaims": []
            },
            { "byPattern": { "1": 2, "2": 1, "6": 2 }, "addedClaims": [] }
          ]
        },
        "plain": {
          "text": "# Tidepool Raises $8 Million Series A\n\nWe've raised $8 million in a Series A led by Bramble Capital. The money goes toward making Tidepool the tide and surf forecast people actually trust, whether you live on the coast, work on it, or just like being there.\n\n## Why we started Tidepool\n\nYou've probably done this: driven an hour to the beach and found it blown out and closed out. Conditions change fast, and what you need to predict them is spread across buoy readings, tide tables, wind models, and whatever the locals know. We built Tidepool to put all of that in one honest forecast.\n\n## Where we are today\n\nAbout 30,000 people use Tidepool every week. Surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore. Nearly all of that growth came from word of mouth, which is the best thing we could hope for. People pass it along because it helps them decide things, like when to catch the swell or which launch to skip at high tide.\n\n## What the funding makes possible\n\nThree things:\n\n- **Better forecasts.** Improved wave and tide modeling, with finer detail for more breaks and beaches.\n- **Smarter alerts.** Set your own conditions, like swell size, wind direction, and tide height, and get a notification when they line up.\n- **A bigger team.** We're hiring engineers, data scientists, and designers who care about the ocean as much as we do.\n\n## Thank you\n\nBramble Capital got it right away. This isn't about numbers on a screen. It's about getting people outside, safely, at the right time. We're grateful they believe in that, and grateful to our early users, whose feedback has shaped the product at every step.\n\nThe ocean doesn't keep a schedule, but with good information you can. We're just getting started, and we're looking forward to showing you what's next.\n\nSee you at the water.\n\n**The Tidepool Team**",
          "marks": [
            "Better forecasts. Improved wave and tide modeling, with fine",
            "This isn't about numbers on a screen. It's about getting people outside, safely, at the right time.",
            "See you at the water.",
            "This isn't about numbers on a screen. It's about getting people outside, safely, at the right time.",
            "Surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore.",
            "Surfers, anglers, paddleboarders, tide-poolers, kayakers, and families planning a day at the shore.",
            "**Better forecasts.** Improved wave and tide modeling, with finer detail for more breaks and beaches.",
            "engineers, data scientists, and designers",
            "swell size, wind direction, and tide height",
            "whether you live on the coast, work on it, or just like being there",
            "Three things:",
            "grateful they believe in that, and grateful to our early users"
          ],
          "scores": {
            "words": 315,
            "lintAi": 3,
            "lintStyle": 0,
            "judge": 9.3,
            "added": 1,
            "detector": 0.9745
          },
          "lintFindings": [
            {
              "rule": "bold-label-bullets",
              "level": "warning",
              "excerpt": "Better forecasts. Improved wave and tide modeling, with fine"
            },
            {
              "rule": "negative-parallelism",
              "level": "error",
              "excerpt": "This isn't about numbers on a screen. It's about getting people outside, safely, at the right time."
            },
            {
              "rule": "generic-closer",
              "level": "error",
              "excerpt": "See you at the water."
            }
          ],
          "judgeRuns": [
            {
              "byPattern": { "2": 2, "5": 1, "6": 4, "7": 1, "19": 1 },
              "addedClaims": [
                "Nearly all of that growth came from word of mouth (original said most)"
              ]
            },
            {
              "byPattern": { "1": 1, "2": 2, "6": 3, "19": 1 },
              "addedClaims": []
            },
            {
              "byPattern": {
                "1": 1,
                "2": 2,
                "5": 1,
                "6": 3,
                "7": 1,
                "15": 1,
                "19": 3
              },
              "addedClaims": [
                "Nearly all of that growth came from word of mouth (original said most)",
                "Users pass it along because it helps them decide things (reworded, no new fact)"
              ]
            }
          ]
        }
      }
    }
  ]
}
