docs(plan): P11c landed; the portable Windows job gates
check / check (push) Canceled after 0s
portable-macos / portable (macos-latest) (push) Canceled after 0s
portable-windows / portable (windows-latest) (push) Canceled after 0s
two-user / two-user (push) Canceled after 0s

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
This commit is contained in:
swaitsandClaude Fable 5.1 committed 2026-10-30 19:52:18 -06:00
1 parent 05aece9fd1
commit a413e394c1
2 files changed
+13 -2

No files matched your search

+11
View File
@@ -40,6 +40,17 @@ Unix (the backup remote check, a books home's listing), fixed on
**2026-10-30, 11:00 UTC: `main` is green on the Linux gate and on
macOS at `ad2ac824`** (the whole workspace's tests on `macos-latest`);
the macOS half of P11a step 0 is met. Windows waits for P11c.
**2026-10-31, 02:00 UTC: P11c landed (`05aece9f`)**: the Windows port
built blind, type-checked here against the Windows target and proven
by sixteen runs of the `portable-windows` job, each one failing later
than the last (the lock seam, git's plain paths, SQLite's and
LockFileEx's mandatory locks in test helpers, the `\\?\` prefix, the
full-disk simulation, BSD and Unix test details on the way). The job
gates now: `main` must be green on Linux, macOS and Windows. P11a step
0 is complete. Left in the plan: P11a steps 5-7 (signing deferred,
D-64; the in-app accept and the viewer's update notice need names),
P12 (max testing, last), the owner's re-audit (P10) and the trials on
a Mac and a Windows machine.
**Who builds.** The owner chose (the question tool) that this planning
+2 -2
View File
@@ -836,7 +836,7 @@ One row per unit of work. A unit is what one engineer takes into one git worktre
| P10 | The re-audit runbook and its CI mirror; the owner runs the re-audit | not started | P5, P6, P8 | P11a, P13 | none | 1 (+ owner days) |
| P11a | Packaging and updates: step 0 the platform groundwork, the trial, `wanderbooks update`/`rollback`, Linux packages, signing, macOS and Windows bundles | in progress: steps 0-4 and the macOS half of step 6 landed 2026-10-29 (update/rollback, Linux packages, AppImage with restart, the daily staged update, the unsigned `.dmg` job); step 5 (signing) deferred by D-64; left: the in-app accept and the viewer's update notice (names needed), the release workflow's first run (owner's click), the trials on a Mac | none (code); certificates and keys from the owner for the signing steps; Q-4 before the manifest step | everything | none | 20-25 |
| P11b | The agent dock and books homes | landed 2026-10-29 (`f625848a`): the dock (a real PTY, Claude Code or Codex in a books home), books homes under `~/Documents/<book id>`, the first-run page with no terminal; macOS unverified until the portable job runs it; Windows not offered (P11c) | P11a (an installed app to dock into) | P12 | none | 8-10 |
| P11c | The native Windows port: named pipes with the SID check, owner-only DACLs, file locking, the `%LOCALAPPDATA%` data root, the Windows CI job made gating (D-62) | in progress (wave 2, branch `P11c`) | U0e; P11a step 0 (the portable job) | P11b, P12 | none | 5-8 |
| P11c | The native Windows port: named pipes with the SID check, owner-only DACLs, file locking, the `%LOCALAPPDATA%` data root, the Windows CI job made gating (D-62) | landed 2026-10-31 (`05aece9f`, branch `P11c` at 36a7ad51): the `portable-windows` job is green and gating; Done-when 2 (the app walked on a Windows machine) is the owner's | U0e; P11a step 0 (the portable job) | P11b, P12 | none | 5-8 |
| P12 | Max testing, again | not started | everything else merged | | none | 2-3 (+ machine time) |
| P13 | bookspec: checker crate, `Engine` trait, rule ids, the spec text, the runner | steps 1-6 done: steps 1-5 landed (`579d0eed`, `d839e709`); step 6 landed 2026-10-29 (`d738c445`): the specification lives at `git.swaits.com/swaits/bookspec`, pinned by rev (D-65); ten stated rules still lack an example (the schema cannot show them yet), listed in the As-built block | none for steps 1-4; the engine stable for step 5 | everything | none | 15-20 |
@@ -1676,7 +1676,7 @@ Each unit follows the 8.0.4 template. "A-n" is an owner answer numbered in 8.3.1
#### P11c: the native Windows port (D-62)
1. **Status:** not started; after U0e, beside P11b. Until it lands Windows is WSL2-only and the `portable (windows-latest)` job is allowed to fail.
1. **Status:** landed 2026-10-31 (`05aece9f`, from branch `P11c` at 36a7ad51, sixteen CI runs): the whole workspace builds and passes its tests on `windows-latest`, and the job gates. Done-when 2 (setup, books, connect, a bridge session, an upload and the viewer on a Windows machine) is the owner's walk.
2. **Depends on:** U0e (tokens are a file, so no Credential Manager store is ported); P11a step 0's portable job.
3. **Feature and schema:** none.
4. **Build:** the inventory is `docs/packaging.md` ("Unix-only code"), written by P11a step 0; each item becomes a step, each with the Windows implementation beside the Unix one behind `cfg`, never a `cfg(unix)` left bare: