steid

@jamesgill /

docs: fix milestone cross-references after the reorder

Git-over-HTTP became milestone 4, so the streaming and body_limit notes in
current.md and the runbook's transport section pointed at the wrong number.

The SSH channel-bridging notes in progress.md said "re-read before milestone
3", which was true under the old ladder and is now misleading twice over --
SSH is not the transport at all after decision 0001, and would be milestone
8+ if it ever returns.

Runbook now distinguishes the two reasons git is a runtime dependency:
git init --bare from milestone 3, git http-backend from milestone 4.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
JamesPatrickGill authored 24 days agoparent2eb8681Browse filesca76e1b7564bbece14603e1ed7bb629f9139b226

3 files changed+7 −5

plans/current.md+2 −2View file
@@ -91,7 +91,7 @@ Ordered. Pull from the top.
9191
9292 - **Topcoat is early** (v0.5.0, first released 2026-07-22, breaking changes expected
9393 by its own authors). Expect churn that isn't feature work.
94- Body size limits will reject large pushes at Milestone 5 — `topcoat-router` has a
94+- Body size limits will reject large pushes at Milestone 4 — `topcoat-router` has a
9595 `body_limit` layer that needs raising on the git routes. Recorded here because it
9696 will surface as a confusing failure rather than a clear one.
9797 - Topcoat ships Tailwind without Node, which reopens the design system attempt #1
@@ -116,4 +116,4 @@ Ordered. Pull from the top.
116116 - `HOST` / `PORT` configure the bind address, so `STEID_LISTEN_ADDR` is gone.
117117 - `Body` is a boxed `http_body::Body` used for both requests and responses, with
118118 `into_data_stream()` to read and `Body::new()` to wrap a stream — pack data can
119 stream both directions without buffering. This is what makes Milestone 5 viable.
119+ stream both directions without buffering. This is what makes Milestone 4 viable.
plans/progress.md+2 −1View file
@@ -139,7 +139,8 @@ application layer.
139139
140140 #### SSH channel bridging
141141
142The fiddly part, and worth re-reading before Milestone 3:
142+The fiddly part, and worth re-reading if SSH ever returns as a transport
143+(milestone 8+ — [0001](decisions/0001-git-over-http-not-ssh.md) chose HTTP):
143144
144145 - Store `Channel<Msg>` per `ChannelId` in the handler's map on `channel_open_session`
145146 - On `exec_request`, take the channel, split it with `into_stream()` +
plans/runbook.md+3 −2View file
@@ -14,7 +14,8 @@ attempt and has **not** been re-verified against Topcoat — treat it as a sketc
1414 - **rustc ≥ 1.95** — Topcoat 0.5 requires it, and on an older toolchain `cargo add
1515 topcoat` silently resolves to an empty `topcoat v0.0.0` placeholder rather than
1616 failing. Verified on 1.97.1.
17- `git` on `PATH` (from Milestone 3 — the protocol server shells out to it)
17+- `git` on `PATH` (from Milestone 3 — `git init --bare` creates repos, and from
18+ Milestone 4 `git http-backend` serves the protocol)
1819
1920 ## Dev setup
2021
@@ -97,7 +98,7 @@ Sign in at `/login` with the **email**, not the handle.
9798
9899 Bare repos at `{STEID_DATA_DIR}/{org}/{repo}.git`. Created empty — no initial commit.
99100
100## Git transport (Milestone 5)
101+## Git transport (Milestone 4)
101102
102103 Smart HTTP, delegated to `git http-backend`, authenticated with personal access tokens
103104 over HTTP Basic — see [0001](decisions/0001-git-over-http-not-ssh.md). No SSH, no host