📝 Gremlins run log: block 3.7 note
This commit is contained in:
@@ -790,3 +790,23 @@ Intake 2026-10-16 18:23 +0200, a fresh (successor) Athanor, `claude-opus-5-5[1m]
|
||||
- Left for later: 3.7 (handoff), 3.8 (README row, manifests, full suite, G-text in full).
|
||||
- Expected broken: nothing known.
|
||||
- Commits: `813327a` (references), then this note's commit.
|
||||
|
||||
### Block 3.7 — Platform handoff report
|
||||
|
||||
- Model: `claude-opus-5-5[1m]` (fresh block owner, own tools, no agents dispatched)
|
||||
- Start / end: Fri Oct 16 22:10 WEDT 2026 / Fri Oct 16 22:18:36 WEDT 2026 (`date`; the end is the report commit, this note followed)
|
||||
- Done: new `docs/workpad/reports/2026-10-16-22-gremlins-platform-handoff.md`, written per digest §8 and the amendment (A7, the `SPIRE_GREMLIN_UNSUPPORTED_OK` name, the C13 and C17 notes) against the code at `485cc66`. Sections: 1 Status (release gating restated, branch and checkout, no live call under the new names yet, Phase 4 smoke still required); 2 The seam (markers `:267`/`:734`, the seam grep, `PosixPlatform` per member with lines, the delegates, the gate functions); 3 Running the gates (uv, G-unit, G-where, the override and that `Base.setUp` sets it, the C13 note that only `GateTests` cover the gate and that `test_supported_flags` is the one test pinning the real POSIX value); 4 Known POSIX gaps (M14, the `/proc` walk on macOS, dead-root claims, zombie liveness, the ≥ 3 tree expectation, `os.link` locks, `setsid` survival, the supervisor interpreter, path refusals, the scrub list and the override passing it, the Windows-only `tearDownModule` check, a Windows `claude.exe` accepted under WSL, the transcript slug, the `!` injection with a failing `where`, the `.;` join); 5 WSL findings (inventory, interop, `where` table, suite table, the four causes and which 3.4a fixed); 6 What to test (12 items); 7 Smoke recipe (15 steps as commands with what each must show, briefs, tree recording, every `wait`/`kill`/`expire` with Bash `timeout: 600000`, spend about $1, $0.6–1.5); 8 How to lift the gate (11 places, per A7, including WSL's `sys.platform` being `linux`); 9 Not covered.
|
||||
- Deviations from plan:
|
||||
- §8.4's "M14: `kill` leaves `claude` running on macOS" (from the Phase 1 review) is stated more narrowly. By the current code `kill_job` passes the `claude` record as an extra root to `kill_tree`, so the sweep kills `claude` itself by pid; what survives on macOS is `claude`'s descendants. The report says so and asks the macOS porter to check it.
|
||||
- Beyond §8's list, §4 adds items found while reading the code, each marked "from the code": the supervisor's own kills spin `KILL_VERIFY_S` on a zombie `claude` before `p.wait()`; pid-only checks without `/proc` can `killpg` a reused pid (the most dangerous macOS gap); `tearDownModule`'s leftover check is Windows-only; lock staleness is pid-only on macOS.
|
||||
- §8 lists two more places that carry the platform wording besides A7's list: `implementation/SKILL.md:49` and `implementation/references/spawning-claude-code.md:75`.
|
||||
- No CHANGELOG file exists; the report says the changelog is the release commit body and that a lift must not rewrite it (the merge or release commit carries the corrected platform line).
|
||||
- Flagged for review:
|
||||
- The goal's platform, release-gating and seam decisions are uncommitted edits in the main checkout (`git status` there shows `docs/workpad/goals/headless-forks.md` modified; its last commit is `d373689`). A porter checking out the branch cannot read them; the report restates them. Igor may want to commit the goal on `main`.
|
||||
- `headless-forks` had no upstream at writing (not pushed); the report's checkout lines assume the user pushes it.
|
||||
- Lifting `linux` also opens WSL (`sys.platform` is `linux` there); the report leaves to the Linux Igor and the user whether `supported` should also require `not is_wsl()`.
|
||||
- The changelog problem above: the 3.8 release commit body will say "Linux and macOS gated", and nothing on the branch can correct it without a new commit or a merge message.
|
||||
- The smoke recipe's steps 13–15 (orphan, lost, survival) are new live steps that never ran on Windows either (Windows covered orphan and lost with the stub only, survival not at all).
|
||||
- Left for later: 3.8 (README row, manifests, full suite, G-text in full, release commit). The report's §1 tells porters to read the Phase 3 close for anything after it.
|
||||
- Expected broken: nothing (text only). No test run, no live `claude` calls, no processes started.
|
||||
- Commits: `95e6496` (report), then this note's commit.
|
||||
|
||||
Reference in New Issue
Block a user