{
  "title": "Playwright Architecture",
  "slug": "playwright-architecture",
  "state": "active",
  "description": "A long-form series on the architectural decisions inside a real Playwright test suite — fixtures, page objects, what scales, what doesn't, and what I had to delete.",
  "plannedParts": 6,
  "parts": [
    {
      "number": 1,
      "title": "Why I stopped writing test setup as if it were code",
      "slug": "stopped-writing-setup-as-code",
      "state": "shipped",
      "notes": "shipped · solid"
    },
    {
      "number": 2,
      "title": "The fixture API, read carefully",
      "slug": "fixture-api-read-carefully",
      "state": "shipped",
      "notes": "most-cited piece in the series. let it stand."
    },
    {
      "number": 3,
      "title": "The page-object pattern, and what I replaced it with",
      "slug": "page-object-pattern-replaced",
      "state": "shipped",
      "notes": "reto found a typo in selector listing — fixed 21d ago"
    },
    {
      "number": 4,
      "title": "Why Playwright fixtures stop scaling at three layers deep",
      "slug": "playwright-fixtures-stop-scaling",
      "state": "shipped",
      "notes": "4 layers diagram needed a fix (h/t @luce). watch perf claims in §2."
    },
    {
      "number": 5,
      "title": "Refusing to run",
      "state": "now",
      "notes": "BLOCKED on validating fixture types in TS 5.4. ~1,840 words drafted."
    },
    {
      "number": 6,
      "title": "What I'd do if I started over tomorrow",
      "state": "empty",
      "notes": "rewrite plan: cut layer 3, lead with the contract framing."
    }
  ]
}
