Conversation
…m, NIP-11 discovery Port upstream block#3777 protocol unit: AdminAuth nip98/disabled modes, config plus owner-fallback principal resolution, per-request NIP-98 verification with deployment-scoped replay guard, staffing endpoints behind a roster-store seam, and NIP-11 admin_api discovery. Host/Origin ingress checks stay active in every mode. Relay-only: DB roster resolves empty until the roster migration lands; staffing writes report roster_unavailable. Contract for the DB lane is documented in roster.rs. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: only21mil <only21mil@users.noreply.github.com>
…ments Wire the dashboard to the relay admin auth protocol: discover the mode with one unauthenticated probe, sign every request with a NIP-07 kind-27235 event (fresh nonce per call, payload hash on mutations, single retry on 401), gate NIP-98 mode behind an extension-install screen, and fetch attachments through the credentialed API. No token entry surface. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: only21mil <only21mil@users.noreply.github.com>
Port upstream e094092 (block#5765) reconcile hunk: target one channel's kind:39002 snapshot for republish after rollout, leaving 39000/39001 untouched. Refuses ephemeral keys for the targeted path and reports a missing channel instead of silently backfilling nothing. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: only21mil <only21mil@users.noreply.github.com>
Document the NIP-98/role/staffing protocol as implemented, the fail-closed startup matrix, NIP-11 admin_api discovery, and the reconcile-channels repair path. Scope report resolution and feedback writes as the enforcement follow-up. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: only21mil <only21mil@users.noreply.github.com>
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.
Summary
Wave 1 P04 admin protocol: ports upstream
block/buzz#3777(operator/moderator roles, NIP-98 admin auth, admin discovery, admin-web) plus thereconcile-channels --channelrepair hunk frome0940927f(block#5765). Keeps the fork Host/Origin ingress restriction as an additional layer in every auth mode. Mirror ofwave1/p04-admin(same commits) for tooling prefix requirements.Relay-only first: the DB roster resolves empty until the roster migration lands (staffing writes answer
503 roster_unavailable). The P03 contract (table DDL plus exactDbmethod shapes) lives incrates/buzz-relay/src/api/admin/roster.rs; the P08 migration decision (five-migration bundle, ordered, adapted to fork schema) is in the wave report. Nobuzz-db/ormigrations/changes here.Related issue
none found (wave execution per project tracker; report at
internal/wave1-p04.mdin the project store).Testing
cargo checkandclippyclean:buzz-relay --all-targets,buzz-admin.just testinfra.buzz-admin reconcile-channels --helpplus both guard errors verified; full run needs a live DB.