{
  "repository": "facebook/react",
  "commit": "b618bbb4422693bbb8d387180687b3f510300f42",
  "scannedAt": "2026-10-08T00:35:41.139Z",
  "policy": "tracked-prose-v1",
  "schemaVersion": 1,
  "tool": "style-doctor",
  "version": "0.4.2",
  "mode": "full",
  "project": "react",
  "ok": true,
  "score": 96,
  "label": "Excellent",
  "words": 184382,
  "summary": {
    "issues": 1861,
    "errors": 3,
    "warnings": 1858,
    "filesWithIssues": 150,
    "byCategory": {
      "Grammar": {
        "errors": 0,
        "warnings": 1321
      },
      "Formatting": {
        "errors": 0,
        "warnings": 386
      },
      "Filler": {
        "errors": 2,
        "warnings": 110
      },
      "LLM Tells": {
        "errors": 1,
        "warnings": 41
      }
    }
  },
  "scannedFileCount": 2239,
  "diagnostics": [
    {
      "filePath": ".claude/instructions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 18,
      "match": "be installed",
      "id": ".claude/instructions.md::28:18::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/instructions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 8,
      "match": "are handled",
      "id": ".claude/instructions.md::46:8::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/instructions.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "4 bolded spans in 109 words",
      "id": ".claude/instructions.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": ".claude/skills/extract-errors/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 6,
      "column": 1,
      "match": "# Extract Error Codes",
      "id": ".claude/skills/extract-errors/SKILL.md::6:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".claude/skills/feature-flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 6,
      "column": 1,
      "match": "# React Feature Flags",
      "id": ".claude/skills/feature-flags/SKILL.md::6:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".claude/skills/feature-flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 54,
      "column": 1,
      "match": "## Checking Flag States",
      "id": ".claude/skills/feature-flags/SKILL.md::54:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".claude/skills/feature-flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 67,
      "column": 1,
      "match": "## Debugging Channel-Specific Failures",
      "id": ".claude/skills/feature-flags/SKILL.md::67:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".claude/skills/feature-flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 40,
      "match": "be gated",
      "id": ".claude/skills/feature-flags/SKILL.md::70:40::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/skills/feature-flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 78,
      "column": 43,
      "match": "be added",
      "id": ".claude/skills/feature-flags/SKILL.md::78:43::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/skills/flags/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 38,
      "column": 46,
      "match": "are tested",
      "id": ".claude/skills/flags/SKILL.md::38:46::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/skills/flow/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 6,
      "column": 1,
      "match": "# Flow Type Checking",
      "id": ".claude/skills/flow/SKILL.md::6:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".claude/skills/flow/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 43,
      "match": "are imported",
      "id": ".claude/skills/flow/SKILL.md::30:43::style-doctor/passive-voice"
    },
    {
      "filePath": ".claude/skills/test/SKILL.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 44,
      "column": 51,
      "match": "very",
      "id": ".claude/skills/test/SKILL.md::44:51::style-doctor/weasel-word"
    },
    {
      "filePath": ".claude/skills/test/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "5 bolded spans in 190 words",
      "id": ".claude/skills/test/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": ".github/ISSUE_TEMPLATE/bug_report.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 17,
      "column": 1,
      "match": "## Steps To Reproduce",
      "id": ".github/ISSUE_TEMPLATE/bug_report.md::17:1::style-doctor/title-case-heading"
    },
    {
      "filePath": ".github/ISSUE_TEMPLATE/bug_report.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 21,
      "match": "be immediately closed",
      "id": ".github/ISSUE_TEMPLATE/bug_report.md::25:21::style-doctor/passive-voice"
    },
    {
      "filePath": ".github/PULL_REQUEST_TEMPLATE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 54,
      "match": "be tested",
      "id": ".github/PULL_REQUEST_TEMPLATE.md::9:54::style-doctor/passive-voice"
    },
    {
      "filePath": ".github/PULL_REQUEST_TEMPLATE.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 32,
      "column": 41,
      "match": "very",
      "id": ".github/PULL_REQUEST_TEMPLATE.md::32:41::style-doctor/weasel-word"
    },
    {
      "filePath": ".github/PULL_REQUEST_TEMPLATE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 32,
      "column": 53,
      "match": "be closed",
      "id": ".github/PULL_REQUEST_TEMPLATE.md::32:53::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 3,
      "column": 1,
      "match": "### New React Features",
      "id": "CHANGELOG.md::3:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 8,
      "column": 1,
      "match": "### New React DOM Features",
      "id": "CHANGELOG.md::8:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 51,
      "match": "being entangled",
      "id": "CHANGELOG.md::16:51::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 48,
      "match": "been unblocked",
      "id": "CHANGELOG.md::46:48::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 52,
      "column": 49,
      "match": "is incorrectly instrumented",
      "id": "CHANGELOG.md::52:49::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 83,
      "column": 46,
      "match": "is updated",
      "id": "CHANGELOG.md::83:46::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 124,
      "column": 1,
      "match": "#### React Server Components",
      "id": "CHANGELOG.md::124:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 45,
      "match": "are retained",
      "id": "CHANGELOG.md::128:45::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 129,
      "column": 51,
      "match": "are unwrapped",
      "id": "CHANGELOG.md::129:51::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 158,
      "column": 23,
      "match": "is disabled",
      "id": "CHANGELOG.md::158:23::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 162,
      "column": 30,
      "match": "be serialized",
      "id": "CHANGELOG.md::162:30::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 192,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::192:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 198,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::198:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 204,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::204:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 210,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::210:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 216,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::216:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 222,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::222:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 229,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::229:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 239,
      "column": 1,
      "match": "### New React Features",
      "id": "CHANGELOG.md::239:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 246,
      "column": 1,
      "match": "### New React DOM Features",
      "id": "CHANGELOG.md::246:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 254,
      "column": 125,
      "match": "be passed",
      "id": "CHANGELOG.md::254:125::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 266,
      "column": 18,
      "match": "was developed",
      "id": "CHANGELOG.md::266:18::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 270,
      "column": 35,
      "match": "was passed",
      "id": "CHANGELOG.md::270:35::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 281,
      "column": 41,
      "match": "are used",
      "id": "CHANGELOG.md::281:41::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 282,
      "column": 20,
      "match": "be used",
      "id": "CHANGELOG.md::282:20::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 291,
      "column": 1,
      "match": "#### React Server Components",
      "id": "CHANGELOG.md::291:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 308,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::308:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 314,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::314:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 320,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::320:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 326,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::326:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 332,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::332:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 338,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::338:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 345,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::345:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 358,
      "column": 324,
      "match": "are unchanged",
      "id": "CHANGELOG.md::358:324::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 361,
      "column": 175,
      "match": "be used",
      "id": "CHANGELOG.md::361:175::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 365,
      "column": 47,
      "match": "be used",
      "id": "CHANGELOG.md::365:47::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 374,
      "column": 38,
      "match": "were exported",
      "id": "CHANGELOG.md::374:38::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 377,
      "column": 76,
      "match": "is enabled",
      "id": "CHANGELOG.md::377:76::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 385,
      "column": 57,
      "match": "be nested",
      "id": "CHANGELOG.md::385:57::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 386,
      "column": 30,
      "match": "be preloaded",
      "id": "CHANGELOG.md::386:30::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 391,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::391:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 394,
      "column": 39,
      "match": "were counted",
      "id": "CHANGELOG.md::394:39::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 403,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::403:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 409,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::409:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 415,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::415:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 421,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::421:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 427,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::427:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 433,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::433:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 439,
      "column": 1,
      "match": "### React Server Components",
      "id": "CHANGELOG.md::439:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 453,
      "column": 100,
      "match": "are called",
      "id": "CHANGELOG.md::453:100::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 454,
      "column": 267,
      "match": "is used",
      "id": "CHANGELOG.md::454:267::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 454,
      "column": 289,
      "match": "is passed",
      "id": "CHANGELOG.md::454:289::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 455,
      "column": 135,
      "match": "be called",
      "id": "CHANGELOG.md::455:135::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 455,
      "column": 328,
      "match": "is updated",
      "id": "CHANGELOG.md::455:328::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 456,
      "column": 169,
      "match": "is resolved",
      "id": "CHANGELOG.md::456:169::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 456,
      "column": 197,
      "match": "be used",
      "id": "CHANGELOG.md::456:197::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 456,
      "column": 223,
      "match": "be called",
      "id": "CHANGELOG.md::456:223::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 457,
      "column": 33,
      "match": "be used",
      "id": "CHANGELOG.md::457:33::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 460,
      "column": 1,
      "match": "#### React DOM Client",
      "id": "CHANGELOG.md::460:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 463,
      "column": 55,
      "match": "be passed",
      "id": "CHANGELOG.md::463:55::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 466,
      "column": 61,
      "match": "are inserted",
      "id": "CHANGELOG.md::466:61::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 467,
      "column": 48,
      "match": "be rendered",
      "id": "CHANGELOG.md::467:48::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 468,
      "column": 243,
      "match": "be used",
      "id": "CHANGELOG.md::468:243::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 470,
      "column": 1,
      "match": "#### React DOM Server",
      "id": "CHANGELOG.md::470:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 472,
      "column": 87,
      "match": "are designed",
      "id": "CHANGELOG.md::472:87::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 474,
      "column": 1,
      "match": "#### React Server Components",
      "id": "CHANGELOG.md::474:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 490,
      "column": 171,
      "match": "are reported",
      "id": "CHANGELOG.md::490:171::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 491,
      "column": 52,
      "match": "be silently ignored",
      "id": "CHANGELOG.md::491:52::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 492,
      "column": 69,
      "match": "be used",
      "id": "CHANGELOG.md::492:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 492,
      "column": 145,
      "match": "there is",
      "id": "CHANGELOG.md::492:145::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 493,
      "column": 90,
      "match": "been removed",
      "id": "CHANGELOG.md::493:90::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 494,
      "column": 58,
      "match": "be migrated",
      "id": "CHANGELOG.md::494:58::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 495,
      "column": 69,
      "match": "be migrated",
      "id": "CHANGELOG.md::495:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 496,
      "column": 48,
      "match": "is broadly supported",
      "id": "CHANGELOG.md::496:48::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 496,
      "column": 100,
      "match": "be migrated",
      "id": "CHANGELOG.md::496:100::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 501,
      "column": 117,
      "match": "been removed",
      "id": "CHANGELOG.md::501:117::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 502,
      "column": 66,
      "match": "been removed",
      "id": "CHANGELOG.md::502:66::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "connective-overload",
      "severity": "warning",
      "category": "Filler",
      "title": "Formal connective overload",
      "message": "Formal connectives pile up in LLM prose.",
      "help": "Use \"also\" or start a new sentence.",
      "line": 514,
      "column": 136,
      "match": "Additionally",
      "id": "CHANGELOG.md::514:136::style-doctor/connective-overload"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 524,
      "column": 29,
      "match": "be codemodded",
      "id": "CHANGELOG.md::524:29::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 537,
      "column": 214,
      "match": "were managed",
      "id": "CHANGELOG.md::537:214::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 538,
      "column": 118,
      "match": "is typed",
      "id": "CHANGELOG.md::538:118::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 539,
      "column": 59,
      "match": "is removed",
      "id": "CHANGELOG.md::539:59::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 594,
      "column": 36,
      "match": "be called",
      "id": "CHANGELOG.md::594:36::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 597,
      "column": 58,
      "match": "is dispatched",
      "id": "CHANGELOG.md::597:58::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 625,
      "column": 29,
      "match": "are assigned",
      "id": "CHANGELOG.md::625:29::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 626,
      "column": 19,
      "match": "are replaced",
      "id": "CHANGELOG.md::626:19::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 639,
      "column": 1,
      "match": "#### React DOM Server",
      "id": "CHANGELOG.md::639:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 653,
      "column": 85,
      "match": "is aborted",
      "id": "CHANGELOG.md::653:85::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 658,
      "column": 45,
      "match": "is cancelled",
      "id": "CHANGELOG.md::658:45::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 749,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::749:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 768,
      "column": 31,
      "match": "being ignored",
      "id": "CHANGELOG.md::768:31::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 777,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::777:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 784,
      "column": 34,
      "match": "a large number of",
      "id": "CHANGELOG.md::784:34::style-doctor/wordy-phrase"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 785,
      "column": 62,
      "match": "is reassigned",
      "id": "CHANGELOG.md::785:62::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 801,
      "column": 108,
      "match": "are considered",
      "id": "CHANGELOG.md::801:108::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 802,
      "column": 252,
      "match": "is reflected",
      "id": "CHANGELOG.md::802:252::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 802,
      "column": 151,
      "match": "There is",
      "id": "CHANGELOG.md::802:151::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 803,
      "column": 245,
      "match": "is recommended",
      "id": "CHANGELOG.md::803:245::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 804,
      "column": 250,
      "match": "is mutated",
      "id": "CHANGELOG.md::804:250::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 806,
      "column": 1,
      "match": "### React DOM Client",
      "id": "CHANGELOG.md::806:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 813,
      "column": 105,
      "match": "be notified",
      "id": "CHANGELOG.md::813:105::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 815,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::815:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 822,
      "column": 56,
      "match": "is discouraged",
      "id": "CHANGELOG.md::822:56::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 836,
      "column": 1,
      "match": "* **Automatic batching:**",
      "id": "CHANGELOG.md::836:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 839,
      "column": 480,
      "match": "be caused",
      "id": "CHANGELOG.md::839:480::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 840,
      "column": 1,
      "match": "* **Suspense trees are always consistent:**",
      "id": "CHANGELOG.md::840:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 852,
      "column": 1,
      "match": "* **Components can now render            :**",
      "id": "CHANGELOG.md::852:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 852,
      "column": 188,
      "match": "are allowed",
      "id": "CHANGELOG.md::852:188::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 853,
      "column": 1,
      "match": "* **In tests,       warnings are now opt-in:**",
      "id": "CHANGELOG.md::853:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 854,
      "column": 1,
      "match": "* **No warning about            on unmounted components:**",
      "id": "CHANGELOG.md::854:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 854,
      "column": 169,
      "match": "was added",
      "id": "CHANGELOG.md::854:169::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 855,
      "column": 1,
      "match": "* **No suppression of console logs:**",
      "id": "CHANGELOG.md::855:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 855,
      "column": 465,
      "match": "be displayed",
      "id": "CHANGELOG.md::855:465::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 856,
      "column": 1,
      "match": "* **Improved memory usage:**",
      "id": "CHANGELOG.md::856:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 858,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::858:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 860,
      "column": 1,
      "match": "* **                :**",
      "id": "CHANGELOG.md::860:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 861,
      "column": 1,
      "match": "* **                      :**",
      "id": "CHANGELOG.md::861:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 887,
      "column": 18,
      "match": "being ignored",
      "id": "CHANGELOG.md::887:18::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 904,
      "column": 51,
      "match": "is provided",
      "id": "CHANGELOG.md::904:51::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 905,
      "column": 31,
      "match": "being applied",
      "id": "CHANGELOG.md::905:31::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 906,
      "column": 40,
      "match": "is called",
      "id": "CHANGELOG.md::906:40::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 908,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::908:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 918,
      "column": 1,
      "match": "### React DOM Test Utils",
      "id": "CHANGELOG.md::918:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 920,
      "column": 20,
      "match": "is used",
      "id": "CHANGELOG.md::920:20::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 991,
      "column": 24,
      "match": "is provided",
      "id": "CHANGELOG.md::991:24::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1009,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1009:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1014,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1014:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1037,
      "column": 51,
      "match": "be dropped",
      "id": "CHANGELOG.md::1037:51::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1061,
      "column": 26,
      "match": "is used",
      "id": "CHANGELOG.md::1061:26::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1069,
      "column": 22,
      "match": "being fired",
      "id": "CHANGELOG.md::1069:22::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1091,
      "column": 41,
      "match": "being fired",
      "id": "CHANGELOG.md::1091:41::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1120,
      "column": 44,
      "match": "being memoized",
      "id": "CHANGELOG.md::1120:44::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1153,
      "column": 24,
      "match": "is called",
      "id": "CHANGELOG.md::1153:24::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1156,
      "column": 28,
      "match": "being flushed",
      "id": "CHANGELOG.md::1156:28::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 1158,
      "column": 43,
      "match": "there is",
      "id": "CHANGELOG.md::1158:43::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1161,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1161:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1169,
      "column": 34,
      "match": "are scheduled",
      "id": "CHANGELOG.md::1169:34::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1193,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1193:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1197,
      "column": 1,
      "match": "### React Shallow Renderer",
      "id": "CHANGELOG.md::1197:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1214,
      "column": 49,
      "match": "be discarded",
      "id": "CHANGELOG.md::1214:49::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1216,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1216:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1217,
      "column": 42,
      "match": "is destroyed",
      "id": "CHANGELOG.md::1217:42::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1227,
      "column": 25,
      "match": "being ignored",
      "id": "CHANGELOG.md::1227:25::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1229,
      "column": 60,
      "match": "are specified",
      "id": "CHANGELOG.md::1229:60::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1243,
      "column": 1,
      "match": "### React Test Utils",
      "id": "CHANGELOG.md::1243:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 1299,
      "column": 7,
      "match": "highlighting",
      "id": "CHANGELOG.md::1299:7::style-doctor/superficial-ing"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1303,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1303:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1310,
      "column": 14,
      "match": "was published",
      "id": "CHANGELOG.md::1310:14::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1310,
      "column": 57,
      "match": "be skipped",
      "id": "CHANGELOG.md::1310:57::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1342,
      "column": 25,
      "match": "is used",
      "id": "CHANGELOG.md::1342:25::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1346,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1346:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1366,
      "column": 75,
      "match": "is unchanged",
      "id": "CHANGELOG.md::1366:75::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1410,
      "column": 21,
      "match": "be treated",
      "id": "CHANGELOG.md::1410:21::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1417,
      "column": 32,
      "match": "being triggered",
      "id": "CHANGELOG.md::1417:32::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1424,
      "column": 26,
      "match": "is initialized",
      "id": "CHANGELOG.md::1424:26::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1433,
      "column": 66,
      "match": "was called",
      "id": "CHANGELOG.md::1433:66::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1439,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1439:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1461,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1461:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1465,
      "column": 56,
      "match": "is called",
      "id": "CHANGELOG.md::1465:56::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1482,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1482:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1484,
      "column": 26,
      "match": "being provided",
      "id": "CHANGELOG.md::1484:26::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1486,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1486:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1508,
      "column": 52,
      "match": "are displayed",
      "id": "CHANGELOG.md::1508:52::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1511,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1511:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1524,
      "column": 19,
      "match": "was deleted",
      "id": "CHANGELOG.md::1524:19::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1532,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1532:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1550,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1550:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1596,
      "column": 74,
      "match": "is removed",
      "id": "CHANGELOG.md::1596:74::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1598,
      "column": 73,
      "match": "been destroyed",
      "id": "CHANGELOG.md::1598:73::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 1599,
      "column": 18,
      "match": "there is",
      "id": "CHANGELOG.md::1599:18::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1608,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1608:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1615,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1615:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1647,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1647:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1663,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1663:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1677,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1677:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1691,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1691:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1702,
      "column": 1,
      "match": "### Discontinuing Bower Releases",
      "id": "CHANGELOG.md::1702:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1704,
      "column": 297,
      "match": "be updated",
      "id": "CHANGELOG.md::1704:297::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1741,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1741:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1773,
      "column": 1,
      "match": "### React DOM Server",
      "id": "CHANGELOG.md::1773:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1779,
      "column": 1,
      "match": "### New JS Environment Requirements",
      "id": "CHANGELOG.md::1779:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1787,
      "column": 44,
      "match": "is enabled",
      "id": "CHANGELOG.md::1787:44::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 1791,
      "column": 3,
      "match": "There are",
      "id": "CHANGELOG.md::1791:3::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1799,
      "column": 110,
      "match": "is called",
      "id": "CHANGELOG.md::1799:110::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1802,
      "column": 47,
      "match": "be duplicated",
      "id": "CHANGELOG.md::1802:47::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1814,
      "column": 24,
      "match": "are passed",
      "id": "CHANGELOG.md::1814:24::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1819,
      "column": 75,
      "match": "are published",
      "id": "CHANGELOG.md::1819:75::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 1819,
      "column": 3,
      "match": "There is",
      "id": "CHANGELOG.md::1819:3::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1820,
      "column": 44,
      "match": "been removed",
      "id": "CHANGELOG.md::1820:44::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1836,
      "column": 15,
      "match": "are treated",
      "id": "CHANGELOG.md::1836:15::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1866,
      "column": 42,
      "match": "being cleared",
      "id": "CHANGELOG.md::1866:42::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 1880,
      "column": 1,
      "match": "* **Critical Bugfix:**",
      "id": "CHANGELOG.md::1880:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1883,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1883:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1926,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1926:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1931,
      "column": 48,
      "match": "be actively maintained",
      "id": "CHANGELOG.md::1931:48::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1970,
      "column": 49,
      "match": "is used",
      "id": "CHANGELOG.md::1970:49::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 1972,
      "column": 41,
      "match": "rather",
      "id": "CHANGELOG.md::1972:41::style-doctor/weasel-word"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1979,
      "column": 18,
      "match": "is started",
      "id": "CHANGELOG.md::1979:18::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1981,
      "column": 1,
      "match": "### React Test Utils",
      "id": "CHANGELOG.md::1981:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1984,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::1984:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2006,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::2006:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2010,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2010:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2011,
      "column": 27,
      "match": "are stopped",
      "id": "CHANGELOG.md::2011:27::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2032,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::2032:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2035,
      "column": 1,
      "match": "### React Native Renderer",
      "id": "CHANGELOG.md::2035:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2057,
      "column": 63,
      "match": "being rounded",
      "id": "CHANGELOG.md::2057:63::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2059,
      "column": 1,
      "match": "### React Test Renderer",
      "id": "CHANGELOG.md::2059:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2062,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2062:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2065,
      "column": 1,
      "match": "### React TestUtils Add-on",
      "id": "CHANGELOG.md::2065:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2083,
      "column": 54,
      "match": "being added",
      "id": "CHANGELOG.md::2083:54::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2086,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2086:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2089,
      "column": 1,
      "match": "### React CSSTransitionGroup Add-on",
      "id": "CHANGELOG.md::2089:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2092,
      "column": 1,
      "match": "### React Native Renderer",
      "id": "CHANGELOG.md::2092:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2125,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2125:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2132,
      "column": 1,
      "match": "### React CSSTransitionGroup Add-on",
      "id": "CHANGELOG.md::2132:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2135,
      "column": 1,
      "match": "### React Native Renderer",
      "id": "CHANGELOG.md::2135:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2144,
      "column": 70,
      "match": "being called",
      "id": "CHANGELOG.md::2144:70::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2154,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2154:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2157,
      "column": 1,
      "match": "### React Native Renderer",
      "id": "CHANGELOG.md::2157:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2167,
      "column": 33,
      "match": "is only called",
      "id": "CHANGELOG.md::2167:33::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2171,
      "column": 22,
      "match": "are correctly selected",
      "id": "CHANGELOG.md::2171:22::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2176,
      "column": 1,
      "match": "### React TestUtils Add-on",
      "id": "CHANGELOG.md::2176:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2180,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2180:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2183,
      "column": 1,
      "match": "### React Native Renderer",
      "id": "CHANGELOG.md::2183:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2200,
      "column": 185,
      "match": "was decided",
      "id": "CHANGELOG.md::2200:185::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2202,
      "column": 111,
      "match": "are used",
      "id": "CHANGELOG.md::2202:111::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "important-to-note",
      "severity": "error",
      "category": "Filler",
      "title": "\"It's important to note\" filler",
      "message": "\"it's important to note\" adds nothing.",
      "help": "Just state the note.",
      "line": 2203,
      "column": 275,
      "match": "it's worth noting",
      "id": "CHANGELOG.md::2203:275::style-doctor/important-to-note"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "hedge-stack",
      "severity": "warning",
      "category": "Filler",
      "title": "Stacked hedge / confidence-calibration opener",
      "message": "Stacked hedges, or flagging your own \"noteworthy\" aside, is LLM throat-clearing.",
      "help": "Pick one hedge, or state the fact plainly.",
      "line": 2203,
      "column": 275,
      "match": "it's worth noting",
      "id": "CHANGELOG.md::2203:275::style-doctor/hedge-stack"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2204,
      "column": 519,
      "match": "is solved",
      "id": "CHANGELOG.md::2204:519::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2205,
      "column": 219,
      "match": "are implemented",
      "id": "CHANGELOG.md::2205:219::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2205,
      "column": 258,
      "match": "be supported",
      "id": "CHANGELOG.md::2205:258::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2210,
      "column": 385,
      "match": "are resolved",
      "id": "CHANGELOG.md::2210:385::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2211,
      "column": 461,
      "match": "be relied",
      "id": "CHANGELOG.md::2211:461::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2215,
      "column": 20,
      "match": "were introduced",
      "id": "CHANGELOG.md::2215:20::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2215,
      "column": 80,
      "match": "are removed",
      "id": "CHANGELOG.md::2215:80::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2217,
      "column": 19,
      "match": "are removed",
      "id": "CHANGELOG.md::2217:19::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2218,
      "column": 21,
      "match": "are removed",
      "id": "CHANGELOG.md::2218:21::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2219,
      "column": 41,
      "match": "are removed",
      "id": "CHANGELOG.md::2219:41::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2220,
      "column": 50,
      "match": "is removed",
      "id": "CHANGELOG.md::2220:50::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2222,
      "column": 93,
      "match": "are removed",
      "id": "CHANGELOG.md::2222:93::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 2228,
      "column": 64,
      "match": "very",
      "id": "CHANGELOG.md::2228:64::style-doctor/weasel-word"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2230,
      "column": 26,
      "match": "was renamed",
      "id": "CHANGELOG.md::2230:26::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2230,
      "column": 116,
      "match": "was renamed",
      "id": "CHANGELOG.md::2230:116::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2235,
      "column": 233,
      "match": "are unchanged",
      "id": "CHANGELOG.md::2235:233::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2236,
      "column": 161,
      "match": "been returned",
      "id": "CHANGELOG.md::2236:161::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2243,
      "column": 52,
      "match": "being controlled",
      "id": "CHANGELOG.md::2243:52::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2252,
      "column": 16,
      "match": "are handled",
      "id": "CHANGELOG.md::2252:16::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2258,
      "column": 160,
      "match": "been added",
      "id": "CHANGELOG.md::2258:160::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "connective-overload",
      "severity": "warning",
      "category": "Filler",
      "title": "Formal connective overload",
      "message": "Formal connectives pile up in LLM prose.",
      "help": "Use \"also\" or start a new sentence.",
      "line": 2259,
      "column": 107,
      "match": "Additionally",
      "id": "CHANGELOG.md::2259:107::style-doctor/connective-overload"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2262,
      "column": 44,
      "match": "is unmounted",
      "id": "CHANGELOG.md::2262:44::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2266,
      "column": 15,
      "match": "is used",
      "id": "CHANGELOG.md::2266:15::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 2267,
      "column": 100,
      "match": "really",
      "id": "CHANGELOG.md::2267:100::style-doctor/weasel-word"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2296,
      "column": 1,
      "match": "### React TestUtils Add-on",
      "id": "CHANGELOG.md::2296:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2321,
      "column": 1,
      "match": "### React Perf Add-on",
      "id": "CHANGELOG.md::2321:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2322,
      "column": 33,
      "match": "been updated",
      "id": "CHANGELOG.md::2322:33::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2331,
      "column": 1,
      "match": "### React TestUtils Add-on",
      "id": "CHANGELOG.md::2331:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2334,
      "column": 1,
      "match": "### React CSSTransitionGroup Add-on",
      "id": "CHANGELOG.md::2334:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2347,
      "column": 42,
      "match": "being coerced",
      "id": "CHANGELOG.md::2347:42::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2358,
      "column": 47,
      "match": "is updated",
      "id": "CHANGELOG.md::2358:47::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2360,
      "column": 1,
      "match": "### React TestUtils Add-on",
      "id": "CHANGELOG.md::2360:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2363,
      "column": 1,
      "match": "### React CSSTransitionGroup Add-on",
      "id": "CHANGELOG.md::2363:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2364,
      "column": 29,
      "match": "be used",
      "id": "CHANGELOG.md::2364:29::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2374,
      "column": 120,
      "match": "be shared",
      "id": "CHANGELOG.md::2374:120::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2374,
      "column": 253,
      "match": "been moved",
      "id": "CHANGELOG.md::2374:253::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2375,
      "column": 15,
      "match": "been moved",
      "id": "CHANGELOG.md::2375:15::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2376,
      "column": 439,
      "match": "be used",
      "id": "CHANGELOG.md::2376:439::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2377,
      "column": 359,
      "match": "are affected",
      "id": "CHANGELOG.md::2377:359::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2382,
      "column": 64,
      "match": "been removed",
      "id": "CHANGELOG.md::2382:64::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2384,
      "column": 213,
      "match": "be used",
      "id": "CHANGELOG.md::2384:213::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2385,
      "column": 74,
      "match": "be used",
      "id": "CHANGELOG.md::2385:74::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2386,
      "column": 27,
      "match": "been removed",
      "id": "CHANGELOG.md::2386:27::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2391,
      "column": 78,
      "match": "be used",
      "id": "CHANGELOG.md::2391:78::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 2393,
      "column": 59,
      "match": "in order to",
      "id": "CHANGELOG.md::2393:59::style-doctor/wordy-phrase"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 2402,
      "column": 546,
      "match": "in order to",
      "id": "CHANGELOG.md::2402:546::style-doctor/wordy-phrase"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2402,
      "column": 186,
      "match": "be avoided",
      "id": "CHANGELOG.md::2402:186::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2407,
      "column": 38,
      "match": "are supported",
      "id": "CHANGELOG.md::2407:38::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2411,
      "column": 89,
      "match": "been added",
      "id": "CHANGELOG.md::2411:89::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2422,
      "column": 16,
      "match": "are handled",
      "id": "CHANGELOG.md::2422:16::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2423,
      "column": 16,
      "match": "are created",
      "id": "CHANGELOG.md::2423:16::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2429,
      "column": 70,
      "match": "being removed",
      "id": "CHANGELOG.md::2429:70::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2440,
      "column": 241,
      "match": "be enabled",
      "id": "CHANGELOG.md::2440:241::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2441,
      "column": 407,
      "match": "be enabled",
      "id": "CHANGELOG.md::2441:407::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2510,
      "column": 81,
      "match": "are treated",
      "id": "CHANGELOG.md::2510:81::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2527,
      "column": 37,
      "match": "is created",
      "id": "CHANGELOG.md::2527:37::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2529,
      "column": 140,
      "match": "is called",
      "id": "CHANGELOG.md::2529:140::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2529,
      "column": 312,
      "match": "be avoided",
      "id": "CHANGELOG.md::2529:312::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2532,
      "column": 42,
      "match": "been completely removed",
      "id": "CHANGELOG.md::2532:42::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2537,
      "column": 72,
      "match": "be used",
      "id": "CHANGELOG.md::2537:72::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2539,
      "column": 43,
      "match": "be used",
      "id": "CHANGELOG.md::2539:43::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 2540,
      "column": 36,
      "match": "function as",
      "id": "CHANGELOG.md::2540:36::style-doctor/copula-avoidance"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2546,
      "column": 69,
      "match": "are removed",
      "id": "CHANGELOG.md::2546:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2552,
      "column": 34,
      "match": "was added",
      "id": "CHANGELOG.md::2552:34::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2556,
      "column": 69,
      "match": "be replaced",
      "id": "CHANGELOG.md::2556:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2557,
      "column": 46,
      "match": "be migrated",
      "id": "CHANGELOG.md::2557:46::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2569,
      "column": 75,
      "match": "is added",
      "id": "CHANGELOG.md::2569:75::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2570,
      "column": 55,
      "match": "been enabled",
      "id": "CHANGELOG.md::2570:55::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2581,
      "column": 37,
      "match": "was parsed",
      "id": "CHANGELOG.md::2581:37::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2581,
      "column": 135,
      "match": "be treated",
      "id": "CHANGELOG.md::2581:135::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2581,
      "column": 174,
      "match": "be treated",
      "id": "CHANGELOG.md::2581:174::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2581,
      "column": 329,
      "match": "be used",
      "id": "CHANGELOG.md::2581:329::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2590,
      "column": 49,
      "match": "be bundled",
      "id": "CHANGELOG.md::2590:49::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 2591,
      "column": 88,
      "match": "there is",
      "id": "CHANGELOG.md::2591:88::style-doctor/there-is"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2616,
      "column": 23,
      "match": "is removed",
      "id": "CHANGELOG.md::2616:23::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2616,
      "column": 39,
      "match": "was exposed",
      "id": "CHANGELOG.md::2616:39::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2617,
      "column": 47,
      "match": "be called",
      "id": "CHANGELOG.md::2617:47::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2617,
      "column": 78,
      "match": "be wrapped",
      "id": "CHANGELOG.md::2617:78::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2617,
      "column": 128,
      "match": "is handled",
      "id": "CHANGELOG.md::2617:128::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2644,
      "column": 46,
      "match": "are installed",
      "id": "CHANGELOG.md::2644:46::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2648,
      "column": 57,
      "match": "be specified",
      "id": "CHANGELOG.md::2648:57::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2651,
      "column": 1,
      "match": "### React With Addons",
      "id": "CHANGELOG.md::2651:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2659,
      "column": 143,
      "match": "be updated",
      "id": "CHANGELOG.md::2659:143::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2700,
      "column": 69,
      "match": "be used",
      "id": "CHANGELOG.md::2700:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2708,
      "column": 18,
      "match": "be called",
      "id": "CHANGELOG.md::2708:18::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2732,
      "column": 30,
      "match": "been added",
      "id": "CHANGELOG.md::2732:30::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2736,
      "column": 14,
      "match": "are batched",
      "id": "CHANGELOG.md::2736:14::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2744,
      "column": 62,
      "match": "is logged",
      "id": "CHANGELOG.md::2744:62::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2748,
      "column": 1,
      "match": "### React With Addons",
      "id": "CHANGELOG.md::2748:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2754,
      "column": 1,
      "match": "### React NPM Module",
      "id": "CHANGELOG.md::2754:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2756,
      "column": 12,
      "match": "is properly listed",
      "id": "CHANGELOG.md::2756:12::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2762,
      "column": 13,
      "match": "are downloaded",
      "id": "CHANGELOG.md::2762:13::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 2765,
      "column": 1,
      "match": "### React Tools Module",
      "id": "CHANGELOG.md::2765:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2786,
      "column": 22,
      "match": "is defined",
      "id": "CHANGELOG.md::2786:22::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2786,
      "column": 50,
      "match": "are specified",
      "id": "CHANGELOG.md::2786:50::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2803,
      "column": 101,
      "match": "be used",
      "id": "CHANGELOG.md::2803:101::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2804,
      "column": 80,
      "match": "been removed",
      "id": "CHANGELOG.md::2804:80::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2808,
      "column": 47,
      "match": "is logged",
      "id": "CHANGELOG.md::2808:47::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 2849,
      "column": 105,
      "match": "simply",
      "id": "CHANGELOG.md::2849:105::style-doctor/weasel-word"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2849,
      "column": 41,
      "match": "are rendered",
      "id": "CHANGELOG.md::2849:41::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2853,
      "column": 18,
      "match": "are attached",
      "id": "CHANGELOG.md::2853:18::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2860,
      "column": 28,
      "match": "was added",
      "id": "CHANGELOG.md::2860:28::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2861,
      "column": 34,
      "match": "was renamed",
      "id": "CHANGELOG.md::2861:34::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2862,
      "column": 34,
      "match": "was added",
      "id": "CHANGELOG.md::2862:34::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2863,
      "column": 33,
      "match": "was added",
      "id": "CHANGELOG.md::2863:33::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2871,
      "column": 90,
      "match": "be preserved",
      "id": "CHANGELOG.md::2871:90::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2871,
      "column": 141,
      "match": "be removed",
      "id": "CHANGELOG.md::2871:141::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2968,
      "column": 69,
      "match": "is extended",
      "id": "CHANGELOG.md::2968:69::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 2988,
      "column": 108,
      "match": "in order to",
      "id": "CHANGELOG.md::2988:108::style-doctor/wordy-phrase"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2990,
      "column": 29,
      "match": "are batched",
      "id": "CHANGELOG.md::2990:29::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2995,
      "column": 67,
      "match": "being wrapped",
      "id": "CHANGELOG.md::2995:67::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2996,
      "column": 48,
      "match": "is transformed",
      "id": "CHANGELOG.md::2996:48::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2997,
      "column": 25,
      "match": "be transformed",
      "id": "CHANGELOG.md::2997:25::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3014,
      "column": 128,
      "match": "be defined",
      "id": "CHANGELOG.md::3014:128::style-doctor/passive-voice"
    },
    {
      "filePath": "CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3031,
      "column": 103,
      "match": "be used",
      "id": "CHANGELOG.md::3031:103::style-doctor/passive-voice"
    },
    {
      "filePath": "CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 10,
      "column": 1,
      "match": "## Current Active Work",
      "id": "CLAUDE.md::10:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 5,
      "column": 20,
      "match": "fostering",
      "id": "CODE_OF_CONDUCT.md::5:20::style-doctor/superficial-ing"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 31,
      "column": 40,
      "match": "be considered",
      "id": "CODE_OF_CONDUCT.md::31:40::style-doctor/passive-voice"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 37,
      "column": 14,
      "match": "are expected",
      "id": "CODE_OF_CONDUCT.md::37:14::style-doctor/passive-voice"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 55,
      "column": 67,
      "match": "there is",
      "id": "CODE_OF_CONDUCT.md::55:67::style-doctor/there-is"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 17,
      "match": "be reviewed",
      "id": "CODE_OF_CONDUCT.md::63:17::style-doctor/passive-voice"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 64,
      "column": 1,
      "match": "is deemed",
      "id": "CODE_OF_CONDUCT.md::64:1::style-doctor/passive-voice"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 65,
      "column": 39,
      "match": "with regard to",
      "id": "CODE_OF_CONDUCT.md::65:39::style-doctor/wordy-phrase"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 66,
      "column": 54,
      "match": "be posted",
      "id": "CODE_OF_CONDUCT.md::66:54::style-doctor/passive-voice"
    },
    {
      "filePath": "CODE_OF_CONDUCT.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 74,
      "column": 22,
      "match": "is adapted",
      "id": "CODE_OF_CONDUCT.md::74:22::style-doctor/passive-voice"
    },
    {
      "filePath": "CONTRIBUTING.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 3,
      "column": 30,
      "match": "There are",
      "id": "CONTRIBUTING.md::3:30::style-doctor/there-is"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 5,
      "column": 1,
      "match": "* **Declarative:**",
      "id": "README.md::5:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 6,
      "column": 1,
      "match": "* **Component-Based:**",
      "id": "README.md::6:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 7,
      "column": 1,
      "match": "* **Learn Once, Write Anywhere:**",
      "id": "README.md::7:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 11,
      "match": "been designed",
      "id": "README.md::13:11::style-doctor/passive-voice"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 19,
      "match": "is divided",
      "id": "README.md::25:19::style-doctor/passive-voice"
    },
    {
      "filePath": "README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 66,
      "column": 211,
      "match": "be tolerated",
      "id": "README.md::66:211::style-doctor/passive-voice"
    },
    {
      "filePath": "SECURITY.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Reporting Security Issues",
      "id": "SECURITY.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "SECURITY.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 127,
      "match": "be reported",
      "id": "SECURITY.md::5:127::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/agents/analyze-pass-impact.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "7 em-dashes in 213 words",
      "id": "compiler/.claude/agents/analyze-pass-impact.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/.claude/agents/compiler-review.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 43,
      "column": 11,
      "match": "is cloned",
      "id": "compiler/.claude/agents/compiler-review.md::43:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/agents/investigate-error.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 3,
      "column": 405,
      "match": "in order to",
      "id": "compiler/.claude/agents/investigate-error.md::3:405::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/.claude/agents/investigate-error.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 10,
      "column": 1,
      "match": "## Your Investigation Process",
      "id": "compiler/.claude/agents/investigate-error.md::10:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/.claude/agents/investigate-error.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 99,
      "column": 1,
      "match": "## Key Debugging Tips",
      "id": "compiler/.claude/agents/investigate-error.md::99:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/.claude/agents/investigate-error.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 104,
      "column": 58,
      "match": "are populated",
      "id": "compiler/.claude/agents/investigate-error.md::104:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/agents/investigate-error.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 55,
      "match": "being investigated",
      "id": "compiler/.claude/agents/investigate-error.md::110:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/agents/port-pass.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 48,
      "match": "are wired",
      "id": "compiler/.claude/agents/port-pass.md::18:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/agents/port-pass.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "19 bolded spans in 627 words",
      "id": "compiler/.claude/agents/port-pass.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/rules/multi-step-instructions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 2,
      "column": 63,
      "match": "are completed",
      "id": "compiler/.claude/rules/multi-step-instructions.md::2:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/rules/multi-step-instructions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 72,
      "match": "was missed",
      "id": "compiler/.claude/rules/multi-step-instructions.md::10:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/rules/pass-docs.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 11,
      "match": "are numbered",
      "id": "compiler/.claude/rules/pass-docs.md::9:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-commit/SKILL.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "4 em-dashes in 240 words",
      "id": "compiler/.claude/skills/compiler-commit/SKILL.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-commit/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "8 bolded spans in 240 words",
      "id": "compiler/.claude/skills/compiler-commit/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-orchestrator/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 13,
      "column": 1,
      "match": "## Pass Order Reference",
      "id": "compiler/.claude/skills/compiler-orchestrator/SKILL.md::13:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-orchestrator/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 121,
      "column": 10,
      "match": "is newly ported",
      "id": "compiler/.claude/skills/compiler-orchestrator/SKILL.md::121:10::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-orchestrator/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 262,
      "column": 14,
      "match": "are ported",
      "id": "compiler/.claude/skills/compiler-orchestrator/SKILL.md::262:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-port/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 6,
      "column": 1,
      "match": "# Port Compiler Pass",
      "id": "compiler/.claude/skills/compiler-port/SKILL.md::6:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-port/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 57,
      "column": 54,
      "match": "be added",
      "id": "compiler/.claude/skills/compiler-port/SKILL.md::57:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-port/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 60,
      "column": 43,
      "match": "be called",
      "id": "compiler/.claude/skills/compiler-port/SKILL.md::60:43::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-port/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "12 bolded spans in 532 words",
      "id": "compiler/.claude/skills/compiler-port/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-review/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "5 bolded spans in 153 words",
      "id": "compiler/.claude/skills/compiler-review/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-verify/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 60,
      "match": "was provided",
      "id": "compiler/.claude/skills/compiler-verify/SKILL.md::22:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-verify/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 22,
      "match": "is updated",
      "id": "compiler/.claude/skills/compiler-verify/SKILL.md::36:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-verify/SKILL.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "10 em-dashes in 245 words",
      "id": "compiler/.claude/skills/compiler-verify/SKILL.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/.claude/skills/compiler-verify/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 245 words",
      "id": "compiler/.claude/skills/compiler-verify/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/skills/plan-update/SKILL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 60,
      "match": "are affected",
      "id": "compiler/.claude/skills/plan-update/SKILL.md::86:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/.claude/skills/plan-update/SKILL.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "10 bolded spans in 312 words",
      "id": "compiler/.claude/skills/plan-update/SKILL.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/.claude/skills/rust-port-status/SKILL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 6,
      "column": 1,
      "match": "# Rust Port Status",
      "id": "compiler/.claude/skills/rust-port-status/SKILL.md::6:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# React Compiler Knowledge Base",
      "id": "compiler/CLAUDE.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 3,
      "column": 100,
      "match": "serves as",
      "id": "compiler/CLAUDE.md::3:100::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 52,
      "column": 1,
      "match": "## Compiling Arbitrary Files",
      "id": "compiler/CLAUDE.md::52:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 65,
      "column": 1,
      "match": "## Minimizing Test Cases",
      "id": "compiler/CLAUDE.md::65:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 79,
      "column": 145,
      "match": "be explicitly added",
      "id": "compiler/CLAUDE.md::79:145::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 79,
      "column": 91,
      "match": "there is",
      "id": "compiler/CLAUDE.md::79:91::style-doctor/there-is"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 106,
      "column": 32,
      "match": "being compiled",
      "id": "compiler/CLAUDE.md::106:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 114,
      "column": 26,
      "match": "being assigned",
      "id": "compiler/CLAUDE.md::114:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 135,
      "column": 37,
      "match": "is captured",
      "id": "compiler/CLAUDE.md::135:37::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 143,
      "column": 26,
      "match": "is mutated",
      "id": "compiler/CLAUDE.md::143:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 144,
      "column": 60,
      "match": "are mutated",
      "id": "compiler/CLAUDE.md::144:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 149,
      "column": 26,
      "match": "is used",
      "id": "compiler/CLAUDE.md::149:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 155,
      "column": 1,
      "match": "### Hook Aliasing Signatures",
      "id": "compiler/CLAUDE.md::155:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 229,
      "column": 15,
      "match": "are configured",
      "id": "compiler/CLAUDE.md::229:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 241,
      "column": 6,
      "match": "is tracked",
      "id": "compiler/CLAUDE.md::241:6::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 247,
      "column": 25,
      "match": "actually",
      "id": "compiler/CLAUDE.md::247:25::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 259,
      "column": 70,
      "match": "are populated",
      "id": "compiler/CLAUDE.md::259:70::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 263,
      "column": 96,
      "match": "rather",
      "id": "compiler/CLAUDE.md::263:96::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 265,
      "column": 87,
      "match": "are accumulated",
      "id": "compiler/CLAUDE.md::265:87::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 267,
      "column": 63,
      "match": "are wrapped",
      "id": "compiler/CLAUDE.md::267:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 276,
      "column": 118,
      "match": "are reported",
      "id": "compiler/CLAUDE.md::276:118::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/CLAUDE.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "20 bolded spans in 759 words",
      "id": "compiler/CLAUDE.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 68,
      "match": "are covered",
      "id": "compiler/README.md::5:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 55,
      "match": "is covered",
      "id": "compiler/README.md::7:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 54,
      "match": "are covered",
      "id": "compiler/README.md::9:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/apps/playground/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# React Compiler Playground",
      "id": "compiler/apps/playground/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/apps/playground/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 28,
      "match": "is automatically deployed",
      "id": "compiler/apps/playground/README.md::41:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 42,
      "match": "are measured",
      "id": "compiler/crates/TODO.md::12:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 30,
      "column": 13,
      "match": "arguably",
      "id": "compiler/crates/TODO.md::30:13::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 40,
      "column": 17,
      "match": "being used",
      "id": "compiler/crates/TODO.md::40:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 126,
      "column": 23,
      "match": "is preserved",
      "id": "compiler/crates/TODO.md::126:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 173,
      "column": 21,
      "match": "is unaddressed",
      "id": "compiler/crates/TODO.md::173:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/crates/TODO.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "16 em-dashes in 997 words",
      "id": "compiler/crates/TODO.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "hedge-stack",
      "severity": "warning",
      "category": "Filler",
      "title": "Stacked hedge / confidence-calibration opener",
      "message": "Stacked hedges, or flagging your own \"noteworthy\" aside, is LLM throat-clearing.",
      "help": "Pick one hedge, or state the fact plainly.",
      "line": 10,
      "column": 66,
      "match": "Notably,",
      "id": "compiler/docs/DESIGN_GOALS.md::10:66::style-doctor/hedge-stack"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 11,
      "column": 270,
      "match": "rather",
      "id": "compiler/docs/DESIGN_GOALS.md::11:270::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "robust",
      "severity": "warning",
      "category": "Filler",
      "title": "Vague praise \"robust\"",
      "message": "\"robust\" is vague praise.",
      "help": "Say how it holds up.",
      "line": 25,
      "column": 90,
      "match": "robust",
      "id": "compiler/docs/DESIGN_GOALS.md::25:90::style-doctor/robust"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 115,
      "match": "being shared",
      "id": "compiler/docs/DESIGN_GOALS.md::26:115::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 161,
      "match": "be modeled",
      "id": "compiler/docs/DESIGN_GOALS.md::27:161::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "not-just-but",
      "severity": "error",
      "category": "LLM Tells",
      "title": "\"Not just X, but Y\" construction",
      "message": "The \"not just X, but Y\" escalation is one of the strongest LLM tells.",
      "help": "Cut it and state the point directly.",
      "line": 33,
      "column": 60,
      "match": "not just the semantics of the input but",
      "id": "compiler/docs/DESIGN_GOALS.md::33:60::style-doctor/not-just-but"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 33,
      "column": 170,
      "match": "rather",
      "id": "compiler/docs/DESIGN_GOALS.md::33:170::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 33,
      "column": 302,
      "match": "Rather",
      "id": "compiler/docs/DESIGN_GOALS.md::33:302::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 42,
      "column": 26,
      "match": "is largely decoupled",
      "id": "compiler/docs/DESIGN_GOALS.md::42:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 65,
      "match": "be compiled",
      "id": "compiler/docs/DESIGN_GOALS.md::44:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 177,
      "match": "be compiled",
      "id": "compiler/docs/DESIGN_GOALS.md::44:177::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 45,
      "column": 584,
      "match": "are stored",
      "id": "compiler/docs/DESIGN_GOALS.md::45:584::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 45,
      "column": 682,
      "match": "be visited",
      "id": "compiler/docs/DESIGN_GOALS.md::45:682::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 45,
      "column": 720,
      "match": "there is",
      "id": "compiler/docs/DESIGN_GOALS.md::45:720::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 42,
      "match": "is converted",
      "id": "compiler/docs/DESIGN_GOALS.md::46:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 105,
      "match": "are updated",
      "id": "compiler/docs/DESIGN_GOALS.md::46:105::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 166,
      "match": "be optimized",
      "id": "compiler/docs/DESIGN_GOALS.md::48:166::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 50,
      "column": 99,
      "match": "are created",
      "id": "compiler/docs/DESIGN_GOALS.md::50:99::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 428,
      "match": "be pruned",
      "id": "compiler/docs/DESIGN_GOALS.md::51:428::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 52,
      "column": 61,
      "match": "is converted",
      "id": "compiler/docs/DESIGN_GOALS.md::52:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/DESIGN_GOALS.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 55,
      "column": 210,
      "match": "simply",
      "id": "compiler/docs/DESIGN_GOALS.md::55:210::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/DEVELOPMENT_GUIDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# React Compiler Development Guide",
      "id": "compiler/docs/DEVELOPMENT_GUIDE.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/DEVELOPMENT_GUIDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 22,
      "column": 1,
      "match": "### Compiling Arbitrary Files",
      "id": "compiler/docs/DEVELOPMENT_GUIDE.md::22:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/DEVELOPMENT_GUIDE.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 35,
      "column": 1,
      "match": "### Minimizing Test Cases",
      "id": "compiler/docs/DEVELOPMENT_GUIDE.md::35:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/RUST_CRATE_RELEASES.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Publishing Rust Compiler Crates",
      "id": "compiler/docs/RUST_CRATE_RELEASES.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/RUST_CRATE_RELEASES.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 51,
      "match": "are published",
      "id": "compiler/docs/RUST_CRATE_RELEASES.md::10:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/RUST_CRATE_RELEASES.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 35,
      "match": "is merged",
      "id": "compiler/docs/RUST_CRATE_RELEASES.md::14:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/RUST_CRATE_RELEASES.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 100,
      "match": "be deleted",
      "id": "compiler/docs/RUST_CRATE_RELEASES.md::19:100::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/RUST_CRATE_RELEASES.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "7 bolded spans in 122 words",
      "id": "compiler/docs/RUST_CRATE_RELEASES.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 21,
      "match": "were created",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::30:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 111,
      "match": "be loaded",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::30:111::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 42,
      "column": 1,
      "match": "### Typical Workflow Loop",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::42:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 59,
      "column": 1,
      "match": "### Important Skill Loading Note",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::59:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 87,
      "column": 1,
      "match": "### Test Result Formats",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::87:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 102,
      "column": 1,
      "match": "### Test Against Internal Codebase",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::102:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 139,
      "column": 1,
      "match": "### Common Cargo Patterns",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::139:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 166,
      "column": 1,
      "match": "### Common Agent Patterns",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::166:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 175,
      "column": 11,
      "match": "were used",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::175:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 175,
      "column": 59,
      "match": "be abandoned",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::175:59::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 185,
      "column": 1,
      "match": "### Most Frequently Modified Files",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::185:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 261,
      "column": 18,
      "match": "is shared",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::261:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 261,
      "column": 72,
      "match": "is mutably shared",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::261:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 286,
      "column": 42,
      "match": "was recently added",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::286:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 305,
      "column": 1,
      "match": "### Essential Skill Loading",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::305:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "intensifier-cluster",
      "severity": "warning",
      "category": "Filler",
      "title": "Overused intensifier",
      "message": "Everything is \"crucial\" in LLM prose.",
      "help": "Reserve it for what truly is; else cut.",
      "line": 305,
      "column": 5,
      "match": "Essential",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::305:5::style-doctor/intensifier-cluster"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 348,
      "column": 1,
      "match": "### Working Style Notes",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::348:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 352,
      "column": 15,
      "match": "were provided",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::352:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 353,
      "column": 9,
      "match": "were maintained",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::353:9::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 354,
      "column": 58,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::354:58::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-compiler-workflow-guide.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "32 bolded spans in 1243 words",
      "id": "compiler/docs/rust-port/rust-compiler-workflow-guide.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 170,
      "match": "are defined",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::9:170::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 33,
      "column": 395,
      "match": "serve as",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::33:395::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 33,
      "column": 304,
      "match": "There is",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::33:304::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 56,
      "column": 1,
      "match": "## Core Design Decisions",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::56:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 73,
      "column": 77,
      "match": "is handled",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::73:77::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 77,
      "column": 109,
      "match": "is flattened",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::77:109::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 103,
      "column": 68,
      "match": "is deserialized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::103:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 103,
      "column": 192,
      "match": "is skipped",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::103:192::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 143,
      "column": 66,
      "match": "are typed",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::143:66::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 168,
      "column": 1,
      "match": "## Node Type Coverage",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::168:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 170,
      "column": 65,
      "match": "are modeled",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::170:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 170,
      "column": 116,
      "match": "are organized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::170:116::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 196,
      "column": 144,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::196:144::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 228,
      "column": 144,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::228:144::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 230,
      "column": 371,
      "match": "are preserved",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::230:371::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 234,
      "column": 47,
      "match": "are silently dropped",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::234:47::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 238,
      "column": 285,
      "match": "are used",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::238:285::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 328,
      "column": 1,
      "match": "## Round-Trip Test Infrastructure",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::328:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 361,
      "column": 58,
      "match": "are normalized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::361:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 363,
      "column": 33,
      "match": "are parsed",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::363:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 363,
      "column": 73,
      "match": "are recursively sorted",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::363:73::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 365,
      "column": 60,
      "match": "are normalized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::365:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 371,
      "column": 28,
      "match": "is specified",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::371:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 394,
      "column": 69,
      "match": "been removed",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::394:69::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 394,
      "column": 137,
      "match": "were previously handled",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::394:137::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 394,
      "column": 187,
      "match": "were promoted",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::394:187::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 396,
      "column": 47,
      "match": "are tracked",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::396:47::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 404,
      "column": 80,
      "match": "is flattened",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::404:80::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 404,
      "column": 258,
      "match": "is deserialized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::404:258::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 408,
      "column": 92,
      "match": "are normalized",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::408:92::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 412,
      "column": 59,
      "match": "are skipped",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::412:59::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0001-babel-ast.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 412,
      "column": 112,
      "match": "is expected",
      "id": "compiler/docs/rust-port/rust-port-0001-babel-ast.md::412:112::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 204,
      "match": "is stored",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::5:204::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 20,
      "column": 1,
      "match": "## Core ID Types",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::20:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 32,
      "column": 67,
      "match": "serve as",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::32:67::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 117,
      "column": 182,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::117:182::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 117,
      "column": 14,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::117:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 192,
      "column": 246,
      "match": "is tracked",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::192:246::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 213,
      "column": 114,
      "match": "essentially",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::213:114::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 229,
      "column": 22,
      "match": "been implemented",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::229:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0002-scope-types.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "9 em-dashes in 852 words",
      "id": "compiler/docs/rust-port/rust-port-0002-scope-types.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 249,
      "match": "is bypassed",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::10:249::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 154,
      "match": "be addressed",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::18:154::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 190,
      "match": "is implemented",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::18:190::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 51,
      "match": "been validated",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::21:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 98,
      "match": "be validated",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::21:98::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 157,
      "column": 1,
      "match": "## TS Test Binary",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::157:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 236,
      "column": 351,
      "match": "is validated",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::236:351::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 238,
      "column": 142,
      "match": "are included",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::238:142::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 240,
      "column": 311,
      "match": "be parsed",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::240:311::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 242,
      "column": 264,
      "match": "are tested",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::242:264::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 246,
      "column": 1,
      "match": "## Rust Test Binary",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::246:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 318,
      "column": 134,
      "match": "be created",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::318:134::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 318,
      "column": 155,
      "match": "are ported",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::318:155::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 322,
      "column": 1,
      "match": "## Debug Output Format",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::322:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 324,
      "column": 1,
      "match": "### Why Not PrintHIR",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::324:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 338,
      "column": 1,
      "match": "### Debug HIR Format",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::338:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 383,
      "column": 1,
      "match": "### Debug Reactive Function Format",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::383:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 387,
      "column": 1,
      "match": "### Debug Error Format",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::387:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 405,
      "column": 36,
      "match": "are included",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::405:36::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 413,
      "column": 45,
      "match": "is defined",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::413:45::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 419,
      "column": 199,
      "match": "are returned",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::419:199::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 427,
      "column": 28,
      "match": "is wrapped",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::427:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 429,
      "column": 72,
      "match": "is handled",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::429:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 433,
      "column": 242,
      "match": "is printed",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::433:242::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 472,
      "column": 229,
      "match": "is deeply entangled",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::472:229::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 499,
      "column": 113,
      "match": "are implemented",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::499:113::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 517,
      "column": 96,
      "match": "be exercised",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::517:96::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 521,
      "column": 117,
      "match": "are expected",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::521:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 530,
      "column": 90,
      "match": "are implemented",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::530:90::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 536,
      "column": 14,
      "match": "is ported",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::536:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "46 em-dashes in 2770 words",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "59 bolded spans in 2770 words",
      "id": "compiler/docs/rust-port/rust-port-0003-testing-infrastructure.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 351,
      "match": "are implemented",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::13:351::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 55,
      "column": 1,
      "match": "## Key Design Decisions",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::55:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 448,
      "column": 53,
      "match": "is passed",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::448:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 448,
      "column": 216,
      "match": "are cloned",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::448:216::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 452,
      "column": 59,
      "match": "is stored",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::452:59::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 464,
      "column": 1,
      "match": "## Incremental Implementation Plan",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::464:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 473,
      "column": 189,
      "match": "was previously called",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::473:189::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 643,
      "column": 1,
      "match": "## Key Rust Patterns",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::643:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 647,
      "column": 140,
      "match": "are missed",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::647:140::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 726,
      "column": 68,
      "match": "actually",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::726:68::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 730,
      "column": 61,
      "match": "are verified",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::730:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "127 em-dashes in 2126 words",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0004-build-hir.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "45 bolded spans in 2126 words",
      "id": "compiler/docs/rust-port/rust-port-0004-build-hir.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 5,
      "column": 86,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::5:86::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 189,
      "match": "is implemented",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::11:189::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 60,
      "column": 1,
      "match": "### Why This Split",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::60:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 284,
      "match": "be reimplemented",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::62:284::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 72,
      "column": 1,
      "match": "## Rust Public API",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::72:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 574,
      "column": 1,
      "match": "## NAPI Bridge Details",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::574:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 584,
      "column": 28,
      "match": "be logged",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::584:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 591,
      "column": 46,
      "match": "is bounded",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::591:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 602,
      "column": 1,
      "match": "### Native Module Structure",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::602:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 662,
      "column": 19,
      "match": "is designed",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::662:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 678,
      "column": 44,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::678:44::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 680,
      "column": 1,
      "match": "### Integration Size Comparison",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::680:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 694,
      "column": 131,
      "match": "be used",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::694:131::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "29 bolded spans in 1416 words",
      "id": "compiler/docs/rust-port/rust-port-0005-babel-plugin.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 25,
      "match": "is stored",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::7:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 38,
      "match": "is renamed",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::22:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 133,
      "match": "are accessed",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::44:133::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 60,
      "column": 64,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::60:64::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 100,
      "column": 341,
      "match": "be computed",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::100:341::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 134,
      "column": 103,
      "match": "are accumulated",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::134:103::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-architecture.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "12 em-dashes in 668 words",
      "id": "compiler/docs/rust-port/rust-port-architecture.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Rust Port Gap Analysis",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 59,
      "column": 91,
      "match": "are pushed",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::59:91::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 84,
      "column": 57,
      "match": "is ported",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::84:57::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 18,
      "match": "be constrained",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::105:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "13 em-dashes in 559 words",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-gap-analysis.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "37 bolded spans in 559 words",
      "id": "compiler/docs/rust-port/rust-port-gap-analysis.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 3,
      "column": 110,
      "match": "in order to",
      "id": "compiler/docs/rust-port/rust-port-notes.md::3:110::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 10,
      "column": 65,
      "match": "in order to",
      "id": "compiler/docs/rust-port/rust-port-notes.md::10:65::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 29,
      "column": 62,
      "match": "actually",
      "id": "compiler/docs/rust-port/rust-port-notes.md::29:62::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 35,
      "column": 18,
      "match": "are cloned",
      "id": "compiler/docs/rust-port/rust-port-notes.md::35:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 31,
      "match": "is cloned",
      "id": "compiler/docs/rust-port/rust-port-notes.md::36:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 45,
      "column": 54,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-notes.md::45:54::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-notes.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 49,
      "column": 12,
      "match": "there are",
      "id": "compiler/docs/rust-port/rust-port-notes.md::49:12::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-orchestrator-log.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 1,
      "match": "are preserved",
      "id": "compiler/docs/rust-port/rust-port-orchestrator-log.md::86:1::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-orchestrator-log.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 96,
      "column": 1,
      "match": "is explicitly scoped",
      "id": "compiler/docs/rust-port/rust-port-orchestrator-log.md::96:1::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-orchestrator-log.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 324,
      "column": 68,
      "match": "be initialized",
      "id": "compiler/docs/rust-port/rust-port-orchestrator-log.md::324:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-orchestrator-log.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 379,
      "column": 76,
      "match": "actually",
      "id": "compiler/docs/rust-port/rust-port-orchestrator-log.md::379:76::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-orchestrator-log.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 445,
      "column": 26,
      "match": "are blocked",
      "id": "compiler/docs/rust-port/rust-port-orchestrator-log.md::445:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-oxc.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 96,
      "column": 117,
      "match": "is copied",
      "id": "compiler/docs/rust-port/rust-port-oxc.md::96:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-oxc.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "24 em-dashes in 652 words",
      "id": "compiler/docs/rust-port/rust-port-oxc.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-oxc.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "17 bolded spans in 652 words",
      "id": "compiler/docs/rust-port/rust-port-oxc.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 125,
      "match": "are implemented",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::3:125::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 9,
      "column": 243,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::9:243::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 210,
      "match": "are represented",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::9:210::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 225,
      "column": 1,
      "match": "### Reused Existing Types",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::225:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 233,
      "column": 1,
      "match": "### Key Design Decisions",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::233:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 309,
      "column": 1,
      "match": "### Shared Print Helpers",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::309:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 337,
      "column": 68,
      "match": "is deferred",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::337:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 339,
      "column": 226,
      "match": "is ported",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::339:226::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 412,
      "column": 8,
      "match": "be planned",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::412:8::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "26 em-dashes in 1017 words",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-reactive-function.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "21 bolded spans in 1017 words",
      "id": "compiler/docs/rust-port/rust-port-reactive-function.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 41,
      "column": 108,
      "match": "very",
      "id": "compiler/docs/rust-port/rust-port-research.md::41:108::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 253,
      "match": "is renamed",
      "id": "compiler/docs/rust-port/rust-port-research.md::51:253::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 53,
      "column": 74,
      "match": "is threaded",
      "id": "compiler/docs/rust-port/rust-port-research.md::53:74::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 55,
      "column": 119,
      "match": "be ported",
      "id": "compiler/docs/rust-port/rust-port-research.md::55:119::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 216,
      "match": "are recorded",
      "id": "compiler/docs/rust-port/rust-port-research.md::70:216::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "connective-overload",
      "severity": "warning",
      "category": "Filler",
      "title": "Formal connective overload",
      "message": "Formal connectives pile up in LLM prose.",
      "help": "Use \"also\" or start a new sentence.",
      "line": 72,
      "column": 516,
      "match": "Additionally",
      "id": "compiler/docs/rust-port/rust-port-research.md::72:516::style-doctor/connective-overload"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 72,
      "column": 630,
      "match": "are cloned",
      "id": "compiler/docs/rust-port/rust-port-research.md::72:630::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 72,
      "column": 746,
      "match": "is replaced",
      "id": "compiler/docs/rust-port/rust-port-research.md::72:746::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 76,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/docs/rust-port/rust-port-research.md::76:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 93,
      "column": 17,
      "match": "is removed",
      "id": "compiler/docs/rust-port/rust-port-research.md::93:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 93,
      "column": 113,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::93:113::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 118,
      "column": 337,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-research.md::118:337::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 118,
      "column": 45,
      "match": "is renamed",
      "id": "compiler/docs/rust-port/rust-port-research.md::118:45::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 118,
      "column": 202,
      "match": "is introduced",
      "id": "compiler/docs/rust-port/rust-port-research.md::118:202::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 152,
      "column": 38,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::152:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 177,
      "column": 1,
      "match": "## The Shared Mutable Reference Problem",
      "id": "compiler/docs/rust-port/rust-port-research.md::177:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 209,
      "column": 6,
      "match": "is explicitly noted",
      "id": "compiler/docs/rust-port/rust-port-research.md::209:6::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 229,
      "column": 1,
      "match": "### Complete Environment Analysis",
      "id": "compiler/docs/rust-port/rust-port-research.md::229:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 13,
      "match": "is created",
      "id": "compiler/docs/rust-port/rust-port-research.md::231:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 100,
      "match": "is shared",
      "id": "compiler/docs/rust-port/rust-port-research.md::231:100::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 254,
      "column": 22,
      "match": "is Shared",
      "id": "compiler/docs/rust-port/rust-port-research.md::254:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 256,
      "column": 91,
      "match": "is called",
      "id": "compiler/docs/rust-port/rust-port-research.md::256:91::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 260,
      "column": 17,
      "match": "is shared",
      "id": "compiler/docs/rust-port/rust-port-research.md::260:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 264,
      "column": 1,
      "match": "### Recommended Rust Representation",
      "id": "compiler/docs/rust-port/rust-port-research.md::264:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 266,
      "column": 224,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-research.md::266:224::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 319,
      "column": 201,
      "match": "there is",
      "id": "compiler/docs/rust-port/rust-port-research.md::319:201::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 325,
      "column": 1,
      "match": "### The Core Problem",
      "id": "compiler/docs/rust-port/rust-port-research.md::325:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 352,
      "column": 800,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-research.md::352:800::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 354,
      "column": 39,
      "match": "actually",
      "id": "compiler/docs/rust-port/rust-port-research.md::354:39::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 357,
      "column": 16,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::357:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 358,
      "column": 55,
      "match": "are accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::358:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 362,
      "column": 77,
      "match": "are mutated",
      "id": "compiler/docs/rust-port/rust-port-research.md::362:77::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 397,
      "column": 1,
      "match": "### Shared Reference Inventory",
      "id": "compiler/docs/rust-port/rust-port-research.md::397:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 422,
      "column": 82,
      "match": "is created",
      "id": "compiler/docs/rust-port/rust-port-research.md::422:82::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 456,
      "column": 80,
      "match": "is used",
      "id": "compiler/docs/rust-port/rust-port-research.md::456:80::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 480,
      "column": 18,
      "match": "are created",
      "id": "compiler/docs/rust-port/rust-port-research.md::480:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 493,
      "column": 61,
      "match": "are replaced",
      "id": "compiler/docs/rust-port/rust-port-research.md::493:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 494,
      "column": 69,
      "match": "is eliminated",
      "id": "compiler/docs/rust-port/rust-port-research.md::494:69::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 501,
      "column": 217,
      "match": "is only used",
      "id": "compiler/docs/rust-port/rust-port-research.md::501:217::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 506,
      "column": 142,
      "match": "are accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::506:142::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 510,
      "column": 9,
      "match": "are interned",
      "id": "compiler/docs/rust-port/rust-port-research.md::510:9::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 524,
      "column": 48,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-research.md::524:48::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 526,
      "column": 122,
      "match": "is returned",
      "id": "compiler/docs/rust-port/rust-port-research.md::526:122::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 526,
      "column": 235,
      "match": "is used",
      "id": "compiler/docs/rust-port/rust-port-research.md::526:235::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 544,
      "column": 363,
      "match": "is accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::544:363::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 570,
      "column": 1,
      "match": "### Recommended Rust Representation",
      "id": "compiler/docs/rust-port/rust-port-research.md::570:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 617,
      "column": 11,
      "match": "is cloned",
      "id": "compiler/docs/rust-port/rust-port-research.md::617:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 654,
      "column": 99,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-research.md::654:99::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 654,
      "column": 65,
      "match": "are interned",
      "id": "compiler/docs/rust-port/rust-port-research.md::654:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 656,
      "column": 232,
      "match": "rather",
      "id": "compiler/docs/rust-port/rust-port-research.md::656:232::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 656,
      "column": 35,
      "match": "is eliminated",
      "id": "compiler/docs/rust-port/rust-port-research.md::656:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 681,
      "column": 118,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-research.md::681:118::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 681,
      "column": 245,
      "match": "is keyed",
      "id": "compiler/docs/rust-port/rust-port-research.md::681:245::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 681,
      "column": 55,
      "match": "there is",
      "id": "compiler/docs/rust-port/rust-port-research.md::681:55::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 685,
      "column": 80,
      "match": "is accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::685:80::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 697,
      "column": 1,
      "match": "#### Context Variable Mutation",
      "id": "compiler/docs/rust-port/rust-port-research.md::697:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 714,
      "column": 195,
      "match": "being processed",
      "id": "compiler/docs/rust-port/rust-port-research.md::714:195::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 731,
      "column": 108,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-research.md::731:108::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 735,
      "column": 1,
      "match": "## Recommended Rust Architecture",
      "id": "compiler/docs/rust-port/rust-port-research.md::735:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 737,
      "column": 1,
      "match": "### Arena-Based Identifier Storage",
      "id": "compiler/docs/rust-port/rust-port-research.md::737:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 764,
      "column": 1,
      "match": "### Arena-Based Scope Storage",
      "id": "compiler/docs/rust-port/rust-port-research.md::764:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 773,
      "column": 1,
      "match": "### Arena-Based Function Storage",
      "id": "compiler/docs/rust-port/rust-port-research.md::773:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 782,
      "column": 1,
      "match": "### Arena-Based Type Storage",
      "id": "compiler/docs/rust-port/rust-port-research.md::782:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 793,
      "column": 14,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::793:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 793,
      "column": 241,
      "match": "is renamed",
      "id": "compiler/docs/rust-port/rust-port-research.md::793:241::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 815,
      "column": 1,
      "match": "### Pass Signature Patterns",
      "id": "compiler/docs/rust-port/rust-port-research.md::815:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 888,
      "column": 108,
      "match": "in order to",
      "id": "compiler/docs/rust-port/rust-port-research.md::888:108::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 903,
      "column": 12,
      "match": "there are",
      "id": "compiler/docs/rust-port/rust-port-research.md::903:12::style-doctor/there-is"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 995,
      "column": 3,
      "match": "Very",
      "id": "compiler/docs/rust-port/rust-port-research.md::995:3::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1105,
      "column": 290,
      "match": "is shared",
      "id": "compiler/docs/rust-port/rust-port-research.md::1105:290::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 1171,
      "column": 37,
      "match": "very",
      "id": "compiler/docs/rust-port/rust-port-research.md::1171:37::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1171,
      "column": 223,
      "match": "be replaced",
      "id": "compiler/docs/rust-port/rust-port-research.md::1171:223::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1179,
      "column": 111,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::1179:111::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1184,
      "column": 481,
      "match": "are cloned",
      "id": "compiler/docs/rust-port/rust-port-research.md::1184:481::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1201,
      "column": 176,
      "match": "is accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1201:176::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1201,
      "column": 285,
      "match": "being processed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1201:285::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1210,
      "column": 324,
      "match": "is accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1210:324::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1230,
      "column": 250,
      "match": "is mutably borrowed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1230:250::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1243,
      "column": 262,
      "match": "is accessed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1243:262::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1263,
      "column": 251,
      "match": "be omitted",
      "id": "compiler/docs/rust-port/rust-port-research.md::1263:251::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 1283,
      "column": 103,
      "match": "Very",
      "id": "compiler/docs/rust-port/rust-port-research.md::1283:103::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1299,
      "column": 124,
      "match": "is bounded",
      "id": "compiler/docs/rust-port/rust-port-research.md::1299:124::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1353,
      "column": 112,
      "match": "are replaced",
      "id": "compiler/docs/rust-port/rust-port-research.md::1353:112::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1384,
      "column": 221,
      "match": "are deserialized",
      "id": "compiler/docs/rust-port/rust-port-research.md::1384:221::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1384,
      "column": 265,
      "match": "are serialized",
      "id": "compiler/docs/rust-port/rust-port-research.md::1384:265::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1415,
      "column": 44,
      "match": "be designed",
      "id": "compiler/docs/rust-port/rust-port-research.md::1415:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1416,
      "column": 86,
      "match": "are stored",
      "id": "compiler/docs/rust-port/rust-port-research.md::1416:86::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1425,
      "column": 1,
      "match": "## Recommended Migration Strategy",
      "id": "compiler/docs/rust-port/rust-port-research.md::1425:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 1444,
      "column": 85,
      "match": "serves as",
      "id": "compiler/docs/rust-port/rust-port-research.md::1444:85::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/docs/rust-port/rust-port-research.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "188 bolded spans in 6681 words",
      "id": "compiler/docs/rust-port/rust-port-research.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 34,
      "match": "be provided",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::13:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 16,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::23:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 22,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::24:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 67,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::67:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 49,
      "match": "being populated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::70:49::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 78,
      "column": 1,
      "match": "### Core HIR Types",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::78:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 155,
      "column": 14,
      "match": "are stored",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::155:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "30 bolded spans in 664 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/01-lower.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 59,
      "match": "be reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::7:59::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 136,
      "match": "is defined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::7:136::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 174,
      "match": "are inserted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::7:174::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 54,
      "match": "be populated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::11:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 19,
      "match": "be reused",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::13:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 63,
      "match": "is defined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::16:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 13,
      "match": "are inserted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::18:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 55,
      "match": "are recursively converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::20:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 50,
      "match": "are handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::21:50::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 31,
      "match": "been visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::33:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 27,
      "match": "are unvisited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::34:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 35,
      "column": 68,
      "match": "are finally visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::35:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 39,
      "column": 21,
      "match": "is defined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::39:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 24,
      "match": "are unvisited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::41:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 45,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::45:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 54,
      "column": 72,
      "match": "were visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::54:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 43,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::62:43::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 119,
      "match": "is created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::62:119::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 171,
      "match": "is visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::62:171::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 33,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::63:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 64,
      "column": 74,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::64:74::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 65,
      "column": 65,
      "match": "are processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::65:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 68,
      "column": 133,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::68:133::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 182,
      "column": 41,
      "match": "is initially created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::182:41::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 182,
      "column": 141,
      "match": "been visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::182:141::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 182,
      "column": 170,
      "match": "is processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::182:170::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 182,
      "column": 200,
      "match": "is handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::182:200::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "16 bolded spans in 677 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/02-enterSSA.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 7,
      "column": 220,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::7:220::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 27,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::15:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 71,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::17:71::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 12,
      "match": "is considered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::21:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 85,
      "match": "is replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::22:85::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 55,
      "match": "were added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::33:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 39,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::39:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 67,
      "match": "been visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::47:67::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 53,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::48:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 28,
      "match": "is eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::86:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 88,
      "column": 13,
      "match": "are eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::88:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 532 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/03-eliminateRedundantPhi.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 30,
      "match": "be eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::11:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 31,
      "match": "be ensured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::12:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 53,
      "match": "are replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::16:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 73,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::17:73::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 50,
      "match": "are replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::19:50::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 22,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::20:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 46,
      "match": "is minimized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::20:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 51,
      "match": "are pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::21:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 59,
      "match": "are recursively processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::22:59::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 53,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::53:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 65,
      "column": 52,
      "match": "are propagated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::65:52::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 97,
      "column": 29,
      "match": "is eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::97:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 99,
      "column": 19,
      "match": "is eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::99:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 101,
      "column": 27,
      "match": "are merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::101:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 128,
      "match": "is updated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::110:128::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 152,
      "match": "is pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::110:152::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 304,
      "match": "be eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::110:304::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "21 bolded spans in 469 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/04-constantPropagation.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 38,
      "match": "are unused",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::7:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 65,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::15:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 20,
      "match": "are deleted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::16:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 28,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::17:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 54,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::19:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 18,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::30:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 31,
      "column": 82,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::31:82::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 32,
      "column": 42,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::32:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 39,
      "match": "were marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::33:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 40,
      "column": 79,
      "match": "is unused",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::40:79::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 44,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::44:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 80,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::48:80::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 46,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::49:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 53,
      "column": 1,
      "match": "- **Preserved even if unused:**",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::53:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 63,
      "column": 1,
      "match": "- **SSR mode special case:**",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::63:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 64,
      "column": 74,
      "match": "be removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::64:74::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 66,
      "column": 1,
      "match": "- **Object destructuring with rest:**",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::66:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 67,
      "column": 53,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::67:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 69,
      "column": 1,
      "match": "- **Block value instructions:**",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::69:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 73,
      "column": 90,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::73:90::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 73,
      "column": 86,
      "match": "are actually modified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::73:86::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 31,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::86:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "14 bolded spans in 446 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/05-deadCodeElimination.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 24,
      "match": "are resolved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::15:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 25,
      "match": "are inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::17:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 30,
      "match": "are typed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::19:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 28,
      "match": "are typed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::20:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 44,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::44:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 55,
      "column": 1,
      "match": "### Phi Type Resolution",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::55:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 61,
      "column": 1,
      "match": "### Ref-like Name Inference",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::61:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 44,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::62:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 67,
      "column": 130,
      "match": "is detected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::67:130::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "16 bolded spans in 528 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/06-inferTypes.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 96,
      "match": "is captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::16:96::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 112,
      "match": "are captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::28:112::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 34,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::34:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 95,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::36:95::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 137,
      "match": "are analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::41:137::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 43,
      "column": 128,
      "match": "been resolved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::43:128::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 75,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::44:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 81,
      "column": 7,
      "match": "is captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::81:7::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "15 bolded spans in 466 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/07-analyseFunctions.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 7,
      "column": 133,
      "match": "functions as",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::7:133::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 14,
      "match": "be inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::11:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 18,
      "match": "be analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::12:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 29,
      "match": "is guaranteed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::18:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 46,
      "match": "be defined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::18:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 40,
      "column": 36,
      "match": "are dropped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::40:36::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 24,
      "match": "are downgraded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::41:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 43,
      "column": 58,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::43:58::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 45,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::45:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 91,
      "column": 176,
      "match": "be treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::91:176::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 95,
      "column": 58,
      "match": "is reached",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::95:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 95,
      "column": 89,
      "match": "are aliased",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::95:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 97,
      "column": 40,
      "match": "are considered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::97:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "21 bolded spans in 629 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/08-inferMutationAliasingEffects.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 17,
      "match": "be established",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::11:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 18,
      "match": "been analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::13:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 29,
      "match": "been performed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::14:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 42,
      "match": "is populated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::19:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 21,
      "match": "are collected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::20:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 35,
      "column": 22,
      "match": "are connected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::35:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 35,
      "column": 71,
      "match": "been visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::35:71::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 40,
      "match": "are processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::36:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 19,
      "match": "are processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::41:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 45,
      "column": 60,
      "match": "are mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::45:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 52,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::52:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 90,
      "column": 13,
      "match": "are created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::90:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 91,
      "column": 40,
      "match": "are processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::91:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 91,
      "column": 95,
      "match": "is visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::91:95::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 92,
      "column": 87,
      "match": "is stopped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::92:87::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 100,
      "column": 38,
      "match": "are downgraded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::100:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 104,
      "column": 13,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::104:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 19,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::105:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 76,
      "match": "are propagated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::105:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 108,
      "column": 1,
      "match": "### Render Effect Propagation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::108:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 27,
      "match": "been mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::110:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 118,
      "column": 114,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::118:114::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 137,
      "column": 33,
      "match": "are queued",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::137:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 142,
      "column": 36,
      "match": "be considered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::142:36::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 146,
      "column": 35,
      "match": "was created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::146:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 149,
      "column": 32,
      "match": "are unified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::149:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 149,
      "column": 68,
      "match": "be affected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/09-inferMutationAliasingRanges.md::149:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 14,
      "match": "is propagated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::28:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 28,
      "match": "is controlled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::44:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 60,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::60:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 65,
      "match": "are controlled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::86:65::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 99,
      "column": 1,
      "match": "### Stable Types Are Not Reactive",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::99:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 103,
      "match": "be marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::110:103::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 113,
      "column": 32,
      "match": "is controlled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::113:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 118,
      "column": 244,
      "match": "be added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::118:244::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 163,
      "column": 14,
      "match": "is marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::163:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 169,
      "column": 63,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::169:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "15 bolded spans in 673 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/10-inferReactivePlaces.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 64,
      "match": "are mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::9:64::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 105,
      "match": "be placed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::9:105::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 54,
      "match": "is computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::11:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 42,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::18:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 25,
      "match": "been numbered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::20:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 13,
      "match": "are properly constructed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::21:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 23,
      "match": "is validated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::27:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 79,
      "match": "be assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::28:79::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 37,
      "column": 26,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::37:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 38,
      "column": 79,
      "match": "are grouped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::38:79::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 76,
      "match": "be recreated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::47:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 65,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::65:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 101,
      "column": 1,
      "match": "### Phi Nodes After Mutation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::101:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 102,
      "column": 21,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::102:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 102,
      "column": 124,
      "match": "be recomputed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::102:124::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 104,
      "column": 1,
      "match": "### MethodCall Property Resolution",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::104:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 46,
      "match": "is explicitly added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::105:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 111,
      "column": 50,
      "match": "are only included",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::111:50::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 114,
      "column": 28,
      "match": "are unconditionally unioned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::114:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 155,
      "column": 119,
      "match": "was captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::155:119::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "hedge-stack",
      "severity": "warning",
      "category": "Filler",
      "title": "Stacked hedge / confidence-calibration opener",
      "message": "Stacked hedges, or flagging your own \"noteworthy\" aside, is LLM throat-clearing.",
      "help": "Pick one hedge, or state the fact plainly.",
      "line": 176,
      "column": 102,
      "match": "could potentially",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::176:102::style-doctor/hedge-stack"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 176,
      "column": 29,
      "match": "are created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/11-inferReactiveScopeVariables.md::176:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 130,
      "match": "be declared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::7:130::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 230,
      "match": "is subsequently reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::7:230::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 98,
      "match": "was originally declared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::9:98::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 159,
      "match": "was reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::9:159::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 179,
      "match": "be converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::9:179::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 223,
      "match": "was removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::9:223::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 58,
      "match": "been removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::13:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 83,
      "match": "be reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::15:83::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 92,
      "match": "is marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::18:92::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 99,
      "match": "is marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::21:99::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 46,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::46:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 67,
      "column": 1,
      "match": "### DCE Removes Reassignment",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::67:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 68,
      "column": 37,
      "match": "is unused",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::68:37::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 74,
      "column": 89,
      "match": "was removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::74:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 91,
      "column": 181,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::91:181::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 91,
      "column": 117,
      "match": "was eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::91:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 147,
      "column": 20,
      "match": "is Called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::147:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "18 bolded spans in 530 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/12-rewriteInstructionKindsBasedOnReassignment.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 112,
      "match": "being called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::7:112::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 139,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::11:139::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 20,
      "match": "been converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::14:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 55,
      "match": "are recursively processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::26:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 66,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::66:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 45,
      "match": "be removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::70:45::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 73,
      "column": 61,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::73:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 88,
      "column": 1,
      "match": "### Multiple MethodCalls Sharing Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::88:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 95,
      "column": 1,
      "match": "There are",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::95:1::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 472 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/13-alignMethodCallScopes.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 199,
      "match": "be inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::7:199::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 24,
      "match": "been inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::13:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 71,
      "match": "is expanded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::19:71::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 19,
      "match": "are repointed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::20:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 63,
      "match": "were merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::20:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 75,
      "match": "are updated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::20:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 29,
      "column": 33,
      "match": "was previously recorded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::29:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 42,
      "column": 41,
      "match": "was merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::42:41::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 45,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::45:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 97,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::47:97::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 61,
      "column": 1,
      "match": "### Nested Object Methods",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::61:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 65,
      "column": 68,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::65:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 70,
      "column": 1,
      "match": "### Method Call After Object Creation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::70:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 106,
      "column": 72,
      "match": "been expanded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::106:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 165,
      "match": "is inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/14-alignObjectMethodScopes.md::128:165::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 239,
      "match": "be aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::9:239::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 62,
      "match": "been assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::26:62::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 98,
      "match": "is represented",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::27:98::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 32,
      "column": 142,
      "match": "is updated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::32:142::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 47,
      "match": "are handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::34:47::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 99,
      "match": "are extended",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::34:99::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 69,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::69:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 97,
      "column": 75,
      "match": "be extended",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::97:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 100,
      "column": 58,
      "match": "be aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::100:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 102,
      "column": 1,
      "match": "### Nested Control Flow",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::102:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 103,
      "column": 50,
      "match": "be extended",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::103:50::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 106,
      "column": 68,
      "match": "is handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::106:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 109,
      "column": 89,
      "match": "is only pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::109:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 109,
      "column": 182,
      "match": "is encountered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::109:182::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 145,
      "column": 11,
      "match": "is extended",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/15-alignReactiveScopesToBlockScopesHIR.md::145:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 113,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::9:113::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 142,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::11:142::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 30,
      "match": "is completely contained",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::15:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 33,
      "match": "been inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::18:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 15,
      "match": "been aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::19:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 42,
      "column": 241,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::42:241::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 53,
      "column": 84,
      "match": "are skipped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::53:84::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 59,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::59:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 79,
      "column": 61,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::79:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 83,
      "column": 1,
      "match": "### Identical Scope Ranges",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::83:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 84,
      "column": 62,
      "match": "are automatically merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::84:62::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 87,
      "column": 42,
      "match": "are skipped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::87:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 92,
      "column": 1,
      "match": "### JSX Single-Instruction Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::92:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 96,
      "column": 100,
      "match": "are aliased",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::96:100::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 100,
      "column": 26,
      "match": "is preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::100:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 100,
      "column": 56,
      "match": "were allowed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::100:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "16 bolded spans in 689 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/16-mergeOverlappingReactiveScopesHIR.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "intensifier-cluster",
      "severity": "warning",
      "category": "Filler",
      "title": "Overused intensifier",
      "message": "Everything is \"crucial\" in LLM prose.",
      "help": "Reserve it for what truly is; else cut.",
      "line": 13,
      "column": 86,
      "match": "essential",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::13:86::style-doctor/intensifier-cluster"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 56,
      "match": "been correctly aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::17:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 53,
      "match": "is represented",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::22:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 39,
      "match": "are repointed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::27:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 110,
      "match": "are updated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::51:110::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 59,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::59:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 104,
      "column": 46,
      "match": "are processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::104:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 106,
      "column": 1,
      "match": "### Empty Blocks After Split",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::106:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 109,
      "column": 1,
      "match": "### Control Flow Within Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::109:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "12 bolded spans in 492 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/17-buildReactiveScopeTerminalsHIR.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 41,
      "match": "are nested",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::7:41::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 83,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::9:83::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 10,
      "column": 4,
      "match": "There is",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::10:4::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 11,
      "column": 57,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::11:57::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 202,
      "match": "are emitted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::13:202::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 52,
      "match": "are iterated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::18:52::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 58,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::21:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 27,
      "match": "is preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::23:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 64,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::23:64::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 43,
      "column": 172,
      "match": "is visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::43:172::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 45,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::45:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 68,
      "column": 176,
      "match": "be pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::68:176::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 158,
      "column": 81,
      "match": "was pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/18-flattenReactiveLoopsHIR.md::158:81::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 19,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::9:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 44,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::10:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 105,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::10:105::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 10,
      "match": "are visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::16:10::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 30,
      "match": "is preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::25:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 45,
      "column": 51,
      "match": "be removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::45:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 48,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::48:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 66,
      "column": 137,
      "match": "were memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::66:137::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 68,
      "column": 1,
      "match": "### Method Call Hooks",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::68:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 71,
      "column": 1,
      "match": "### Trivial Hook-Only Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::71:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 75,
      "column": 21,
      "match": "is encountered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::75:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 75,
      "column": 55,
      "match": "are pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::75:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 142,
      "column": 31,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/19-flattenScopesWithHooksOrUseHIR.md::142:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 64,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::11:64::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 24,
      "match": "be established",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::14:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 76,
      "match": "being mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::16:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 21,
      "match": "been aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::18:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 6,
      "match": "Were declared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::24:6::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 6,
      "match": "Are assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::30:6::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 31,
      "column": 6,
      "match": "Are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::31:6::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 31,
      "column": 42,
      "match": "be exposed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::31:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 25,
      "match": "are resolved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::33:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 35,
      "column": 20,
      "match": "are handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::35:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 78,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::41:78::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 116,
      "match": "were declared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::41:116::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 138,
      "match": "be hoisted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::41:138::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 52,
      "column": 95,
      "match": "be safely hoisted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::52:95::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 78,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::78:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 99,
      "column": 83,
      "match": "was declared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::99:83::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 110,
      "column": 1,
      "match": "### Values Used Outside Declaring Scope",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::110:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 111,
      "column": 16,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::111:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 111,
      "column": 63,
      "match": "be tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::111:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 114,
      "column": 25,
      "match": "is treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::114:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 114,
      "column": 63,
      "match": "is truncated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::114:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 120,
      "column": 35,
      "match": "are collected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::120:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 157,
      "column": 19,
      "match": "is assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/20-propagateScopeDependenciesHIR.md::157:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 63,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::12:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 38,
      "match": "been renamed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::15:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 16,
      "match": "are connected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::16:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 24,
      "match": "been constructed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::19:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 22,
      "match": "are computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::20:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 39,
      "match": "are eliminated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::24:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 68,
      "match": "is represented",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::24:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 35,
      "match": "are represented",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::25:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 128,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::26:128::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 56,
      "match": "be generated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::27:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 50,
      "match": "been generated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::36:50::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 37,
      "column": 52,
      "match": "be emitted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::37:52::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 70,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::70:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 121,
      "column": 1,
      "match": "### Nested Control Flow",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::121:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 30,
      "match": "are treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::128:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "22 bolded spans in 545 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/21-buildReactiveFunction.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 12,
      "column": 192,
      "match": "there is",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::12:192::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 52,
      "match": "are flattened",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::23:52::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 89,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::24:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 26,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::26:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 79,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::26:79::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 63,
      "column": 1,
      "match": "### Trailing Break Removal",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::63:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 64,
      "column": 102,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::64:102::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 73,
      "column": 101,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::73:101::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 101,
      "column": 34,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::101:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 145,
      "column": 34,
      "match": "is preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::145:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "8 bolded spans in 326 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/22-pruneUnusedLabels.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 117,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::7:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 47,
      "match": "is directly returned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::9:47::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 73,
      "match": "be stored",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::10:73::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 78,
      "match": "be safely recreated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::12:78::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 61,
      "match": "been identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::15:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 24,
      "match": "been assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::16:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 38,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::20:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 73,
      "match": "are inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::20:73::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 34,
      "match": "are retained",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::21:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 48,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::22:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 34,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::23:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 76,
      "match": "is pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::23:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 127,
      "match": "are flagged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::23:127::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 24,
      "match": "is classified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::34:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 98,
      "match": "are memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::36:98::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 38,
      "column": 67,
      "match": "be cheaply compared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::38:67::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 17,
      "match": "are memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::49:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 145,
      "match": "be preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::62:145::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 64,
      "column": 1,
      "match": "### Hook Arguments Escape",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::64:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 65,
      "column": 24,
      "match": "are treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::65:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 67,
      "column": 1,
      "match": "### JSX Special Handling",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::67:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 68,
      "column": 14,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::68:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 74,
      "column": 46,
      "match": "is added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::74:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 7,
      "match": "is memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::128:7::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 7,
      "match": "is memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::130:7::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 484 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/23-pruneNonEscapingScopes.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 7,
      "column": 262,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::7:262::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 58,
      "match": "are guaranteed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::7:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 20,
      "match": "been converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::12:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 116,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::19:116::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "leverage",
      "severity": "warning",
      "category": "Filler",
      "title": "Corporate verb \"leverage\"",
      "message": "\"leverage\" as a verb is corporate-speak.",
      "help": "Use \"use\".",
      "line": 45,
      "column": 10,
      "match": "leverages",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::45:10::style-doctor/leverage"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 62,
      "column": 1,
      "match": "### Unmemoized Values Spanning Hook Calls",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::62:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 61,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::63:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 71,
      "column": 1,
      "match": "### Transitive Reactivity Through Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::71:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 102,
      "column": 23,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::102:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 102,
      "column": 46,
      "match": "is created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::102:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 138,
      "column": 136,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::138:136::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 488 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/24-pruneNonReactiveDependencies.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 146,
      "match": "are executed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::7:146::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 301,
      "match": "be cached",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::7:301::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 54,
      "match": "been transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::10:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 15,
      "match": "been created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::11:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 12,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::12:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 22,
      "match": "be marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::16:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 48,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::19:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 8,
      "match": "be executed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::27:8::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 75,
      "match": "was encountered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::33:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 55,
      "column": 37,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::55:37::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 58,
      "column": 20,
      "match": "are flattened",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::58:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 58,
      "column": 68,
      "match": "be propagated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::58:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 58,
      "column": 200,
      "match": "be pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::58:200::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 61,
      "column": 100,
      "match": "be tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::61:100::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 88,
      "column": 28,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::88:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 88,
      "column": 60,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/25-pruneUnusedScopes.md::88:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 198,
      "match": "are merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::9:198::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 106,
      "match": "is flattened",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::11:106::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 20,
      "match": "been pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::15:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 79,
      "match": "are merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::20:79::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 48,
      "match": "are updated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::22:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 76,
      "match": "were merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::23:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 75,
      "match": "are absorbed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::24:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 131,
      "column": 40,
      "match": "be merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::131:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 136,
      "column": 1,
      "match": "### Safe Intermediate Instructions",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::136:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 137,
      "column": 32,
      "match": "are allowed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::137:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 189,
      "column": 12,
      "match": "are merged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/26-mergeReactiveScopesThatInvalidateTogether.md::189:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 176,
      "match": "are guaranteed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::7:176::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 280,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::7:280::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 414,
      "match": "is pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::7:414::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 63,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::18:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 99,
      "match": "are added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::20:99::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 72,
      "column": 1,
      "match": "### Function Calls Not Considered Always-Invalidating",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::72:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 78,
      "column": 1,
      "match": "### Propagation Through Locals",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::78:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 82,
      "column": 14,
      "match": "is pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::82:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 82,
      "column": 117,
      "match": "be pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::82:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 127,
      "column": 12,
      "match": "is pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::127:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 129,
      "column": 39,
      "match": "is unmemoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::129:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 143,
      "column": 54,
      "match": "was pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/27-pruneAlwaysInvalidatingScopes.md::143:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 371,
      "match": "be skipped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::7:371::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 251,
      "match": "was replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::9:251::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 81,
      "match": "are wrapped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::17:81::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 87,
      "match": "is initialized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::18:87::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 81,
      "match": "are replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::19:81::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 57,
      "match": "is registered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::22:57::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 58,
      "match": "is added",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::23:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 67,
      "column": 1,
      "match": "### Nested Reactive Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::67:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 73,
      "column": 1,
      "match": "### Partial Early Returns",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::73:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 76,
      "column": 1,
      "match": "### Already Processed Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::76:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 79,
      "column": 1,
      "match": "### Returns Outside Reactive Scopes",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::79:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 140,
      "column": 32,
      "match": "is prepended",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::140:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 141,
      "column": 18,
      "match": "is wrapped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::141:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 142,
      "column": 51,
      "match": "are transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::142:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 183,
      "column": 84,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::183:84::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "15 bolded spans in 574 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/28-propagateEarlyReturns.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 104,
      "match": "be referenced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::7:104::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 249,
      "match": "are typically inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::7:249::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 337,
      "match": "be emitted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::7:337::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 58,
      "match": "are named",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::11:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 46,
      "match": "are promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::13:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 57,
      "match": "be named",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::17:57::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 17,
      "match": "are properly marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::19:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 54,
      "match": "are promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::27:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 35,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::48:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 124,
      "column": 1,
      "match": "### JSX Tag Temporaries",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::124:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 125,
      "column": 92,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::125:92::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 127,
      "column": 1,
      "match": "### Pruned Scope Declarations",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::127:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 128,
      "column": 60,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::128:60::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 31,
      "match": "are only promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::128:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 134,
      "column": 55,
      "match": "are treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::134:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 136,
      "column": 1,
      "match": "### Method Call Properties",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::136:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 137,
      "column": 42,
      "match": "is treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::137:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 169,
      "column": 12,
      "match": "is promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::169:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 170,
      "column": 9,
      "match": "is promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::170:9::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 171,
      "column": 12,
      "match": "is promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/29-promoteUsedTemporaries.md::171:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 24,
      "match": "are renamed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::22:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 28,
      "match": "are renamed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::23:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 139,
      "column": 1,
      "match": "### Global Name Conflicts",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::139:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 146,
      "column": 53,
      "match": "is referenced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::146:53::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 180,
      "column": 19,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::180:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 180,
      "column": 55,
      "match": "is applied",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/30-renameVariables.md::180:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 40,
      "match": "been promoted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::16:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 22,
      "match": "been transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::18:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 17,
      "match": "are marked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::19:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 23,
      "match": "is properly sized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::25:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 29,
      "column": 14,
      "match": "are collected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::29:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 155,
      "column": 1,
      "match": "### Early Return Handling",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::155:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 198,
      "column": 44,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::198:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 218,
      "column": 41,
      "match": "are recursively processed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/31-codegenReactiveFunction.md::218:41::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 116,
      "match": "are transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::7:116::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 138,
      "match": "be passed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::9:138::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 20,
      "match": "are typed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::13:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 67,
      "match": "are converted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::16:67::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 13,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::18:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 55,
      "column": 1,
      "match": "### Non-Props Method Calls",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::55:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 65,
      "column": 1,
      "match": "### Props Type Detection",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::65:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 79,
      "column": 1,
      "match": "### Nested Props Access",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::79:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 80,
      "column": 35,
      "match": "are transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::80:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 86,
      "column": 1,
      "match": "### Arrow Function Callbacks",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::86:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 54,
      "match": "is preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/34-optimizePropsMethodCalls.md::130:54::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "leverage",
      "severity": "warning",
      "category": "Filler",
      "title": "Corporate verb \"leverage\"",
      "message": "\"leverage\" as a verb is corporate-speak.",
      "help": "Use \"use\".",
      "line": 14,
      "column": 10,
      "match": "leverages",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::14:10::style-doctor/leverage"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 14,
      "match": "are properly identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::18:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 32,
      "match": "are properly inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::19:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 28,
      "match": "is inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::22:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 44,
      "match": "is inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::23:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 43,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::24:43::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 58,
      "match": "are replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::25:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 20,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::26:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 98,
      "column": 58,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::98:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 106,
      "column": 30,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::106:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 112,
      "column": 1,
      "match": "### Nested State Setters",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::112:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 123,
      "column": 1,
      "match": "### Conditional Event Handlers",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::123:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 127,
      "column": 32,
      "match": "are removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::127:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 184,
      "column": 20,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::184:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 185,
      "column": 14,
      "match": "is replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::185:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 186,
      "column": 20,
      "match": "is removed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::186:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "6 bolded spans in 288 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/35-optimizeForSSR.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 56,
      "match": "be lazily loaded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::9:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 13,
      "column": 78,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::13:78::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 46,
      "match": "be enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::16:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 48,
      "match": "are extracted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::21:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 25,
      "match": "is replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::22:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 26,
      "match": "is registered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::24:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 122,
      "column": 1,
      "match": "### Complex Control Flow",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::122:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 129,
      "column": 1,
      "match": "### Multiple JSX Returns",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::129:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 34,
      "match": "are outlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::130:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 140,
      "column": 30,
      "match": "is outlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::140:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 221,
      "column": 24,
      "match": "is extracted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::221:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "6 bolded spans in 280 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/36-outlineJSX.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 191,
      "match": "be shared",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::7:191::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 138,
      "match": "be recreated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::9:138::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 174,
      "match": "be hoisted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::9:174::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 51,
      "match": "be enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::12:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 29,
      "match": "are replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::18:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 22,
      "match": "are registered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::19:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 28,
      "match": "is transformed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::20:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 78,
      "column": 39,
      "match": "be outlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::78:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 94,
      "column": 35,
      "match": "be outlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::94:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 166,
      "column": 21,
      "match": "is hoisted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/37-outlineFunctions.md::166:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 82,
      "match": "are memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::7:82::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 43,
      "match": "be computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::9:43::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 113,
      "match": "were memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::9:113::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 49,
      "match": "are properly identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::13:49::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 17,
      "match": "are configured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::14:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 33,
      "match": "been inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::15:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 29,
      "match": "are assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::18:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 25,
      "match": "is returned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::19:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 97,
      "column": 1,
      "match": "### Nested FBT Params",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::97:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 98,
      "column": 16,
      "match": "be nested",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::98:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 125,
      "column": 37,
      "match": "are handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::125:37::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 134,
      "column": 34,
      "match": "are handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::134:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 143,
      "column": 1,
      "match": "## Built-in FBT Tags",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::143:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 229,
      "column": 49,
      "match": "are memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::229:49::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 26,
      "match": "is recomputed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/38-memoizeFbtAndMacroOperandsInSameScope.md::231:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 219,
      "match": "are captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::7:219::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 20,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::12:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 25,
      "match": "been categorized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::13:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 36,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::14:36::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 123,
      "column": 1,
      "match": "### Nested Function Expressions",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::123:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 124,
      "column": 185,
      "match": "is consistently treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::124:185::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 127,
      "column": 39,
      "match": "is visited",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::127:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 127,
      "column": 117,
      "match": "was previously used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::127:117::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 69,
      "match": "are treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::130:69::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 142,
      "column": 85,
      "match": "be handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::142:85::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 192,
      "column": 145,
      "match": "is designed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::192:145::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "7 bolded spans in 348 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/39-validateContextVariableLValues.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 62,
      "match": "are called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::9:62::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 33,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::13:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 20,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::16:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 29,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::18:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 52,
      "column": 63,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::52:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 25,
      "match": "Be Used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::62:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 63,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::62:63::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 30,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::63:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 172,
      "column": 1,
      "match": "### Return Value Helper",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::172:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 199,
      "column": 1,
      "match": "### Immediately Used Results",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::199:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 200,
      "column": 14,
      "match": "are used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::200:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 206,
      "column": 1,
      "match": "### Void Return Detection",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::206:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 210,
      "column": 94,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::210:94::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 210,
      "column": 58,
      "match": "are logged",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::210:58::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 210,
      "column": 146,
      "match": "be treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::210:146::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 361 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/40-validateUseMemo.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 19,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::9:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 17,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::10:17::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 15,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::12:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 20,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::15:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 16,
      "column": 24,
      "match": "been resolved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::16:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 36,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::17:36::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 19,
      "column": 1,
      "match": "## Value Kinds Lattice",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::19:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 39,
      "column": 19,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::39:19::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 21,
      "match": "be referenced",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::47:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 12,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::63:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 78,
      "column": 25,
      "match": "are guaranteed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::78:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 129,
      "column": 20,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::129:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 165,
      "column": 1,
      "match": "### Phi Node Handling",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::165:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 185,
      "column": 35,
      "match": "are treated",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::185:35::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 212,
      "column": 68,
      "match": "is recorded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::212:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "13 bolded spans in 425 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/41-validateHooksUsage.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 7,
      "column": 212,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::7:212::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 129,
      "match": "are conventionally reserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::7:129::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 186,
      "match": "be invoked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::7:186::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 44,
      "match": "be rendered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::11:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 20,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::17:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 24,
      "match": "been resolved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::18:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 57,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::19:57::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 60,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::24:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 39,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::34:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 123,
      "column": 44,
      "match": "are automatically allowlisted",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::123:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 136,
      "column": 56,
      "match": "are checked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::136:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 142,
      "column": 1,
      "match": "### Chained Property Access",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::142:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 143,
      "column": 29,
      "match": "being called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::143:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 143,
      "column": 42,
      "match": "is checked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::143:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "8 bolded spans in 262 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/42-validateNoCapitalizedCalls.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 138,
      "match": "is reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::7:138::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 119,
      "match": "is reused",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::9:119::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 21,
      "match": "is reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::12:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 20,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::17:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 16,
      "match": "been inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::18:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 28,
      "match": "been analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::19:28::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 18,
      "match": "be reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::24:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 60,
      "match": "be called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::24:60::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 18,
      "match": "be reassigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::34:18::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 75,
      "match": "are captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::46:75::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 135,
      "column": 29,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::135:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 167,
      "column": 72,
      "match": "be checked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::167:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 180,
      "column": 1,
      "match": "### Nested Async Functions",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::180:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 194,
      "column": 27,
      "match": "is captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::194:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 214,
      "column": 1,
      "match": "### Direct Effect Usage",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/43-validateLocalsNotReassignedAfterRender.md::214:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 55,
      "column": 26,
      "match": "is allowed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md::55:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 133,
      "column": 124,
      "match": "is assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md::133:124::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 322 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/44-validateNoSetStateInRender.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 21,
      "match": "be identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::13:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 27,
      "match": "be identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::14:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 41,
      "column": 38,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::41:38::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 34,
      "match": "are actually used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::41:34::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 22,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::46:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 24,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::47:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 154,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/45-validateNoDerivedComputationsInEffects.md::51:154::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 21,
      "match": "be identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::13:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 27,
      "match": "be identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::14:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 31,
      "column": 67,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::31:67::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 38,
      "column": 142,
      "match": "function as",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::38:142::style-doctor/copula-avoidance"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 40,
      "column": 92,
      "match": "is tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::40:92::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 43,
      "column": 76,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::43:76::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 45,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::48:45::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 23,
      "match": "is derived",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::49:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 50,
      "column": 33,
      "match": "is controlled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::50:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "11 bolded spans in 322 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/46-validateNoSetStateInEffects.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 207,
      "match": "is created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::7:207::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 262,
      "match": "be rendered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::7:262::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 305,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::7:305::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 10,
      "match": "are traversed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::13:10::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 41,
      "column": 27,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::41:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 129,
      "column": 269,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::129:269::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 129,
      "column": 45,
      "match": "is created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::129:45::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "10 bolded spans in 410 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/47-validateNoJSXInTryStatement.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 25,
      "match": "been computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::13:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 29,
      "column": 27,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::29:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 42,
      "match": "are allowed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::70:42::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 71,
      "column": 16,
      "match": "are excluded",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::71:16::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 75,
      "column": 1,
      "match": "### Impure Values Through Helper Functions",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::75:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 76,
      "column": 125,
      "match": "are reported",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::76:125::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 88,
      "column": 1,
      "match": "### Indirect Impurity Through Mutation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::88:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 89,
      "column": 22,
      "match": "is captured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::89:22::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 99,
      "column": 1,
      "match": "### Phi Node Propagation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::99:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 180,
      "column": 12,
      "match": "is enabled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/48-validateNoImpureValuesInRender.md::180:12::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 13,
      "match": "are properly identified",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::13:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 14,
      "column": 29,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::14:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 37,
      "column": 10,
      "match": "is initialized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::37:10::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 144,
      "column": 1,
      "match": "### Negated Null Check",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::144:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 179,
      "column": 40,
      "match": "are recognized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::179:40::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 266,
      "column": 30,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::266:30::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 266,
      "column": 77,
      "match": "are called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::266:77::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "8 bolded spans in 384 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/49-validateNoRefAccessInRender.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 151,
      "match": "is expected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::7:151::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 280,
      "match": "is called",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::9:280::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 9,
      "column": 176,
      "match": "there is",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::9:176::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 13,
      "column": 55,
      "match": "been computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::13:55::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 89,
      "match": "is passed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::19:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 85,
      "match": "is passed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::20:85::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 89,
      "match": "is returned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::21:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 89,
      "match": "are allowed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::23:89::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 180,
      "column": 1,
      "match": "### Nested Function Expressions",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::180:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 283,
      "column": 39,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/50-validateNoFreezingKnownMutableFunctions.md::283:39::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 10,
      "column": 79,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::10:79::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 11,
      "column": 97,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::11:97::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 94,
      "match": "is actually used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::11:94::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 142,
      "match": "is accessed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::11:142::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 33,
      "match": "been parsed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::17:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 18,
      "column": 29,
      "match": "been computed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::18:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 32,
      "match": "been analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::19:32::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 68,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::24:68::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 57,
      "match": "is listed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::25:57::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 28,
      "column": 85,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::28:85::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 29,
      "column": 61,
      "match": "be listed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::29:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 32,
      "column": 143,
      "match": "be listed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::32:143::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 47,
      "column": 56,
      "match": "be included",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::47:56::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 61,
      "match": "be listed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::48:61::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 150,
      "column": 1,
      "match": "### Dependency Matching Rules",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::150:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 151,
      "column": 14,
      "match": "is inferred",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::151:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 152,
      "column": 21,
      "match": "is handled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::152:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 198,
      "column": 1,
      "match": "### Valid Dependency Specifications",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::198:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 207,
      "column": 20,
      "match": "be configured",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::207:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 373,
      "column": 27,
      "match": "are tracked",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::373:27::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 374,
      "column": 71,
      "match": "be listed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::374:71::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "15 bolded spans in 598 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/51-validateExhaustiveDependencies.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 104,
      "match": "is accurately preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::7:104::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 203,
      "match": "be memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::7:203::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 15,
      "match": "been assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::12:15::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 32,
      "column": 21,
      "match": "is memoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::32:21::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 33,
      "column": 35,
      "match": "actually",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::33:35::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 44,
      "column": 46,
      "match": "were pruned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::44:46::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 81,
      "column": 26,
      "match": "is unmemoized",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::81:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 83,
      "column": 1,
      "match": "### Dependency Comparison Results",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::83:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 97,
      "column": 14,
      "match": "is inlined",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::97:14::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 102,
      "column": 1,
      "match": "### More Specific Dependencies",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::102:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 152,
      "column": 49,
      "match": "is conditionally assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::152:49::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 152,
      "column": 235,
      "match": "be preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/53-validatePreservedManualMemoization.md::152:235::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 24,
      "match": "been lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::12:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 22,
      "column": 24,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::22:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 24,
      "match": "was originally created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::23:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 115,
      "match": "are dynamically created",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::34:115::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 50,
      "column": 1,
      "match": "### Data Flow Tracking",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::50:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 58,
      "column": 1,
      "match": "### Conditionally Assigned Components",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::58:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 70,
      "column": 85,
      "match": "is considered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::70:85::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 140,
      "column": 114,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::140:114::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "9 bolded spans in 416 words",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/54-validateStaticComponents.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 66,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::9:66::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 107,
      "match": "are preserved",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::17:107::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 35,
      "column": 1,
      "match": "### Important Node Types",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::35:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 36,
      "column": 26,
      "match": "are considered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::36:26::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 68,
      "column": 1,
      "match": "### Strict Node Types",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::68:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 90,
      "column": 1,
      "match": "### Location Key Format",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::90:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 100,
      "column": 1,
      "match": "### Manual Memoization Removal",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::100:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 101,
      "column": 130,
      "match": "are detected",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::101:130::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 197,
      "column": 191,
      "match": "were executed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::197:191::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 199,
      "column": 24,
      "match": "is prefixed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::199:24::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 199,
      "column": 107,
      "match": "be addressed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/55-validateSourceLocations.md::199:107::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# React Compiler Passes Documentation",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 225,
      "column": 1,
      "match": "## Key Data Structures",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::225:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 31,
      "match": "being compiled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::231:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 243,
      "column": 25,
      "match": "being assigned",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::243:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 249,
      "column": 29,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::249:29::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 253,
      "column": 11,
      "match": "is analyzed",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::253:11::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 271,
      "column": 13,
      "match": "are controlled",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::271:13::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 307,
      "column": 100,
      "match": "rather",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::307:100::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 309,
      "column": 25,
      "match": "are wrapped",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::309:25::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 311,
      "column": 153,
      "match": "are lowered",
      "id": "compiler/packages/babel-plugin-react-compiler/docs/passes/README.md::311:153::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 423,
      "match": "are ultimately grouped",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::3:423::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 44,
      "match": "is compromised",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::25:44::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 28,
      "column": 252,
      "match": "in order to",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::28:252::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 105,
      "match": "is used",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::63:105::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 88,
      "column": 23,
      "match": "be transitively mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::88:23::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 89,
      "column": 20,
      "match": "be captured",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::89:20::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 182,
      "match": "are dropped",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::105:182::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 119,
      "column": 394,
      "match": "be paired",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::119:394::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 131,
      "column": 51,
      "match": "is stored",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::131:51::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 146,
      "column": 9,
      "match": "somewhat",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::146:9::style-doctor/weasel-word"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 176,
      "column": 33,
      "match": "been passed",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::176:33::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 176,
      "column": 298,
      "match": "been passed",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::176:298::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 176,
      "column": 388,
      "match": "be assumed",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::176:388::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 193,
      "column": 288,
      "match": "are mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::193:288::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 212,
      "column": 31,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::212:31::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 225,
      "column": 343,
      "match": "are passed",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::225:343::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 227,
      "column": 1,
      "match": "There is",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::227:1::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 231,
      "column": 10,
      "match": "there are",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::231:10::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 233,
      "column": 101,
      "match": "be mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::233:101::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 317,
      "column": 48,
      "match": "is mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::317:48::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 400,
      "column": 1,
      "match": "### Freeze Freezes The Reference",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::400:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 402,
      "column": 94,
      "match": "be used",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::402:94::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 430,
      "column": 1,
      "match": "In order to",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::430:1::style-doctor/wordy-phrase"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 525,
      "column": 1,
      "match": "### Capture And CreateFrom",
      "id": "compiler/packages/babel-plugin-react-compiler/src/Inference/MUTABILITY_ALIASING_MODEL.md::525:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/align-scopes-within-nested-valueblock-in-array.tsx",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 38,
      "match": "be aligned",
      "id": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/align-scopes-within-nested-valueblock-in-array.tsx::9:38::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/fbt/repro-macro-property-not-handled.expect.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 79,
      "column": 12,
      "match": "There are",
      "id": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/fbt/repro-macro-property-not-handled.expect.md::79:12::style-doctor/there-is"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/jsx-bracket-in-text.expect.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 72,
      "match": "be replaced",
      "id": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/jsx-bracket-in-text.expect.md::51:72::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/mutation-within-jsx.tsx",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 10,
      "column": 4,
      "match": "be mutated",
      "id": "compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/mutation-within-jsx.tsx::10:4::style-doctor/passive-voice"
    },
    {
      "filePath": "compiler/packages/snap/src/sprout/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 77,
      "column": 114,
      "match": "being annotated",
      "id": "compiler/packages/snap/src/sprout/README.md::77:114::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/attribute-behavior/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Attribute Behavior Fixture",
      "id": "fixtures/attribute-behavior/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/attribute-behavior/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 6,
      "column": 3,
      "match": "There are",
      "id": "fixtures/attribute-behavior/README.md::6:3::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/attribute-behavior/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 34,
      "match": "be passed",
      "id": "fixtures/attribute-behavior/README.md::17:34::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/attribute-behavior/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 14,
      "match": "was bootstrapped",
      "id": "fixtures/attribute-behavior/README.md::28:14::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/concurrent/time-slicing/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 14,
      "match": "being tested",
      "id": "fixtures/concurrent/time-slicing/README.md::11:14::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/concurrent/time-slicing/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 77,
      "match": "been released",
      "id": "fixtures/concurrent/time-slicing/README.md::11:77::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/concurrent/time-slicing/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 13,
      "column": 1,
      "match": "There are",
      "id": "fixtures/concurrent/time-slicing/README.md::13:1::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/dom/src/components/fixtures/text-inputs/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 3,
      "column": 1,
      "match": "There are",
      "id": "fixtures/dom/src/components/fixtures/text-inputs/README.md::3:1::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/dom/src/components/fixtures/text-inputs/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 20,
      "column": 58,
      "match": "is modified",
      "id": "fixtures/dom/src/components/fixtures/text-inputs/README.md::20:58::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/dom/src/components/fixtures/text-inputs/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 33,
      "column": 15,
      "match": "is manipulated",
      "id": "fixtures/dom/src/components/fixtures/text-inputs/README.md::33:15::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/dom/src/components/fixtures/text-inputs/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 38,
      "match": "are changed",
      "id": "fixtures/dom/src/components/fixtures/text-inputs/README.md::62:38::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/expiration/public/index.html",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 33,
      "column": 40,
      "match": "there is",
      "id": "fixtures/expiration/public/index.html::33:40::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/fiber-debugger/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 23,
      "match": "be used",
      "id": "fixtures/fiber-debugger/README.md::5:23::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/fiber-debugger/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 16,
      "match": "is displayed",
      "id": "fixtures/fiber-debugger/README.md::21:16::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/flight-ssr-bench/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Flight SSR Benchmark",
      "id": "fixtures/flight-ssr-bench/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/legacy-jsx-runtimes/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Legacy JSX Runtimes",
      "id": "fixtures/legacy-jsx-runtimes/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/legacy-jsx-runtimes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 6,
      "match": "are checked",
      "id": "fixtures/legacy-jsx-runtimes/README.md::5:6::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Nested React Demo",
      "id": "fixtures/nesting/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 168,
      "match": "be used",
      "id": "fixtures/nesting/README.md::3:168::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 5,
      "column": 1,
      "match": "## You Probably Don't Need This",
      "id": "fixtures/nesting/README.md::5:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 9,
      "column": 238,
      "match": "there are",
      "id": "fixtures/nesting/README.md::9:238::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "intensifier-cluster",
      "severity": "warning",
      "category": "Filler",
      "title": "Overused intensifier",
      "message": "Everything is \"crucial\" in LLM prose.",
      "help": "Reserve it for what truly is; else cut.",
      "line": 11,
      "column": 73,
      "match": "essential",
      "id": "fixtures/nesting/README.md::11:73::style-doctor/intensifier-cluster"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 285,
      "match": "be confused",
      "id": "fixtures/nesting/README.md::15:285::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 392,
      "match": "been migrated",
      "id": "fixtures/nesting/README.md::17:392::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 54,
      "match": "be used",
      "id": "fixtures/nesting/README.md::19:54::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 488,
      "match": "be removed",
      "id": "fixtures/nesting/README.md::25:488::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 475,
      "match": "be adjusted",
      "id": "fixtures/nesting/README.md::27:475::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 134,
      "match": "being loaded",
      "id": "fixtures/nesting/README.md::48:134::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 163,
      "match": "is rendered",
      "id": "fixtures/nesting/README.md::48:163::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 157,
      "match": "are loaded",
      "id": "fixtures/nesting/README.md::49:157::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 59,
      "column": 1,
      "match": "## How It Works",
      "id": "fixtures/nesting/README.md::59:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 61,
      "column": 19,
      "match": "extremely",
      "id": "fixtures/nesting/README.md::61:19::style-doctor/weasel-word"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 69,
      "column": 227,
      "match": "are used",
      "id": "fixtures/nesting/README.md::69:227::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "intensifier-cluster",
      "severity": "warning",
      "category": "Filler",
      "title": "Overused intensifier",
      "message": "Everything is \"crucial\" in LLM prose.",
      "help": "Reserve it for what truly is; else cut.",
      "line": 73,
      "column": 109,
      "match": "essential",
      "id": "fixtures/nesting/README.md::73:109::style-doctor/intensifier-cluster"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 73,
      "column": 164,
      "match": "are included",
      "id": "fixtures/nesting/README.md::73:164::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 77,
      "column": 1,
      "match": "There are",
      "id": "fixtures/nesting/README.md::77:1::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 86,
      "column": 236,
      "match": "is rarely visited",
      "id": "fixtures/nesting/README.md::86:236::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 86,
      "column": 174,
      "match": "there is",
      "id": "fixtures/nesting/README.md::86:174::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 114,
      "column": 25,
      "match": "is only rendered",
      "id": "fixtures/nesting/README.md::114:25::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 65,
      "match": "is included",
      "id": "fixtures/nesting/README.md::130:65::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 140,
      "column": 86,
      "match": "are combined",
      "id": "fixtures/nesting/README.md::140:86::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 140,
      "column": 125,
      "match": "is passed",
      "id": "fixtures/nesting/README.md::140:125::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 143,
      "column": 47,
      "match": "somewhat",
      "id": "fixtures/nesting/README.md::143:47::style-doctor/weasel-word"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 159,
      "column": 98,
      "match": "are automatically copied",
      "id": "fixtures/nesting/README.md::159:98::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 159,
      "column": 92,
      "match": "there are",
      "id": "fixtures/nesting/README.md::159:92::style-doctor/there-is"
    },
    {
      "filePath": "fixtures/nesting/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 160,
      "column": 126,
      "match": "be duplicated",
      "id": "fixtures/nesting/README.md::160:126::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/owner-stacks/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 14,
      "match": "was bootstrapped",
      "id": "fixtures/owner-stacks/README.md::3:14::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/owner-stacks/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 27,
      "column": 11,
      "match": "is minified",
      "id": "fixtures/owner-stacks/README.md::27:11::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/owner-stacks/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 22,
      "match": "be deployed",
      "id": "fixtures/owner-stacks/README.md::28:22::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/packaging/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Manual Testing Fixtures",
      "id": "fixtures/packaging/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "fixtures/scheduler/index.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 32,
      "match": "be used",
      "id": "fixtures/scheduler/index.html::21:32::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/scheduler/index.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 95,
      "column": 17,
      "match": "was removed",
      "id": "fixtures/scheduler/index.html::95:17::style-doctor/passive-voice"
    },
    {
      "filePath": "fixtures/scheduler/index.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 95,
      "column": 67,
      "match": "was removed",
      "id": "fixtures/scheduler/index.html::95:67::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 6,
      "column": 1,
      "match": "There are",
      "id": "packages/dom-event-testing-library/README.md::6:1::style-doctor/there-is"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 23,
      "match": "is designed",
      "id": "packages/dom-event-testing-library/README.md::19:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 42,
      "match": "is produced",
      "id": "packages/dom-event-testing-library/README.md::63:42::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 69,
      "column": 58,
      "match": "very",
      "id": "packages/dom-event-testing-library/README.md::69:58::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 74,
      "column": 16,
      "match": "are provided",
      "id": "packages/dom-event-testing-library/README.md::74:16::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/dom-event-testing-library/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 75,
      "column": 6,
      "match": "be customized",
      "id": "packages/dom-event-testing-library/README.md::75:6::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 29,
      "column": 123,
      "match": "are enabled",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::29:123::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "cutting-edge",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Empty superlative \"cutting-edge\"",
      "message": "\"cutting-edge\" carries no information.",
      "help": "Name the specific capability.",
      "line": 31,
      "column": 264,
      "match": "bleeding edge",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::31:264::style-doctor/cutting-edge"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 31,
      "column": 1,
      "match": "- **Breaking:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::31:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 37,
      "column": 88,
      "match": "been converted",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::37:88::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 46,
      "column": 25,
      "match": "was mistakenly released",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::46:25::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 48,
      "column": 1,
      "match": "- **Breaking:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::48:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 49,
      "column": 1,
      "match": "- **Breaking:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::49:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 50,
      "column": 1,
      "match": "- **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::50:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 51,
      "column": 1,
      "match": "- **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::51:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 53,
      "column": 90,
      "match": "are used",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::53:90::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 73,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::73:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 119,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::119:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 122,
      "column": 47,
      "match": "be considered",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::122:47::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 142,
      "column": 55,
      "match": "being considered",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::142:55::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 149,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::149:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 150,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::150:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 151,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::151:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 159,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::159:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 168,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::168:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 169,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::169:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 174,
      "column": 1,
      "match": "* **New Violations:**",
      "id": "packages/eslint-plugin-react-hooks/CHANGELOG.md::174:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/README.md",
      "plugin": "style-doctor",
      "rule": "cutting-edge",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Empty superlative \"cutting-edge\"",
      "message": "\"cutting-edge\" carries no information.",
      "help": "Name the specific capability.",
      "line": 31,
      "column": 20,
      "match": "bleeding edge",
      "id": "packages/eslint-plugin-react-hooks/README.md::31:20::style-doctor/cutting-edge"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 45,
      "column": 78,
      "match": "be used",
      "id": "packages/eslint-plugin-react-hooks/README.md::45:78::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 23,
      "match": "be configured",
      "id": "packages/eslint-plugin-react-hooks/README.md::128:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 142,
      "column": 33,
      "match": "very",
      "id": "packages/eslint-plugin-react-hooks/README.md::142:33::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/eslint-plugin-react-hooks/src/code-path-analysis/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Code Path Analyzer",
      "id": "packages/eslint-plugin-react-hooks/src/code-path-analysis/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-cache/README.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 3,
      "column": 47,
      "match": "serves as",
      "id": "packages/react-cache/README.md::3:47::style-doctor/copula-avoidance"
    },
    {
      "filePath": "packages/react-cache/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 6,
      "column": 26,
      "match": "be used",
      "id": "packages/react-cache/README.md::6:26::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-cache/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 14,
      "column": 7,
      "match": "Really",
      "id": "packages/react-cache/README.md::14:7::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 24,
      "column": 65,
      "match": "is installed",
      "id": "packages/react-devtools-cdt-mcp/README.md::24:65::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 59,
      "column": 63,
      "match": "are listed",
      "id": "packages/react-devtools-cdt-mcp/README.md::59:63::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 69,
      "column": 25,
      "match": "are identified",
      "id": "packages/react-devtools-cdt-mcp/README.md::69:25::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 82,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::82:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 84,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::84:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 92,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::92:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 94,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::94:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 95,
      "column": 16,
      "match": "is normalized",
      "id": "packages/react-devtools-cdt-mcp/README.md::95:16::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 105,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::105:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 108,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::108:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 114,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::114:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 116,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::116:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 123,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::123:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 124,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::124:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 125,
      "column": 28,
      "match": "be determined",
      "id": "packages/react-devtools-cdt-mcp/README.md::125:28::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 132,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::132:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 133,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::133:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 137,
      "column": 42,
      "match": "is mounted",
      "id": "packages/react-devtools-cdt-mcp/README.md::137:42::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 140,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::140:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 141,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::141:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 149,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::149:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 150,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::150:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 158,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::158:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 159,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::159:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 165,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::165:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 166,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::166:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 173,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::173:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 174,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::174:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 182,
      "column": 1,
      "match": "- **Input:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::182:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 184,
      "column": 1,
      "match": "- **Output:**",
      "id": "packages/react-devtools-cdt-mcp/README.md::184:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/README.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "31 bolded spans in 615 words",
      "id": "packages/react-devtools-cdt-mcp/README.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "packages/react-devtools-cdt-mcp/fixtures/app/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 14,
      "match": "are resolved",
      "id": "packages/react-devtools-cdt-mcp/fixtures/app/README.md::12:14::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 97,
      "match": "are described",
      "id": "packages/react-devtools-core/README.md::5:97::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 9,
      "column": 126,
      "match": "in order to",
      "id": "packages/react-devtools-core/README.md::9:126::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 102,
      "match": "are used",
      "id": "packages/react-devtools-core/README.md::30:102::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 30,
      "column": 245,
      "match": "be patched",
      "id": "packages/react-devtools-core/README.md::30:245::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 50,
      "column": 156,
      "match": "rather",
      "id": "packages/react-devtools-core/README.md::50:156::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 57,
      "column": 185,
      "match": "is added",
      "id": "packages/react-devtools-core/README.md::57:185::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 63,
      "column": 65,
      "match": "be called",
      "id": "packages/react-devtools-core/README.md::63:65::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 72,
      "column": 46,
      "match": "be called",
      "id": "packages/react-devtools-core/README.md::72:46::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 74,
      "column": 96,
      "match": "be used",
      "id": "packages/react-devtools-core/README.md::74:96::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 78,
      "column": 19,
      "match": "be used",
      "id": "packages/react-devtools-core/README.md::78:19::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 124,
      "column": 40,
      "match": "be rendered",
      "id": "packages/react-devtools-core/README.md::124:40::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 127,
      "column": 24,
      "match": "be notified",
      "id": "packages/react-devtools-core/README.md::127:24::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 130,
      "column": 70,
      "match": "be used",
      "id": "packages/react-devtools-core/README.md::130:70::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 133,
      "column": 24,
      "match": "be notified",
      "id": "packages/react-devtools-core/README.md::133:24::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-core/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 154,
      "column": 73,
      "match": "be included",
      "id": "packages/react-devtools-core/README.md::154:73::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-extensions/deploy.html",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 31,
      "column": 115,
      "match": "in order to",
      "id": "packages/react-devtools-extensions/deploy.html::31:115::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/react-devtools-extensions/panel.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 61,
      "column": 97,
      "match": "been loaded",
      "id": "packages/react-devtools-extensions/panel.html::61:97::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-extensions/popups/deadcode.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 120,
      "match": "been applied",
      "id": "packages/react-devtools-extensions/popups/deadcode.html::17:120::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-extensions/popups/unminified.html",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 43,
      "match": "be unminified",
      "id": "packages/react-devtools-extensions/popups/unminified.html::21:43::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-facade/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 46,
      "match": "are surfaced",
      "id": "packages/react-devtools-facade/README.md::11:46::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-facade/README.md",
      "plugin": "style-doctor",
      "rule": "em-dash-density",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Em-dash overuse",
      "message": "A high em-dash rate is a common LLM tell.",
      "help": "Replace some with periods or commas.",
      "line": 1,
      "column": 1,
      "match": "3 em-dashes in 175 words",
      "id": "packages/react-devtools-facade/README.md::1:1::style-doctor/em-dash-density"
    },
    {
      "filePath": "packages/react-devtools-facade/README.md",
      "plugin": "style-doctor",
      "rule": "bold-density",
      "severity": "warning",
      "category": "Formatting",
      "title": "Bold-text overuse",
      "message": "Frequent bolding is a common LLM formatting tell.",
      "help": "Reserve bold for genuine emphasis; use fewer spans.",
      "line": 1,
      "column": 1,
      "match": "4 bolded spans in 175 words",
      "id": "packages/react-devtools-facade/README.md::1:1::style-doctor/bold-density"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 18,
      "match": "be used",
      "id": "packages/react-devtools-inline/README.md::3:18::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 15,
      "column": 102,
      "match": "be installed",
      "id": "packages/react-devtools-inline/README.md::15:102::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 30,
      "match": "be initialized",
      "id": "packages/react-devtools-inline/README.md::17:30::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 86,
      "match": "be activated",
      "id": "packages/react-devtools-inline/README.md::17:86::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 32,
      "match": "are supported",
      "id": "packages/react-devtools-inline/README.md::23:32::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 65,
      "match": "be called",
      "id": "packages/react-devtools-inline/README.md::34:65::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 104,
      "match": "been initialized",
      "id": "packages/react-devtools-inline/README.md::34:104::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 56,
      "column": 94,
      "match": "was injected",
      "id": "packages/react-devtools-inline/README.md::56:94::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 56,
      "column": 160,
      "match": "be rendered",
      "id": "packages/react-devtools-inline/README.md::56:160::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 77,
      "column": 318,
      "match": "is enabled",
      "id": "packages/react-devtools-inline/README.md::77:318::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 94,
      "column": 141,
      "match": "there are",
      "id": "packages/react-devtools-inline/README.md::94:141::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 182,
      "column": 170,
      "match": "be rendered",
      "id": "packages/react-devtools-inline/README.md::182:170::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-inline/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 248,
      "column": 59,
      "match": "be used",
      "id": "packages/react-devtools-inline/README.md::248:59::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-shared/src/hooks/__tests__/__source__/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1,
      "column": 56,
      "match": "are used",
      "id": "packages/react-devtools-shared/src/hooks/__tests__/__source__/README.md::1:56::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1,
      "column": 123,
      "match": "are used",
      "id": "packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/README.md::1:123::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 12,
      "column": 31,
      "match": "been removed",
      "id": "packages/react-devtools/CHANGELOG.md::12:31::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 48,
      "column": 52,
      "match": "is supplied",
      "id": "packages/react-devtools/CHANGELOG.md::48:52::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 174,
      "column": 30,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::174:30::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 242,
      "column": 69,
      "match": "be used",
      "id": "packages/react-devtools/CHANGELOG.md::242:69::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 346,
      "column": 85,
      "match": "is loaded",
      "id": "packages/react-devtools/CHANGELOG.md::346:85::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 355,
      "column": 70,
      "match": "is loaded",
      "id": "packages/react-devtools/CHANGELOG.md::355:70::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 368,
      "column": 62,
      "match": "rather",
      "id": "packages/react-devtools/CHANGELOG.md::368:62::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 384,
      "column": 23,
      "match": "is unmounted",
      "id": "packages/react-devtools/CHANGELOG.md::384:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 386,
      "column": 24,
      "match": "be closed",
      "id": "packages/react-devtools/CHANGELOG.md::386:24::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 408,
      "column": 45,
      "match": "is reopened",
      "id": "packages/react-devtools/CHANGELOG.md::408:45::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 494,
      "column": 21,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::494:21::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 494,
      "column": 58,
      "match": "is selected",
      "id": "packages/react-devtools/CHANGELOG.md::494:58::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 641,
      "column": 209,
      "match": "be prompted",
      "id": "packages/react-devtools/CHANGELOG.md::641:209::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 707,
      "column": 44,
      "match": "is connected",
      "id": "packages/react-devtools/CHANGELOG.md::707:44::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 716,
      "column": 73,
      "match": "are detected",
      "id": "packages/react-devtools/CHANGELOG.md::716:73::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 814,
      "column": 23,
      "match": "be extracted",
      "id": "packages/react-devtools/CHANGELOG.md::814:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 819,
      "column": 21,
      "match": "is correctly cleared",
      "id": "packages/react-devtools/CHANGELOG.md::819:21::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 820,
      "column": 14,
      "match": "are correctly extracted",
      "id": "packages/react-devtools/CHANGELOG.md::820:14::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 850,
      "column": 330,
      "match": "actually",
      "id": "packages/react-devtools/CHANGELOG.md::850:330::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 850,
      "column": 167,
      "match": "there are",
      "id": "packages/react-devtools/CHANGELOG.md::850:167::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 858,
      "column": 212,
      "match": "be released",
      "id": "packages/react-devtools/CHANGELOG.md::858:212::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 864,
      "column": 108,
      "match": "are rendered",
      "id": "packages/react-devtools/CHANGELOG.md::864:108::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 876,
      "column": 132,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::876:132::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 876,
      "column": 176,
      "match": "be improved",
      "id": "packages/react-devtools/CHANGELOG.md::876:176::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 878,
      "column": 126,
      "match": "be unmounted",
      "id": "packages/react-devtools/CHANGELOG.md::878:126::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 917,
      "column": 77,
      "match": "be untracked",
      "id": "packages/react-devtools/CHANGELOG.md::917:77::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 929,
      "column": 30,
      "match": "be dismissed",
      "id": "packages/react-devtools/CHANGELOG.md::929:30::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 931,
      "column": 54,
      "match": "was logged",
      "id": "packages/react-devtools/CHANGELOG.md::931:54::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 963,
      "column": 49,
      "match": "rather",
      "id": "packages/react-devtools/CHANGELOG.md::963:49::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1026,
      "column": 21,
      "match": "is allowed",
      "id": "packages/react-devtools/CHANGELOG.md::1026:21::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1045,
      "column": 24,
      "match": "are only enabled",
      "id": "packages/react-devtools/CHANGELOG.md::1045:24::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1123,
      "column": 26,
      "match": "be safely dehydrated",
      "id": "packages/react-devtools/CHANGELOG.md::1123:26::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1128,
      "column": 50,
      "match": "is filtered",
      "id": "packages/react-devtools/CHANGELOG.md::1128:50::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1129,
      "column": 42,
      "match": "is filtered",
      "id": "packages/react-devtools/CHANGELOG.md::1129:42::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1145,
      "column": 25,
      "match": "been relaxed",
      "id": "packages/react-devtools/CHANGELOG.md::1145:25::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1149,
      "column": 16,
      "match": "be added",
      "id": "packages/react-devtools/CHANGELOG.md::1149:16::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1149,
      "column": 82,
      "match": "be deleted",
      "id": "packages/react-devtools/CHANGELOG.md::1149:82::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1153,
      "column": 14,
      "match": "be added",
      "id": "packages/react-devtools/CHANGELOG.md::1153:14::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1153,
      "column": 74,
      "match": "be renamed",
      "id": "packages/react-devtools/CHANGELOG.md::1153:74::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 1192,
      "column": 36,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::1192:36::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 1197,
      "column": 15,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::1197:15::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 1204,
      "column": 29,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::1204:29::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 1234,
      "column": 47,
      "match": "rather",
      "id": "packages/react-devtools/CHANGELOG.md::1234:47::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1239,
      "column": 29,
      "match": "are filtered",
      "id": "packages/react-devtools/CHANGELOG.md::1239:29::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "superficial-ing",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "Superficial-analysis \"-ing\" filler",
      "message": "These \"-ing\" connectives gesture at analysis without adding any.",
      "help": "State the actual point instead.",
      "line": 1269,
      "column": 88,
      "match": "highlighting",
      "id": "packages/react-devtools/CHANGELOG.md::1269:88::style-doctor/superficial-ing"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 1336,
      "column": 54,
      "match": "rather",
      "id": "packages/react-devtools/CHANGELOG.md::1336:54::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1361,
      "column": 62,
      "match": "is applied",
      "id": "packages/react-devtools/CHANGELOG.md::1361:62::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1368,
      "column": 97,
      "match": "be inspected",
      "id": "packages/react-devtools/CHANGELOG.md::1368:97::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1398,
      "column": 150,
      "match": "been effectively eliminated",
      "id": "packages/react-devtools/CHANGELOG.md::1398:150::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1408,
      "column": 8,
      "match": "be disabled",
      "id": "packages/react-devtools/CHANGELOG.md::1408:8::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1424,
      "column": 20,
      "match": "are remembered",
      "id": "packages/react-devtools/CHANGELOG.md::1424:20::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1448,
      "column": 39,
      "match": "is called",
      "id": "packages/react-devtools/CHANGELOG.md::1448:39::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1462,
      "column": 73,
      "match": "be edited",
      "id": "packages/react-devtools/CHANGELOG.md::1462:73::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1462,
      "column": 107,
      "match": "be drilled",
      "id": "packages/react-devtools/CHANGELOG.md::1462:107::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 1476,
      "column": 294,
      "match": "in order to",
      "id": "packages/react-devtools/CHANGELOG.md::1476:294::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1494,
      "column": 170,
      "match": "be used",
      "id": "packages/react-devtools/CHANGELOG.md::1494:170::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 1506,
      "column": 192,
      "match": "there was",
      "id": "packages/react-devtools/CHANGELOG.md::1506:192::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1514,
      "column": 23,
      "match": "be exported",
      "id": "packages/react-devtools/CHANGELOG.md::1514:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1526,
      "column": 62,
      "match": "be disabled",
      "id": "packages/react-devtools/CHANGELOG.md::1526:62::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/CHANGELOG.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 1530,
      "column": 161,
      "match": "be used",
      "id": "packages/react-devtools/CHANGELOG.md::1530:161::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 17,
      "column": 185,
      "match": "are encoded",
      "id": "packages/react-devtools/OVERVIEW.md::17:185::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 23,
      "column": 18,
      "match": "is encoded",
      "id": "packages/react-devtools/OVERVIEW.md::23:18::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 105,
      "column": 19,
      "match": "were removed",
      "id": "packages/react-devtools/OVERVIEW.md::105:19::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 139,
      "column": 189,
      "match": "in order to",
      "id": "packages/react-devtools/OVERVIEW.md::139:189::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 139,
      "column": 77,
      "match": "is added",
      "id": "packages/react-devtools/OVERVIEW.md::139:77::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 173,
      "column": 270,
      "match": "actually",
      "id": "packages/react-devtools/OVERVIEW.md::173:270::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 173,
      "column": 377,
      "match": "been applied",
      "id": "packages/react-devtools/OVERVIEW.md::173:377::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 213,
      "column": 300,
      "match": "be adjusted",
      "id": "packages/react-devtools/OVERVIEW.md::213:300::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 213,
      "column": 331,
      "match": "are added",
      "id": "packages/react-devtools/OVERVIEW.md::213:331::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 264,
      "column": 17,
      "match": "is mounted",
      "id": "packages/react-devtools/OVERVIEW.md::264:17::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 266,
      "column": 88,
      "match": "is selected",
      "id": "packages/react-devtools/OVERVIEW.md::266:88::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 266,
      "column": 260,
      "match": "being inspected",
      "id": "packages/react-devtools/OVERVIEW.md::266:260::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 270,
      "column": 209,
      "match": "is updated",
      "id": "packages/react-devtools/OVERVIEW.md::270:209::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 274,
      "column": 344,
      "match": "are remembered",
      "id": "packages/react-devtools/OVERVIEW.md::274:344::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 278,
      "column": 111,
      "match": "essentially",
      "id": "packages/react-devtools/OVERVIEW.md::278:111::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 280,
      "column": 250,
      "match": "are called",
      "id": "packages/react-devtools/OVERVIEW.md::280:250::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 289,
      "column": 57,
      "match": "are rendered",
      "id": "packages/react-devtools/OVERVIEW.md::289:57::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 289,
      "column": 92,
      "match": "be analyzed",
      "id": "packages/react-devtools/OVERVIEW.md::289:92::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 291,
      "column": 13,
      "match": "is throttled",
      "id": "packages/react-devtools/OVERVIEW.md::291:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 292,
      "column": 13,
      "match": "is skipped",
      "id": "packages/react-devtools/OVERVIEW.md::292:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 292,
      "column": 97,
      "match": "were inspected",
      "id": "packages/react-devtools/OVERVIEW.md::292:97::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 296,
      "column": 112,
      "match": "is explained",
      "id": "packages/react-devtools/OVERVIEW.md::296:112::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 296,
      "column": 246,
      "match": "be accomplished",
      "id": "packages/react-devtools/OVERVIEW.md::296:246::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 300,
      "column": 39,
      "match": "is stored",
      "id": "packages/react-devtools/OVERVIEW.md::300:39::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 311,
      "column": 62,
      "match": "in order to",
      "id": "packages/react-devtools/OVERVIEW.md::311:62::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 311,
      "column": 165,
      "match": "been completed",
      "id": "packages/react-devtools/OVERVIEW.md::311:165::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 315,
      "column": 16,
      "match": "is finished",
      "id": "packages/react-devtools/OVERVIEW.md::315:16::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 315,
      "column": 421,
      "match": "are lazily computed",
      "id": "packages/react-devtools/OVERVIEW.md::315:421::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 315,
      "column": 512,
      "match": "are selected",
      "id": "packages/react-devtools/OVERVIEW.md::315:512::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 319,
      "column": 25,
      "match": "is merged",
      "id": "packages/react-devtools/OVERVIEW.md::319:25::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 319,
      "column": 77,
      "match": "is completed",
      "id": "packages/react-devtools/OVERVIEW.md::319:77::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 319,
      "column": 98,
      "match": "be exported",
      "id": "packages/react-devtools/OVERVIEW.md::319:98::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 319,
      "column": 181,
      "match": "be shared",
      "id": "packages/react-devtools/OVERVIEW.md::319:181::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 321,
      "column": 1,
      "match": "## Package Specific Details",
      "id": "packages/react-devtools/OVERVIEW.md::321:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-devtools/OVERVIEW.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 323,
      "column": 1,
      "match": "### Devtools Extension Overview Diagram",
      "id": "packages/react-devtools/OVERVIEW.md::323:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 18,
      "match": "be used",
      "id": "packages/react-devtools/README.md::3:18::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 53,
      "column": 1,
      "match": "### Inspecting Component Instances",
      "id": "packages/react-devtools/README.md::53:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "intensifier-cluster",
      "severity": "warning",
      "category": "Filler",
      "title": "Overused intensifier",
      "message": "Everything is \"crucial\" in LLM prose.",
      "help": "Reserve it for what truly is; else cut.",
      "line": 59,
      "column": 115,
      "match": "essential",
      "id": "packages/react-devtools/README.md::59:115::style-doctor/intensifier-cluster"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 61,
      "column": 50,
      "match": "There is",
      "id": "packages/react-devtools/README.md::61:50::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 75,
      "column": 60,
      "match": "very",
      "id": "packages/react-devtools/README.md::75:60::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 84,
      "column": 38,
      "match": "are connected",
      "id": "packages/react-devtools/README.md::84:38::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 118,
      "column": 1,
      "match": "### The React Tab Doesn't Show Up",
      "id": "packages/react-devtools/README.md::118:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 53,
      "match": "are registered",
      "id": "packages/react-devtools/README.md::128:53::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-devtools/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 139,
      "column": 396,
      "match": "is loaded",
      "id": "packages/react-devtools/README.md::139:396::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-dom/README.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 3,
      "column": 14,
      "match": "serves as",
      "id": "packages/react-dom/README.md::3:14::style-doctor/copula-avoidance"
    },
    {
      "filePath": "packages/react-dom/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 101,
      "match": "be paired",
      "id": "packages/react-dom/README.md::3:101::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-dom/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 149,
      "match": "is shipped",
      "id": "packages/react-dom/README.md::3:149::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-markup/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 221,
      "match": "be paired",
      "id": "packages/react-markup/README.md::3:221::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-markup/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 269,
      "match": "is shipped",
      "id": "packages/react-markup/README.md::3:269::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-markup/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 26,
      "column": 51,
      "match": "be awaited",
      "id": "packages/react-markup/README.md::26:51::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-noop-renderer/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 4,
      "column": 23,
      "match": "be used",
      "id": "packages/react-noop-renderer/README.md::4:23::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 49,
      "column": 36,
      "match": "very",
      "id": "packages/react-reconciler/README.md::49:36::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 58,
      "column": 38,
      "match": "are declared",
      "id": "packages/react-reconciler/README.md::58:38::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 68,
      "column": 102,
      "match": "very",
      "id": "packages/react-reconciler/README.md::68:102::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 68,
      "column": 213,
      "match": "rather",
      "id": "packages/react-reconciler/README.md::68:213::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 259,
      "match": "being created",
      "id": "packages/react-reconciler/README.md::110:259::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 110,
      "column": 300,
      "match": "be placed",
      "id": "packages/react-reconciler/README.md::110:300::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 124,
      "column": 141,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::124:141::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 124,
      "column": 190,
      "match": "been added",
      "id": "packages/react-reconciler/README.md::124:190::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 124,
      "column": 256,
      "match": "been connected",
      "id": "packages/react-reconciler/README.md::124:256::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 128,
      "column": 125,
      "match": "is connected",
      "id": "packages/react-reconciler/README.md::128:125::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 128,
      "column": 1,
      "match": "There is",
      "id": "packages/react-reconciler/README.md::128:1::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 128,
      "column": 71,
      "match": "there is",
      "id": "packages/react-reconciler/README.md::128:71::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 168,
      "column": 216,
      "match": "is mirrored",
      "id": "packages/react-reconciler/README.md::168:216::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 174,
      "column": 13,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::174:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 180,
      "column": 13,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::180:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 203,
      "column": 229,
      "match": "is used",
      "id": "packages/react-reconciler/README.md::203:229::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 227,
      "column": 60,
      "match": "being handled",
      "id": "packages/react-reconciler/README.md::227:60::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 229,
      "column": 1,
      "match": "* **Discrete events:**",
      "id": "packages/react-reconciler/README.md::229:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 229,
      "column": 44,
      "match": "is _directly caused",
      "id": "packages/react-reconciler/README.md::229:44::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 229,
      "column": 282,
      "match": "be batched",
      "id": "packages/react-reconciler/README.md::229:282::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 231,
      "column": 1,
      "match": "* **Continuous events:**",
      "id": "packages/react-reconciler/README.md::231:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 46,
      "match": "is _directly caused",
      "id": "packages/react-reconciler/README.md::231:46::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 231,
      "column": 273,
      "match": "be batched",
      "id": "packages/react-reconciler/README.md::231:273::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "inline-bold-bullet",
      "severity": "warning",
      "category": "Formatting",
      "title": "\"**Label:** text\" bullet",
      "message": "Bolded label-then-colon bullets are an LLM list default.",
      "help": "Write the point as a plain sentence, or drop the bold.",
      "line": 233,
      "column": 1,
      "match": "* **Other events / No active event:**",
      "id": "packages/react-reconciler/README.md::233:1::style-doctor/inline-bold-bullet"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 233,
      "column": 123,
      "match": "is considered",
      "id": "packages/react-reconciler/README.md::233:123::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 233,
      "column": 182,
      "match": "be prioritized",
      "id": "packages/react-reconciler/README.md::233:182::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 245,
      "column": 160,
      "match": "is definitely connected",
      "id": "packages/react-reconciler/README.md::245:160::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 249,
      "column": 44,
      "match": "is attached",
      "id": "packages/react-reconciler/README.md::249:44::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 255,
      "column": 99,
      "match": "is expected",
      "id": "packages/react-reconciler/README.md::255:99::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 259,
      "column": 45,
      "match": "is attached",
      "id": "packages/react-reconciler/README.md::259:45::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 265,
      "column": 56,
      "match": "being removed",
      "id": "packages/react-reconciler/README.md::265:56::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 265,
      "column": 74,
      "match": "is expected",
      "id": "packages/react-reconciler/README.md::265:74::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 269,
      "column": 44,
      "match": "is detached",
      "id": "packages/react-reconciler/README.md::269:44::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 285,
      "column": 13,
      "match": "is only called",
      "id": "packages/react-reconciler/README.md::285:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 287,
      "column": 55,
      "match": "actually",
      "id": "packages/react-reconciler/README.md::287:55::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 287,
      "column": 52,
      "match": "is actually attached",
      "id": "packages/react-reconciler/README.md::287:52::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 289,
      "column": 88,
      "match": "is only called",
      "id": "packages/react-reconciler/README.md::289:88::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 303,
      "column": 141,
      "match": "is used",
      "id": "packages/react-reconciler/README.md::303:141::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 327,
      "column": 109,
      "match": "be used",
      "id": "packages/react-reconciler/README.md::327:109::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 331,
      "column": 13,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::331:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 331,
      "column": 147,
      "match": "are evaluated",
      "id": "packages/react-reconciler/README.md::331:147::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 331,
      "column": 193,
      "match": "be suspended",
      "id": "packages/react-reconciler/README.md::331:193::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 335,
      "column": 13,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::335:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 339,
      "column": 13,
      "match": "is called",
      "id": "packages/react-reconciler/README.md::339:13::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-reconciler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 343,
      "column": 68,
      "match": "be suspended",
      "id": "packages/react-reconciler/README.md::343:68::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-refresh/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 14,
      "match": "is primarily aimed",
      "id": "packages/react-refresh/README.md::5:14::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 11,
      "column": 104,
      "match": "are codenamed",
      "id": "packages/react-server/README.md::11:104::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 77,
      "column": 36,
      "match": "be rendered",
      "id": "packages/react-server/README.md::77:36::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "connective-overload",
      "severity": "warning",
      "category": "Filler",
      "title": "Formal connective overload",
      "message": "Formal connectives pile up in LLM prose.",
      "help": "Use \"also\" or start a new sentence.",
      "line": 89,
      "column": 1,
      "match": "Additionally",
      "id": "packages/react-server/README.md::89:1::style-doctor/connective-overload"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 91,
      "column": 20,
      "match": "are called",
      "id": "packages/react-server/README.md::91:20::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 93,
      "column": 36,
      "match": "be rendered",
      "id": "packages/react-server/README.md::93:36::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 103,
      "column": 71,
      "match": "be rendered",
      "id": "packages/react-server/README.md::103:71::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 103,
      "column": 10,
      "match": "There are",
      "id": "packages/react-server/README.md::103:10::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 106,
      "column": 296,
      "match": "rather",
      "id": "packages/react-server/README.md::106:296::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 106,
      "column": 272,
      "match": "be loaded",
      "id": "packages/react-server/README.md::106:272::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "copula-avoidance",
      "severity": "warning",
      "category": "LLM Tells",
      "title": "\"Serves/stands as\" instead of \"is\"",
      "message": "Dressing up \"is\" as \"serves as\"/\"stands as\" is a common LLM avoidance tic.",
      "help": "Just use \"is\" or the plain verb.",
      "line": 149,
      "column": 192,
      "match": "function as",
      "id": "packages/react-server/README.md::149:192::style-doctor/copula-avoidance"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 149,
      "column": 236,
      "match": "be called",
      "id": "packages/react-server/README.md::149:236::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 149,
      "column": 344,
      "match": "be registered",
      "id": "packages/react-server/README.md::149:344::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 173,
      "column": 190,
      "match": "be used",
      "id": "packages/react-server/README.md::173:190::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 173,
      "column": 36,
      "match": "there are",
      "id": "packages/react-server/README.md::173:36::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 175,
      "column": 67,
      "match": "there are",
      "id": "packages/react-server/README.md::175:67::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 175,
      "column": 451,
      "match": "there is",
      "id": "packages/react-server/README.md::175:451::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 177,
      "column": 517,
      "match": "actually",
      "id": "packages/react-server/README.md::177:517::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 177,
      "column": 621,
      "match": "actually",
      "id": "packages/react-server/README.md::177:621::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 177,
      "column": 668,
      "match": "simply",
      "id": "packages/react-server/README.md::177:668::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 71,
      "match": "are handled",
      "id": "packages/react-server/README.md::177:71::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 145,
      "match": "be handled",
      "id": "packages/react-server/README.md::177:145::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 322,
      "match": "be discarded",
      "id": "packages/react-server/README.md::177:322::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 346,
      "match": "be used",
      "id": "packages/react-server/README.md::177:346::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 513,
      "match": "are actually encoded",
      "id": "packages/react-server/README.md::177:513::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 177,
      "column": 582,
      "match": "is observed",
      "id": "packages/react-server/README.md::177:582::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 177,
      "column": 238,
      "match": "there is",
      "id": "packages/react-server/README.md::177:238::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 179,
      "column": 234,
      "match": "is expected",
      "id": "packages/react-server/README.md::179:234::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 233,
      "column": 20,
      "match": "actually",
      "id": "packages/react-server/README.md::233:20::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 237,
      "column": 100,
      "match": "are treated",
      "id": "packages/react-server/README.md::237:100::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 245,
      "column": 274,
      "match": "are unblocked",
      "id": "packages/react-server/README.md::245:274::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "there-is",
      "severity": "warning",
      "category": "Grammar",
      "title": "Sentence buried behind \"there is\"",
      "message": "\"There is / are\" pushes the real subject back.",
      "help": "Start with the real subject.",
      "line": 245,
      "column": 334,
      "match": "there is",
      "id": "packages/react-server/README.md::245:334::style-doctor/there-is"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "important-to-note",
      "severity": "error",
      "category": "Filler",
      "title": "\"It's important to note\" filler",
      "message": "\"it's important to note\" adds nothing.",
      "help": "Just state the note.",
      "line": 249,
      "column": 272,
      "match": "It's important to note",
      "id": "packages/react-server/README.md::249:272::style-doctor/important-to-note"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 253,
      "column": 119,
      "match": "be abandoned",
      "id": "packages/react-server/README.md::253:119::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 253,
      "column": 148,
      "match": "was created",
      "id": "packages/react-server/README.md::253:148::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-server/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 253,
      "column": 273,
      "match": "was created",
      "id": "packages/react-server/README.md::253:273::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-suspense-test-utils/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 26,
      "match": "be used",
      "id": "packages/react-suspense-test-utils/README.md::3:26::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-suspense-test-utils/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 10,
      "column": 7,
      "match": "Really",
      "id": "packages/react-suspense-test-utils/README.md::10:7::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react-test-renderer/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 71,
      "match": "be removed",
      "id": "packages/react-test-renderer/README.md::5:71::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-test-renderer/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 13,
      "column": 1,
      "match": "### React Native Testing",
      "id": "packages/react-test-renderer/README.md::13:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "packages/react-test-renderer/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 19,
      "column": 63,
      "match": "be used",
      "id": "packages/react-test-renderer/README.md::19:63::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/react-test-renderer/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 21,
      "column": 1,
      "match": "Essentially",
      "id": "packages/react-test-renderer/README.md::21:1::style-doctor/weasel-word"
    },
    {
      "filePath": "packages/react/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 94,
      "match": "is typically used",
      "id": "packages/react/README.md::5:94::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/scheduler/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 3,
      "column": 75,
      "match": "is currently used",
      "id": "packages/scheduler/README.md::3:75::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 338,
      "match": "be updated",
      "id": "packages/use-subscription/README.md::5:338::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "wordy-phrase",
      "severity": "warning",
      "category": "Filler",
      "title": "Wordy phrase",
      "message": "This phrase has a shorter equivalent.",
      "help": "e.g. \"in order to\" -> \"to\", \"due to the fact that\" -> \"because\".",
      "line": 21,
      "column": 1,
      "match": "In order to",
      "id": "packages/use-subscription/README.md::21:1::style-doctor/wordy-phrase"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 76,
      "match": "is called",
      "id": "packages/use-subscription/README.md::21:76::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 129,
      "match": "be memoized",
      "id": "packages/use-subscription/README.md::21:129::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 25,
      "column": 56,
      "match": "be used",
      "id": "packages/use-subscription/README.md::25:56::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 60,
      "column": 55,
      "match": "be used",
      "id": "packages/use-subscription/README.md::60:55::style-doctor/passive-voice"
    },
    {
      "filePath": "packages/use-subscription/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 62,
      "column": 173,
      "match": "been emitted",
      "id": "packages/use-subscription/README.md::62:173::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/error-codes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 6,
      "column": 62,
      "match": "is generated",
      "id": "scripts/error-codes/README.md::6:62::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/error-codes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 7,
      "column": 19,
      "match": "is used",
      "id": "scripts/error-codes/README.md::7:19::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/error-codes/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 23,
      "match": "be changed",
      "id": "scripts/error-codes/README.md::9:23::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/eslint-rules/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# Custom ESLint Rules",
      "id": "scripts/eslint-rules/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "scripts/eslint-rules/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 3,
      "column": 88,
      "match": "actually",
      "id": "scripts/eslint-rules/README.md::3:88::style-doctor/weasel-word"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 1,
      "column": 1,
      "match": "# React Release Scripts",
      "id": "scripts/release/README.md::1:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "weasel-word",
      "severity": "warning",
      "category": "Filler",
      "title": "Weasel / hedge word",
      "message": "Hedge and intensifier words weaken the sentence.",
      "help": "Cut it or be specific.",
      "line": 5,
      "column": 35,
      "match": "actually",
      "id": "scripts/release/README.md::5:35::style-doctor/weasel-word"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 5,
      "column": 130,
      "match": "are preferred",
      "id": "scripts/release/README.md::5:130::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 9,
      "column": 146,
      "match": "be automatically published",
      "id": "scripts/release/README.md::9:146::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 21,
      "column": 18,
      "match": "is pushed",
      "id": "scripts/release/README.md::21:18::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 28,
      "column": 48,
      "match": "be automatically published",
      "id": "scripts/release/README.md::28:48::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 34,
      "column": 35,
      "match": "be released",
      "id": "scripts/release/README.md::34:35::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "title-case-heading",
      "severity": "warning",
      "category": "Formatting",
      "title": "Title Case Every Word heading",
      "message": "Capitalizing every word in a heading is an LLM formatting default.",
      "help": "Use sentence case.",
      "line": 43,
      "column": 1,
      "match": "## Publishing Without Tags",
      "id": "scripts/release/README.md::43:1::style-doctor/title-case-heading"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 31,
      "match": "be created",
      "id": "scripts/release/README.md::49:31::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 49,
      "column": 190,
      "match": "being included",
      "id": "scripts/release/README.md::49:190::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 51,
      "column": 47,
      "match": "been bumped",
      "id": "scripts/release/README.md::51:47::style-doctor/passive-voice"
    },
    {
      "filePath": "scripts/release/README.md",
      "plugin": "style-doctor",
      "rule": "passive-voice",
      "severity": "warning",
      "category": "Grammar",
      "title": "Possible passive voice",
      "message": "Naive check for passive voice (no POS tagger).",
      "help": "Prefer active voice: name the actor. --ignore passive-voice if noisy.",
      "line": 57,
      "column": 31,
      "match": "been tested",
      "id": "scripts/release/README.md::57:31::style-doctor/passive-voice"
    }
  ]
}
