commit f0adc2386454c11fe10dbf47a084fc50afd7e2b3
parent 622a8ae5da69a660e387246c2417087bd78e320d
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Thu, 1 Oct 2026 03:14:11 -0400
plans: slice FK — the review (SHIP; L1 fixed in 8b68b475, I1–I3 recorded), brought to main 27f7d3a7, the gates after both
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat:
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/plans/release-16.md b/plans/release-16.md
@@ -639,7 +639,11 @@ the page mounted with (the uncontrolled select for good). The `[Unreleased]` bul
| `716f58bb` | `editor(e2e):` `forms-keep-input.spec.ts`, 18 cases |
| `798cf7ec` | `editor(e2e):` controlled elements read once, as the refusal shows |
| `19f8e867` | `editor:` `ControlledCheck`/`ControlledSelect` put the value back after the reset only — never at mount |
-| this commit | `plans:` this section; FACTS; the editor changelog |
+| `657a6949` | `plans:` this section; FACTS; the editor changelog |
+| `6cf51b24` | `editor:` review L1 — ChannelForm create's **On create** boxes seed only from a refusal of their own kind; the spec's 19th case; `Controlled.tsx`'s comment (I2) |
+| `0520ec75` | `plans:` review L1's bullet, I1, I2, I3 |
+| `9487c74b` | merge of `main` `458f4fcd` (below) |
+| this commit | `plans:` the review, the gates after it, the merge |
#### Gates (logs `$T/fk-*.log`)
@@ -702,6 +706,34 @@ the page mounted with (the uncontrolled select for good). The `[Unreleased]` bul
| DigestSettingsForm's sections controlled | Extend `FormValues` to carry every value of a repeated name |
| The e2e refuses the settings-only forms by putting a directory at `test-settings.json` | A test-only failure switch in `saveSettings` behind `/api/test/*` |
+#### Review
+
+**Verdict: SHIP** (`fk-review.md` in the job's scratch): one Low, five infos.
+
+| Finding | Where |
+|---|---|
+| L1: in ChannelForm create, after a refusal from one kind of source (video or social), switching the URL to the other kind mounted that kind's **On create** box seeded from `values`, where its name was absent, so unticked; on `main` it mounted ticked | `6cf51b24`: `fetchPostsNow` seeds only from a refused social submit (it posts the hidden `sourceKind=social`), `fetchPlaylist` and `prioritizeDownload` only from a refused video one. A 19th case refuses a video submit and switches to a social URL (**Fetch posts now** ticked), and the reverse; against `657a6949`'s ChannelForm it fails ("Received: unchecked") |
+| I1: the digest section boxes re-read a new stored list before any submit too, so another tab's save replaces unsaved ticks | `0520ec75`: added to the cross-tab bullet in "Found and left" |
+| I2: a controlled select never gets `defaultSelected` (mount passes `false` too, `:22121`); the reset selects the server-rendered option, or the first for a client-mounted select — not "what it mounted with" | `6cf51b24` (`Controlled.tsx`'s comment), `0520ec75` (FACTS, the table above) |
+| I3: `putValue` leaves a blank select for a value no option has | `0520ec75`: recorded in "Found and left" |
+| I4: the microtask deferral relies on React's script-initiated reset; a native `<button type="reset">` would undo the put (the editor has none) | No action |
+| I5: the full suite's `export-search` failure is pre-existing — `{ name: 'Deleted' }` matches by substring the result card's "Select "Deleted platypus chronicles" for AI" box (since `9a5029ec`) | No action here; `{ exact: true }` in six places is a follow-up |
+
+#### Brought to main (2026-10-01)
+
+`9487c74b` merges `main` `458f4fcd` (the deck's posts: `umtool/` only, plus `plans/` and two
+`[Unreleased]` bullets) into `0520ec75`. No conflict. `editor/CHANGELOG.md` keeps one
+`## [Unreleased]`: the deck's two bullets at its top, this slice's at its end. `plans/release-16.md`
+keeps both sides: `main`'s deploy note under "## Rollout" and this section with the slices table's
+FK row.
+
+**Gates after the review and the merge** (at `9487c74b`; logs `$T/fk-tsc3.log`, `fk-unit3.log`,
+`fk-build3.log`, `fk-e2e3.log`): tsc (all workspaces) clean, 34 s; editor unit **109/109**
+(`formState.test.ts` alone 8/8); the capped editor build with the corpus linked exit 0, 37 s,
+1.66 GB, the link removed; e2e `forms-keep-input`, `channels`, `channel-site-membership`,
+`new-channel-onboarding`, `social-channel`, `sites-crud`, `settings`: **70 passed**, 0 failed,
+5.6 min. The full suite was not re-run, as the parent directed.
+
## Rollout
Both slices are export- and homepage-side; the editor and umtool are not rebuilt for this release.