{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifbd4egmybvpeawcazegvlaadiyafyd44cywbzseqji3wxutqpl3y",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mi5jjkvpn2t2"
  },
  "path": "/t/bootstrapping-xml-schema-definitions-with-claude-opus-4-6-a-case-study-the-good-the-bad-and-the-ugly/13853#post_5",
  "publishedAt": "2026-03-28T06:56:42.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "Right, and I don’t plan to throw away the bootstrap chain. Not sure how this impression arose. But we can’t trust the bootstrapper, so we need the bootstrapped version.\n\nThis case is even a bit different from bootstrapping a compiler. There, you can update the compiler source code, and don’t change the bootstrapper anymore. Here, we can’t change the “source code”, that’s the XSD met schema which is immutable. We clearly need to keep the bootstrapper around for maintenance, otherwise we’d have to fix the bootstrapped generator and regenerate from there.",
  "title": "Bootstrapping XML schema definitions with Claude Opus 4.6: A case study (the good, the bad, and the ugly)"
}