mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-08 23:54:39 +00:00
A thin server-side policy so `amy serve --buzz` hosts a private, agent-authorized Buzz workspace on one JVM process — no Block Rust relay + Postgres/Redis/MinIO. - quartz: BuzzMembershipPolicy : FullAuthPolicy (buzz/relay/). Runs the NIP-42 handshake, then layers Buzz's two authorization rules: (1) only members (the team) may read/write; (2) NIP-OA virtual membership — an un-enrolled agent key is granted membership for its connection when its AUTH event carries an owner-signed `auth` tag whose owner is a member and whose signature authorizes that agent. An unauthenticated read is told `auth-required` (not `restricted`) so the client runs NIP-42 and retries. Deliberately does NOT emit relay-signed 39000-39003 metadata or run workflows (a policy can't emit events; the job channel doesn't need them). 8 unit tests. - cli: `amy serve --buzz [--members npubs]` composes the policy into geode's RelayEngine. Members = admins + --members. Verified end-to-end against a live `amy serve --buzz`: a member writes (published:true), an outsider is rejected (restricted: not a workspace member); plus the 8-case unit suite (member/non-member/unauth/reads/allowed-kinds/NIP-OA-agent/non-member-owner/tampered). Plan doc + cli README updated with the two relay options (amy serve --buzz vs the Rust stack) and when you'd need each. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mApqAbr8vkLC7gUDjavu6
cli plans
Audited 2026-06-30. 6 plans: 5 shipped (archived), 1 in-progress, 0 queued, 0 abandoned.
In progress
| Plan | Summary |
|---|---|
| 2026-05-28-cashu-cli.md | NIP-60/61/87 Cashu wallet verbs in amy; full command surface ships, production-mint interop harness still pending. |
Archived (shipped)
| Plan | Summary |
|---|---|
| archive/2026-04-21-cli-distribution.md | Native amy distribution via jlink/jpackage with a CI release matrix and Homebrew formula. |
| archive/2026-04-23-nip17-dm.md | NIP-17 DM send/list/await verbs in amy over quartz gift-wrap plumbing. |
| archive/2026-04-24-file-event-store-nips.md | Part 3: per-NIP enforcement, slots, tombstones, scrub, and tests for the file-backed event store. |
| archive/2026-04-24-file-event-store-overview.md | Part 1: goals and on-disk layout of the filesystem-native IEventStore for amy. |
| archive/2026-04-24-file-event-store-pipelines.md | Part 2: insert/query/delete/transaction/concurrency pipelines for the file-backed event store. |