mirror of
https://github.com/logos-messaging/logos-chat.git
synced 2026-07-31 07:03:20 +00:00
Reports for each of the 8 cleanup agents (DRY, types, unused, cycles, weak-types, try/except, legacy, slop) recording verdicts + applied changes + deferred items, plus the consolidated SUMMARY.md. End-of-pass local sim ALL 15 PASSED.
4.4 KiB
4.4 KiB
Cleanup pass summary (2026-05-21)
Sequential 8-agent cleanup against the working state captured at tag
restore/sim-15-15-pass-2026-05-21 (see ../RESTORE_POINT.md).
Each agent did focused research → critical assessment → high-confidence implementation, with the local sim re-verified after each set of commits.
Per-agent results
| # | Agent | Outcome | Net LOC | Report |
|---|---|---|---|---|
| 01 | DRY / consolidation | Extracted watchMembershipConfirmation helper; collapsed two duplicate watcher procs |
nwaku +16 / outer −28 / ld +16 | 01-dry.md |
| 02 | Type consolidation | Dropped duplicate MerkleNode/MembershipIndex/ExternalMerkleProof; collapsed adapter procs |
nwaku −32 / outer −20 / ld −32 | 02-types.md |
| 03 | Unused code removal | Removed confirmMembershipLeafIndex + RegisterMemberFunc/setRegisterMemberFunc (zero callers anywhere) |
nwaku −66 / ld −66 | 03-unused.md |
| 04 | Circular dependencies | Verified no real cycles in scope; no changes | 0 | 04-cycles.md |
| 05 | Weak types | Rewrote misleading "break a cyclic import" comment to reflect the true cross-thread storage rationale | nwaku +3 / ld +3 | 05-weak-types.md |
| 05B | Weak types re-eval | Typed setGroupManagerRef over concrete OnchainLEZGroupManager; tightened setRlnIdentity's cast-back to the same concrete subtype; removed 3 cast[pointer] from caller sites |
nwaku +2 / outer 0 / ld +2 | 05b-weak-types.md |
| 06 | try/catch cleanup | All sites at legitimate trust boundaries; no changes | 0 | 06-try-catch.md |
| 07 | Deprecated / legacy / fallback | Removed pre-unified-RPC fallback branch in plugin pollLoop (unreachable after unified get_merkle_proofs shipped) |
plugin −6 / ld plugin −6 | 07-legacy.md |
| 08 | Slop / comments | Compressed session-narrative comments across the gifter protocol files, codecs.nim, run_simulation.sh; kept WHY-comments (cross-thread storage, server-must-not-close, root-drift defensive) | nwaku −54 / plugin −11 / ld −54 | 08-slop.md |
Aggregate diff vs restore tag
| Level | Net LOC change |
|---|---|
outer logos-chat |
−47 |
vendor/nwaku |
−154 |
vendor/nwaku/vendor/mix-rln-spam-protection-plugin |
−17 |
vendor/logos-lez-rln/logos-delivery (loose) |
−154 |
vendor/logos-lez-rln |
0 (untouched by cleanup; only pinned pointers) |
Net change across the chain: ~−372 LOC, removals dominate. No behavioral changes — every commit verified against the local sim with ALL 15 PASS.
Verification
| Run | Result | Source |
|---|---|---|
| Local sim after each cleanup commit set | ALL 15 PASS | per-agent reports |
| Local sim final state | ALL 15 PASS | /tmp/sim_cleanup_08b.log |
| Testnet slim sim final state | ALL 15 PASS (Kademlia ready in 121s, all 4 mix nodes confirmed, sender published, receiver got 24 events) | /tmp/sim_cleanup_phase3_testnet.log |
Items deferred to follow-up
Per-agent reports list their own deferred items. Notable ones worth revisiting:
- JSON params encoder (02): The ad-hoc
"{\"configAccountId\":\"...\"}"string-concat encoding of RPC fetcher parameters is intentional — short and matches the wire format. A typed record + encoder would not reduce LOC and would add an abstraction layer between the call site and the wire shape. Leave as is unless wire format diverges. - Watcher-block doc consolidation (08): The two watcher block doc-comments (mix-node and chat-client paths) describe the same contract. Could be reduced to one-liners that defer to
watchMembershipConfirmation's docstring as the single source of truth. Tiny win, easy follow-up. feat/sim-rln-gifter-auth-debugbranch name in the looselogos-deliverycheckout (07): the branch carries the full session's work, not just debug. Rename tofeat/sim-rln-gifter-authfor consistency with the nwaku side. Cosmetic.
Restore
If a regression surfaces, restore the pre-cleanup state with:
TAG=restore/sim-15-15-pass-2026-05-21
git -C . checkout "$TAG"
git -C vendor/nwaku checkout "$TAG"
git -C vendor/nwaku/vendor/mix-rln-spam-protection-plugin checkout "$TAG"
git -C vendor/logos-lez-rln checkout "$TAG"
git -C vendor/logos-lez-rln/logos-delivery checkout "$TAG"
(Same commands as in ../RESTORE_POINT.md.)