Files
amethyst/PLANS.md
T
Vitor PamplonaandClaude Opus 5.5 d6a5382e58 chore(agents): share rules, skills and push checks between Claude Code and Codex
Codex (run locally) added AGENTS.md, .agents/skills symlinks and a .codex push
hook; this makes both agents read one copy of everything:

- AGENTS.md is now the single source of the project rules. .claude/CLAUDE.md
  imports it with @../AGENTS.md and keeps only Claude-specific notes; the res/
  guide moves to amethyst/src/main/res/AGENTS.md the same way.
- .agents/skills/<name> are symlinks to .claude/skills/<name>, never copies.
- The push checks move to tools/agent-hooks/, run by .claude/settings.json,
  .codex/hooks.json (matched to Bash and the PR tool) and CI. The Codex hook
  now also runs spotless. The shared gate accepts Codex's payloads.
- New agent_config_check.py (pre-push and CI) enforces the layout: symlinks,
  CLAUDE.md imports, AGENTS.md under Codex's 32 KiB doc limit, description
  length, the combined skill-list budget, and that every path a skill cites
  exists.
- Fixes the Compose-escaping pre-push hook, which exited 1 on a hit and so
  never blocked a push (PreToolUse blocks only on exit 2).
- Live docs point at AGENTS.md instead of .claude/CLAUDE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:20:49 -04:00

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 AGENTS.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's plans/ 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.