auto-fix batch claude/friendly-maxwell-uPyR3 (2026-04-30)#503
Merged
Conversation
GossipEvent grow new variant later: catch-all `_ =>` silently forward, self-id filter shape only cover NeighborUp/NeighborDown. explicit variant arm force compile error on future additions. iroh.rs already exhaustive at api::Event match (line 150-181), no change need. Refs #258
audit ARCH-07 flag spec/code drift: phase-2e plan reserve SearchScope::ThisLetter + ::AllLetters but no Letter EventKind in crates/state/src/event.rs. visibility fix only — single STATUS.md tabulate UI-phase plan + EventKind prereq + landed-state. snapshot, not live tracker; manual patch when plan ship. Refs #337
stop hook fire while implementer mid-cargo-gates: coordinator no commit (skill rule), need wait without poll. Monitor + until-loop on git head advance = one notification when commit land. coordinator do GH-API metadata work in mean time (file follow-up, draft PR body), no touch implementer file scope. implementer surface pre-existing rot it not fix in scope (e.g. unrelated wasm break under --all-features): coordinator file follow-up via mcp__github__issue_write. metadata work, allow under coordinator-never- codes rule. cite discovery context (which dispatch, which gate step) so next run have provenance. example this run: #258 implementer surface mem.rs --all-features wasm break, coordinator file as #502. Refs #337, #258
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes
MemNetworkandIrohNetworkhave asymmetric unknown-event handling — test double hides production bugs #258 — replace_ =>catch-all incrates/network/src/mem.rs:280MemTopicEvents::nextneighbor-channel match with explicitGossipEvent::Received(_) | GossipEvent::NeighborUp(_) | GossipEvent::NeighborDown(_) =>so futureGossipEventadditions force a compile error here. iroh side already exhaustive atcrates/network/src/iroh.rs:150-181. zero behavior change current variant set; compiler enforce future revisit. commitd19de75.docs/plans/STATUS.mdtabulate 12 UI-design phase plans + their state-layer prereqs + landed-state. 9yes+ 3partial(2a whisper-placeholder, 2b sync-queue tombstone defer, 2e letter scope — the original ARCH-07 case). table make Letter/DM EventKind gap legible without grep cross-crate. snapshot doc, manual patch when plan ship. commitdad9765.Already-Fixed
resolve upstream before this run; coordinator-direct close pass (no implementer dispatch):
ProfileState.names/ChatMetaState.typing_peersaccept unbounded attacker-supplied strings #234 [SEC-V-05]ProfileState.names/typing_peersunbounded — LRU cap (10k) + 5 s TTL sweep on typing_peers ship1a9503f. verifycrates/client/src/state_actors.rs:121-203. audit @0de7631(general-audit: main @ 0de7631 (2026-04-29) #492) confirm.Arc<Mutex<>>in search/handle could beArc<RwLock<>>#326 [TD-08]Arc<Mutex<_>>quartet insearch/handle.rs— superseded by actor migration64417e2. handle nowaddr: Addr<SearchActor>, mailbox FIFO atomic. closenot_planned(audit premise moot).firefoxAvailable()probe +test.skip(!firefoxAvailable(), …)ship ine2e/cross-browser-sync.spec.ts:21-29,49. exact option-1 from issue.Parked
none. all picked issues either ship or already-fix.
Follow-up filed
cargo check --target wasm32-unknown-unknown -p willow-network --all-featuresfails on tokio import #502 —cargo check --target wasm32-unknown-unknown -p willow-network --all-featuresfail on tokio import inmem.rs. pre-existing on parent commit96dfce0; surface during [ARCH-06]MemNetworkandIrohNetworkhave asymmetric unknown-event handling — test double hides production bugs #258 implementer's local gate. project's actualjust check-wasmno use--all-featuresso green today. file as separate tech-debt tracker, not fix in this batch.Skill Evolution
0647319 docs(skill): Monitor wait pattern + coordinator-files-rot escape hatch. two add to.claude/skills/resolving-issues/SKILL.md:### Waiting for implementer commits without pollingsubsection. stop hook fire while implementer mid-cargo-gates; coordinator no commit (skill rule), need wait without poll. canonical pattern:Monitor+until [ "$(git log -1 --format='%H')" != "<prior-sha>" ]; do sleep 5; done— one notification when HEAD advance. coordinator do GH-API metadata work (file follow-up, draft PR body) in mean time, no touch implementer file scope.### Implementer-flagged out-of-scope rotsubsection. when implementer surface pre-existing rot it intentionally no fix (e.g. unrelated wasm break under--all-features), coordinator file follow-up viamcp__github__issue_write— metadata work, allow under coordinator-never-codes rule. cite discovery context (which dispatch + gate step) so next run have provenance. this run example: [ARCH-06]MemNetworkandIrohNetworkhave asymmetric unknown-event handling — test double hides production bugs #258 → [wasm-build]cargo check --target wasm32-unknown-unknown -p willow-network --all-featuresfails on tokio import #502.Lessons Learned
### Waiting for implementer commits without polling).mcp__github__list_issuestoken-cap, again. 50-result page exceed 192k char tool-result cap. saved-to-file fallback + jq work but slow + token-heavy on coordinator side. lesson Add deep-review skill for iterative code review #5 from general-audit lessons: 2026-04-29 #493 / general-audit skill already note same; recur this run too..clone()call sites — likely cascade in client/web #325 (.clone()cascade refactor), [TD-02] 1521 unwrap()/expect() call sites; 18 in network/mem.rs production path #321 (1521 unwrap call site), Implement heads-based delta sync (per spec from #219) #382/381/380/… (full feature spec implementations).MemNetworkandIrohNetworkhave asymmetric unknown-event handling — test double hides production bugs #258 implementer surface--all-featureswasm break, name parent commit it reproduce on, suggest two fix option, tag out-of-scope. coordinator file as [wasm-build]cargo check --target wasm32-unknown-unknown -p willow-network --all-featuresfails on tokio import #502 — follow-up handoff clean. validate the new### Implementer-flagged out-of-scope rotskill addition.Test plan
master-PR CI run full gate:
cargo fmt,cargo clippy(native + wasm-clippy onwillow-webper #501),cargo test,cargo check --target wasm32-unknown-unknown,wasm-pack test --headless --firefox. Local merge gate verify green per implementer report:d19de75([ARCH-06]MemNetworkandIrohNetworkhave asymmetric unknown-event handling — test double hides production bugs #258) —cargo fmt --all -- --checkclean,cargo clippy -p willow-network --all-features --all-targets -- -D warningsclean,cargo test -p willow-network --all-features18 unit + 5 integration + 2 doc-tests pass,cargo check --target wasm32-unknown-unknown -p willow-network(default features, matchingjust check-wasm) clean.--all-featureswasm path fail pre-existing → [wasm-build]cargo check --target wasm32-unknown-unknown -p willow-network --all-featuresfails on tokio import #502.dad9765([ARCH-07] Spec says "letters & DMs reuse search index" but DM/letter EventKind variants do not exist #337) — docs-only, no Rust change.cargo fmt --all -- --checkclean. markdown table validated 14 rows × 7 columns consistent.0647319(skill edit) — docs-only, no Rust change.Generated by Claude Code