| new file mode 100644 |
| index 0000000..c3eef80 |
| --- /dev/null |
| +++ b/web/status/milestones.html |
| @@ -0,0 +1,177 @@ |
| +<!-- 🤖 Milestones: the key moments of building Eleven, drawn from the prompt |
| + registry (prompts.html) — a curated, editorial timeline, each entry linking |
| + to the ledger session where it happened (./prompts.html#s=<id>). Static by |
| + design: the list is hand-kept, appended as moments land, never generated. |
| + Fully self-contained: inline CSS, no JS, no external requests. --> |
| +<!doctype html> |
| +<html lang="en"> |
| +<head> |
| +<meta charset="utf-8" /> |
| +<meta name="viewport" content="width=device-width, initial-scale=1" /> |
| +<meta name="color-scheme" content="light dark" /> |
| +<title>Eleven — milestones</title> |
| +<link rel="icon" type="image/png" href="./icon-192.png" /> |
| +<link rel="stylesheet" href="./status.css" /> |
| +<style> |
| + /* Milestones-only styles; tokens, reset, masthead and the shared nav live |
| + in status.css. A plain vertical timeline — dots on a rail, one entry per |
| + key moment. */ |
| + a:focus-visible { outline: 2px solid var(--series); outline-offset: 2px; border-radius: 4px; } |
| + h1 { font-size: 1.5rem; margin: 8px 0 4px; } |
| + .sub, .meta { color: var(--ink-2); font-size: 0.9rem; } |
| + ol.timeline { list-style: none; padding: 0; margin: 24px 0; position: relative; } |
| + ol.timeline::before { |
| + content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; |
| + width: 2px; background: var(--grid); |
| + } |
| + ol.timeline li { position: relative; padding: 0 0 26px 32px; } |
| + ol.timeline li::before { |
| + content: ""; position: absolute; left: 1px; top: 5px; width: 10px; height: 10px; |
| + border-radius: 50%; background: var(--series); border: 2px solid var(--surface); |
| + } |
| + ol.timeline li.withheld::before { background: var(--surface); border: 2px solid var(--ink-2); } |
| + .when { color: var(--ink-2); font-size: 0.85rem; white-space: nowrap; } |
| + ol.timeline h2 { font-size: 1.05rem; margin: 2px 0 4px; } |
| + ol.timeline p { margin: 0 0 4px; } |
| + .withheld-note { color: var(--ink-2); font-size: 0.85rem; font-style: italic; } |
| +</style> |
| +</head> |
| +<body> |
| +<div class="wrap"> |
| + <header> |
| + <img src="./icon-192.png" alt="" /> |
| + <div> |
| + <p class="brand">Eleven Messenger</p> |
| + <h1>Milestones</h1> |
| + </div> |
| + </header> |
| + <nav class="status-nav" aria-label="Status"> |
| + <a href="./index.html">Fleet</a> |
| + <a href="./books.html">Income & Expenditure</a> |
| + <a href="./economics.html">Economics</a> |
| + <a href="./security.html">Security</a> |
| + <a href="./carbon.html">Carbon use</a> |
| + <a href="./contributors.html">Contributors</a> |
| + <a href="./prompts.html">Prompt Ledger</a> |
| + <a href="./ssh.html">Access Ledger</a> |
| + </nav> |
| + |
| + <p class="sub">🤖 The key moments of building Eleven, drawn from the |
| + <a href="./prompts.html">prompt registry</a> — the story, where the ledger is |
| + the log. Each milestone links to the actual working session it happened in, |
| + transcript and all. The two entries without a link landed in sessions the |
| + registry withholds whole (its security rule — a credential can be redacted, |
| + but a narrative that maps the defences cannot); they stay on this list with |
| + their dates, because the moment is public even where the session is not.</p> |
| + |
| + <ol class="timeline"> |
| + <li> |
| + <span class="when">27 June 2026</span> |
| + <h2>Day one</h2> |
| + <p>The first commit: an end-to-end encrypted group chat, private from the |
| + first line of code. The ledger's oldest surviving session is from this |
| + same day — the record starts where the project does.</p> |
| + <a href="./prompts.html#s=d44f1f0e-f363-48f3-a231-7faeba75a1aa" aria-label="Read the session behind: Day one">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">30 June 2026</span> |
| + <h2>The encryption, explained</h2> |
| + <p>The lock-and-key model written up for the first curious reader — at a |
| + beginner level and an expert level, because both deserve a straight answer.</p> |
| + <a href="./prompts.html#s=8ae123e4-7fed-4d0b-b58a-af0c51274c87" aria-label="Read the session behind: The encryption, explained">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">1 July 2026</span> |
| + <h2>The house agents move in</h2> |
| + <p>Claude, Eleven and the Announcer arrive as built-in members — welcome |
| + messages, release notes and a helper that lives in the chat.</p> |
| + <a href="./prompts.html#s=74557005-7c9f-42fb-82ea-da6bd2fcd499" aria-label="Read the session behind: The house agents move in">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">3 July 2026</span> |
| + <h2>The iPhone app reaches TestFlight</h2> |
| + <p>The first native iOS build goes up for testers, under the new Eleven |
| + Messenger developer account.</p> |
| + <a href="./prompts.html#s=d1e75cd1-160a-4e0f-934f-edd4f4bf46ec" aria-label="Read the session behind: The iPhone app reaches TestFlight">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">4 July 2026</span> |
| + <h2>Choosing our own ground</h2> |
| + <p>The search for a home off the hosting platform begins; a day later the |
| + whole fleet was serving from a self-managed box — one router, one binary |
| + per space.</p> |
| + <a href="./prompts.html#s=ef26d8bc-b5ac-4781-b84d-df34dfb3b7cf" aria-label="Read the session behind: Choosing our own ground">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">5 July 2026</span> |
| + <h2>The Mac app ships</h2> |
| + <p>A signed, notarised DMG with the classic drag-to-Applications install — |
| + and auto-updates from the first release.</p> |
| + <a href="./prompts.html#s=cb607682-6c32-44f8-83c5-7fc4b4cfd899" aria-label="Read the session behind: The Mac app ships">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">5 July 2026</span> |
| + <h2>Preparing the open beta</h2> |
| + <p>TestFlight's open beta is set up and the app readied for Apple review.</p> |
| + <a href="./prompts.html#s=e931af25-e90b-4b9f-89d6-64977305c2d9" aria-label="Read the session behind: Preparing the open beta">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">7 July 2026</span> |
| + <h2>Spaces go self-serve</h2> |
| + <p>Sign in with a passkey, press one button, get a space of your own — |
| + no operator in the loop, ready before the page finishes loading.</p> |
| + <a href="./prompts.html#s=2b5a13fd-1393-47c7-b00c-c5980dadc9f5" aria-label="Read the session behind: Spaces go self-serve">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">9 July 2026</span> |
| + <h2>The fleet updates itself</h2> |
| + <p>Signed release channels arrive: every space follows edge, beta or |
| + stable on its own, hourly, with no hands on the wheel.</p> |
| + <a href="./prompts.html#s=28b38705-1b54-40a9-b569-f796278bb428" aria-label="Read the session behind: The fleet updates itself">read the session →</a> |
| + </li> |
| + <li class="withheld"> |
| + <span class="when">11 July 2026</span> |
| + <h2>Billing goes live</h2> |
| + <p>Paid plans arrive — Stripe checkout, self-serve manage and cancel.</p> |
| + <p class="withheld-note">session withheld: security</p> |
| + </li> |
| + <li> |
| + <span class="when">11 July 2026</span> |
| + <h2>The transparency ledgers begin</h2> |
| + <p>The carbon tally and the contributor index go public — the first of the |
| + open ledgers this page belongs to.</p> |
| + <a href="./prompts.html#s=0e6d3bef-e7a3-49bb-ac6c-652df491b79c" aria-label="Read the session behind: The transparency ledgers begin">read the session →</a> |
| + </li> |
| + <li class="withheld"> |
| + <span class="when">12 July 2026</span> |
| + <h2>The registry publishes itself</h2> |
| + <p>Every AI session behind Eleven goes on the public record, credentials |
| + redacted and annotated in place. Its own build session is withheld — the |
| + security rule applies to the registry too.</p> |
| + <p class="withheld-note">session withheld: security</p> |
| + </li> |
| + <li> |
| + <span class="when">13 July 2026</span> |
| + <h2>The beta opens to everyone</h2> |
| + <p>Apple approves the external TestFlight group — the first testers from |
| + outside the team arrive.</p> |
| + <a href="./prompts.html#s=2a20be96-8b30-4717-8191-1ce62dac7f83" aria-label="Read the session behind: The beta opens to everyone">read the session →</a> |
| + </li> |
| + <li> |
| + <span class="when">14 July 2026</span> |
| + <h2>Writing gets rich</h2> |
| + <p>CommonMark lands across web, Mac and iPhone — bold, italics, quotes and |
| + code in every composer, the same on every platform.</p> |
| + <a href="./prompts.html#s=53cfffdd-5431-4d08-82e8-915fa7b7c209" aria-label="Read the session behind: Writing gets rich">read the session →</a> |
| + </li> |
| + </ol> |
| + |
| + <footer> |
| + <p>🤖 This timeline is curated by hand and appended as moments land — the |
| + <a href="./prompts.html">prompt registry</a> stays the complete record. A |
| + milestone's date is the date of its session; where a session is withheld, |
| + the date and the moment publish without the transcript.</p> |
| + </footer> |
| +</div> |
| +</body> |
| +</html> |