Backlog items 4-5 close. Both-variants-in-one-run A/B at 50k, repeated with relay order reversed: every delta flipped with the order (the second-running relay won queries and ingest latency in BOTH runs), so readers=8 / mmap_size=256MiB / temp_store=MEMORY / periodic PRAGMA optimize are all noise-level on container-class hardware. The config plumbing stays (hardware-dependent, operators should measure their own box); the example config now says so explicitly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TtDNpayEYvJH7QuPswND3A
6.6 KiB
Amethyst plans index
Cross-module roll-up of every plans/ folder. Surveyed 2026-06-30.
Plans in this repo are decentralized: each module keeps its own design docs
in <module>/plans/YYYY-MM-DD-<slug>.md (see .claude/CLAUDE.md →
"Plans per module"). There is no single plans directory — this file is the
master index that stitches the per-folder indexes together.
Each plan carries a Status: header (shipped | in-progress | queued |
abandoned) backed by codebase evidence. Shipped plans are moved into each
folder's archive/; live work stays at the top level. For the full per-folder
listing (including archived plans), open that folder's README.md.
docs/plans/is the frozen legacy global folder — it is indexed here for completeness, but new plans must go in the owning module'splans/folder.
Totals
142 plans across 10 folders:
| Status | Count |
|---|---|
| shipped (archived) | 122 |
| in-progress | 9 |
| queued | 8 |
| abandoned | 3 |
By module
| Module | Plans | Shipped | In-prog | Queued | Aband. | Index |
|---|---|---|---|---|---|---|
| amethyst | 21 | 19 | 1 | 1 | 0 | amethyst/plans |
| nestsClient | 26 | 23 | 1 | 2 | 0 | nestsClient/plans |
| desktopApp | 13 | 10 | 2 | 1 | 0 | desktopApp/plans |
| quartz | 10 | 7 | 0 | 3 | 0 | quartz/plans |
| commons | 6 | 2 | 2 | 2 | 0 | commons/plans |
| cli | 6 | 5 | 1 | 0 | 0 | cli/plans |
| quic | 4 | 3 | 0 | 0 | 1 | quic/plans |
| quic/interop | 1 | 1 | 0 | 0 | 0 | quic/interop/plans |
| geode | 5 | 4 | 0 | 0 | 0 | geode/plans |
| docs (frozen) | 52 | 48 | 2 | 0 | 2 | docs/plans |
Live work (not shipped)
Everything still open, across all modules. Shipped plans are omitted here — find
them under each folder's archive/ via the per-module index above.
In progress (9)
| Module | Plan | Summary |
|---|---|---|
| amethyst | ios-support | KMP-to-iOS port; quartz/commons iOS targets configured (Phase 1) but no iosApp module yet. |
| commons | custom-feeds-plan | Custom feeds; model + builder + kind 31890 + desktop UI shipped, but relay-filter layer, DVM marketplace, kind 10090 sync, list resolution pending. |
| commons | nest-subscription-manager-extraction | Split per-speaker subscription state machine out of NestViewModel; only the ActiveSubscription stepping-stone extracted. |
| desktopApp | wallet-zapping-test-coverage | NWC handler + RPC round-trip tests shipped; wallet-column-state and zap-dialog-logic tests still missing. |
| desktopApp | napplet-desktop-host | Desktop NIP-5A/5D host; shared core extractions done, desktop engine/scheme-handler/transport/UI edge not built. |
| cli | cashu-cli | NIP-60/61/87 Cashu wallet verbs in amy; full command surface ships, production-mint interop harness pending. |
| nestsClient | t16-closure-roadmap | Priorities 1 & 2 closed and suite passes, but CI gating deferred and framesPerGroup rerun + two upstream items open. |
| docs | viewport-aware-metadata-loading | Base preloader/rate-limiter infra exists but the LazyListState/snapshotFlow viewport selection isn't clearly wired. |
| docs | macos-bunker-relogin | PR 1 defense-in-depth shipped, but the cold-boot root cause is still open/unidentified. |
Queued (8)
| Module | Plan | Summary |
|---|---|---|
| amethyst | napplet-inter-applet | NAP-INC / NAP-INTENT inter-applet messaging; prerequisites (multi-applet hosting, archetype registry, MESSAGING capability) not built. |
| quartz | local-headers-explorer | Headers-only Bitcoin P2P client to verify NIP-03 OTS attestations without a trusted block explorer. |
| quartz | giftwrap-deletion-requests | Let a recipient-authored kind-5 delete/block a gift wrap (kind 1059) addressed to them. |
| quartz | incremental-negentropy-storage | Always-current (created_at, id) index so cold NEG-OPENs stop paying a full scan + seal. |
| commons | event-renderer | Cross-platform UI-agnostic RenderedEvent subsystem shared by Amy, Desktop, Android; not started. |
| commons | amethyst-to-commons-migration | Roadmap to move shared amethyst Android code into commons; keystone Account/LocalCache extraction not begun. |
| desktopApp | embedded-wallet-phase2-research | Research for an embedded self-custodial Lightning wallet (Breez/ldk-node/lightning-kmp); parked, no code. |
| nestsClient | cross-stack-interop-ci-gating | CI gating for the cross-stack interop suite; infra built then removed over wallclock cost, kept as a ready revisit target. |
| nestsClient | framespergroup-production-rerun | Re-run the two-phone field tests to settle the framesPerGroup test-pin (5) vs default (50); needs prod-rig access. |
Abandoned (3)
| Module | Plan | Summary |
|---|---|---|
| quic | congestion-control | NewReno congestion control parked indefinitely; the real concern was solved by the smaller SendBuffer.bestEffort fix instead. |
| docs | desktop-relay-config-single-source | Single DesktopRelayConfig class never built; relay state landed as DesktopRelayCategories/LocalRelayCategories instead. |
| docs | macos-vlc-bundled-discovery | macOS bundled-VLC setenv discovery fix; moot after VLC/VLCJ was removed entirely in the kdroidFilter migration. |