<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Caribbein Engineering</title>
  <subtitle>Notes from building the estate — mechanisms, decisions, scars.</subtitle>
  <link href="https://www.caribbein.fr/engineering/feed.xml" rel="self"/>
  <link href="https://www.caribbein.fr/engineering/"/>
  <id>https://www.caribbein.fr/engineering/</id>
  <updated>2026-08-31T12:00:00Z</updated>
  <author><name>Caribbein</name><email>welcome@caribbein.fr</email></author>

  <entry>
    <title>4,941 lines, then 69</title>
    <link href="https://www.caribbein.fr/engineering/one-driver/"/>
    <id>https://www.caribbein.fr/engineering/one-driver/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>The file every OS talks to the database through had quietly become one OS. What the rewrite kept, what it deleted, and the CI guard that keeps it deleted.</summary>
  </entry>

  <entry>
    <title>One database, nineteen worlds</title>
    <link href="https://www.caribbein.fr/engineering/schema-per-os/"/>
    <id>https://www.caribbein.fr/engineering/schema-per-os/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>Tenant column, database per tenant, or schema per OS — the multi-tenancy trade-off, and the migration rules that make the middle path hold.</summary>
  </entry>

  <entry>
    <title>How you catalogue a sea</title>
    <link href="https://www.caribbein.fr/engineering/cataloguing-a-sea/"/>
    <id>https://www.caribbein.fr/engineering/cataloguing-a-sea/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>Nine thousand providers across twenty-nine islands, none of them scraped-and-dumped: source ranking, reversible passes, QC verdicts, honest placeholders.</summary>
  </entry>

  <entry>
    <title>Ten guards, ten scars</title>
    <link href="https://www.caribbein.fr/engineering/ten-guards/"/>
    <id>https://www.caribbein.fr/engineering/ten-guards/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>Every guard in our CI exists because something specific went wrong. The incident behind each one, and why they all run without a database, a browser, or a key.</summary>
  </entry>

  <entry>
    <title>The stack, and how to check it</title>
    <link href="https://www.caribbein.fr/engineering/stack/"/>
    <id>https://www.caribbein.fr/engineering/stack/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>Technologies by role, not by logo: dependency budgets probed from the lockfiles, no version numbers on purpose, and a check attached to every claim.</summary>
  </entry>

  <entry>
    <title>The public read API, as observed</title>
    <link href="https://www.caribbein.fr/engineering/api/"/>
    <id>https://www.caribbein.fr/engineering/api/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>The read-only endpoints every browser already calls, documented honestly: no contract yet, no version, exactly what the marketplace itself reads.</summary>
  </entry>

  <entry>
    <title>Decision records</title>
    <link href="https://www.caribbein.fr/engineering/adr/"/>
    <id>https://www.caribbein.fr/engineering/adr/</id>
    <updated>2026-08-31T12:00:00Z</updated>
    <summary>Four architecture decisions in ADR form — context, the rejected alternatives, and what each choice costs on purpose.</summary>
  </entry>
</feed>
