filbert: Codex move handoff note (decision 122)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,81 @@
|
|||||||
|
# Filbert handoff: Claude thread to Codex gpt-6.1-sol
|
||||||
|
|
||||||
|
Written 2026-10-12 by Filbert on the Claude thread
|
||||||
|
(9cb9731e-a10f-4c8f-a212-c4fa1f5f4731), per lead decision 122 (Jason's Q129).
|
||||||
|
The move takes effect after row 95 lands and after my row 92 round 2 verdict
|
||||||
|
is posted, whichever comes later. Run `scripts/mosaic queue next filbert`
|
||||||
|
before trusting anything below; the queue wins over this note.
|
||||||
|
|
||||||
|
## Open reviews (filbert is a reviewer)
|
||||||
|
|
||||||
|
| Row | Issue | State | Mine |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 92 | #1586 | in review, Darkwing building round 2 | Round 1: **changes**, comment 27951, rev 772. Dewey approved round 1. **The Claude thread reviews round 2 before the move.** |
|
||||||
|
| 13 | #1508 | in review | approved, comment 26589. Waits on others. |
|
||||||
|
| 63 | #1556 | in review | approved, comment 27846. Dewey asked for changes (27847). Review round 2 when Darkwing requests it. |
|
||||||
|
| 77 | #1571 | in review, round 2 | approved, comment 27898. Waits on the gate. |
|
||||||
|
| 88 | #1582 | briefed (Researcher builds) | Review when requested. I am the only reviewer. Items 7 and 8 must kill my row 61 survivors: `in` used for `Object.hasOwn`, and the dropped `txt()`. |
|
||||||
|
|
||||||
|
The other rows that list me as a reviewer are briefed or parked; the queue
|
||||||
|
names them when they're ready.
|
||||||
|
|
||||||
|
Row 92 round 1 asked for six things (details in 27951):
|
||||||
|
|
||||||
|
1. Confined-shell table rows proving `/proc`, `/dev` and IPC are private. Today `--ro-bind /proc`, `--dev-bind /dev` and a dropped `--unshare-ipc` all survive. Host `/dev/shm` holds 0600 PostgreSQL segments.
|
||||||
|
2. A row running pi in the sandbox. The dropped `node_modules` bind survives.
|
||||||
|
3. A launcher test where a runner is SIGKILLed from the host and the end reason is `killed`. `resolve({ code, signal })` survives.
|
||||||
|
4. A pi launch with no credential succeeds.
|
||||||
|
5. The cli README refusal row adds `ANTHROPIC_AUTH_TOKEN` with `ANTHROPIC_BASE_URL`.
|
||||||
|
6. A README sentence: pi logs in only through `ENV_ALLOW`, since `~/.pi/agent` is gone.
|
||||||
|
|
||||||
|
My mutant script is `~/filbert-scratch/r92/mutants.py <worktree> <out>`, with
|
||||||
|
13 edits. Round 2 should kill everything except `no /etc`, `0755` and
|
||||||
|
`recover start time`, which are notes.
|
||||||
|
|
||||||
|
## Row 95 (#1589), mine as builder
|
||||||
|
|
||||||
|
Darkwing approved round 1 (comment 27953, rev 773), naming manifest
|
||||||
|
`246c0557…`. There is no round 2 (Sage, 2026-10-12). Sage is running the gate
|
||||||
|
rerun and lands it. Mos is notified before landing, and it goes live after
|
||||||
|
the Console restart Mos approves.
|
||||||
|
|
||||||
|
**Follow-up after landing** (Sage agreed), for Darkwing's notes:
|
||||||
|
|
||||||
|
- N1: `browser-edge.test.mjs` line 29 awaits `boardRequested` with no bound. A toggle regression stalls the file for 120 s instead of failing it. Bound it.
|
||||||
|
- N2: test 2's 600 ms settle never reaches the 10 s poll, so "no further request on the poll" claims more than it tests. That is why mutants 13 and 27 survive.
|
||||||
|
- N3: the README test paragraph should also list the conversations, seen and queue redirects.
|
||||||
|
|
||||||
|
The packet is `agents/filbert/work/queue-95/`. My scratch worktree is
|
||||||
|
`~/filbert-scratch/r95w`.
|
||||||
|
|
||||||
|
## Row 93 (#1587), mine to build on Codex
|
||||||
|
|
||||||
|
- Brief: `docs/plans/2026-10-12_pm-test-fixes.md`, section "A review loop through the bus" (blob ae867dfa).
|
||||||
|
- It needs row 91 done (Darkwing's project checkout per workspace, which itself waits on row 92) and row 95 done. Not started; nothing is drafted.
|
||||||
|
- Reviewers are Darkwing and Dewey, both required. Gate owner is Sage.
|
||||||
|
- Scope: a bare working repository per business and project, under the data root, that only the host writes. Plus four verbs and tools:
|
||||||
|
- `push_working`: fast-forward only, to `work/<task ref>`;
|
||||||
|
- `request_review`: the commit must be in the working repository;
|
||||||
|
- `fetch_review`: into the reviewer's clone as a remote-tracking ref;
|
||||||
|
- `review_verdict`: approve or changes, citing the request event.
|
||||||
|
|
||||||
|
The role paragraphs and the session text name the steps. The packet argues whether `task_close` checks the verdict citation.
|
||||||
|
- Read the brief's full file list and its out-of-scope section before starting. The host runs git for a session, so this crosses row 92's sandbox; build on whatever row 92 lands.
|
||||||
|
|
||||||
|
## Working rules I follow (not all in AGENTS.md)
|
||||||
|
|
||||||
|
- Gitea writes: `MOSAIC_GITEA_CREDENTIAL_FILE=$HOME/.mosaic/fleet/agents/filbert/secrets/gitea-mosaicstack-filbert.token`, with `scripts/gitea-api.sh` run from the repo. Check that `GET user` returns `filbert` first. Never print the token.
|
||||||
|
- Verdicts:
|
||||||
|
1. Post the comment, then read it back and compare the body to the file.
|
||||||
|
2. Record it: `scripts/mosaic queue review record <row> --verdict approve|changes --comment ID --candidate <manifest sha> --op filbert-<row>-review-<n> --by filbert`.
|
||||||
|
3. Commit the rev with `scripts/queue-commit.sh -m ...`, naming other seats' swept revs.
|
||||||
|
4. Only after it says committed, write the SESSIONS line.
|
||||||
|
- I commit only my own records, packets and queue revs. Sage commits candidates and pushes. I push nothing.
|
||||||
|
- Gates:
|
||||||
|
- Use a detached `git worktree` at the base, apply the patch with `git apply --index`, symlink `node_modules`, then run `sha256sum -c` on the manifest and check BASE..HEAD for drift.
|
||||||
|
- Run suites sequentially with output teed, `TMPDIR=~/filbert-scratch/tmp` and `DOCKER_HOST=unix:///nonexistent.sock`.
|
||||||
|
- Mutant runs:
|
||||||
|
- Each run gets `start_new_session=True`, with `killpg` on timeout.
|
||||||
|
- Afterwards, kill my leftover node or chromium processes (cwd under `~/filbert-scratch`) by PID. Other seats wait for a quiet machine.
|
||||||
|
- To remove a worktree: `rm -f` its `node_modules` symlink, then `git worktree remove --force`.
|
||||||
|
- Never start, stop or restart the Console or the bus unit. No writes under `~/.mosaic`. Agent seats never run the human verbs against a real bus.
|
||||||
Reference in New Issue
Block a user