mirror of
https://github.com/block/buzz.git
synced 2026-11-09 02:41:57 +00:00
docs(nip-fi): fix pinned NIP source links and identifier-classification contradiction
Review findings from Mari and Quinn on #5946 at 2511d1baf:
- Repoint the pinned NIP-42/NIP-98 source links from a nonexistent
upstream commit (404) to the resolved commit
6d2979b3f503a8539c983efbcdcf901bbcf9ed23 (both 200).
- NIP-FI-EDGE no longer classifies transport_contract_id as
interoperability-critical, which contradicted core's exclusive
deployment-local classification. The value stays deployment-local;
the contract semantics EDGE contributes to it are what is normative.
- Core's rejection-and-privacy absolute ("never of private server
state") now carries the authorization_unavailable carve-out its own
table and NIP-FI-CONF already relied on.
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>
Signed-off-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>
This commit is contained in:
@@ -19,9 +19,13 @@ The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHALL**, **SHALL NOT**,
|
|||||||
**OPTIONAL** are to be interpreted as described in BCP 14 when, and only when,
|
**OPTIONAL** are to be interpreted as described in BCP 14 when, and only when,
|
||||||
they appear in all capitals.
|
they appear in all capitals.
|
||||||
|
|
||||||
`transport_contract_id` and every identifier serialized by this document are
|
Every identifier this document serializes on the wire — header names, the
|
||||||
interoperability-critical. Local adapter revision identifiers and key identifiers
|
profile identifier, provenance envelope fields, and proof transport codes — is
|
||||||
are deployment-local and MUST NOT appear in public discovery.
|
interoperability-critical. `transport_contract_id` remains deployment-local as
|
||||||
|
core classifies it: its value is opaque outside a deployment, while the
|
||||||
|
canonical contract semantics this profile contributes to it are normative and
|
||||||
|
fixed here. Local adapter revision identifiers and key identifiers are
|
||||||
|
deployment-local and MUST NOT appear in public discovery.
|
||||||
|
|
||||||
## Common trusted-edge requirements
|
## Common trusted-edge requirements
|
||||||
|
|
||||||
|
|||||||
@@ -447,8 +447,10 @@ assertion revalidation material is destroyed on expiry, close, or invalidation.
|
|||||||
## Rejection and privacy
|
## Rejection and privacy
|
||||||
|
|
||||||
Public class is a function only of evidence the requester supplied, never of
|
Public class is a function only of evidence the requester supplied, never of
|
||||||
private server state. Under the private-posture rule, even `key_mismatch` joins
|
private per-principal server state; `authorization_unavailable` is the sole
|
||||||
the private-state anonymity set.
|
exception and reveals only that a required authoritative dependency is
|
||||||
|
unreadable, never any per-principal fact. Under the private-posture rule, even
|
||||||
|
`key_mismatch` joins the private-state anonymity set.
|
||||||
|
|
||||||
| Private condition | Public class | Nostr prefix and exact text | HTTP response |
|
| Private condition | Public class | Nostr prefix and exact text | HTTP response |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
@@ -578,8 +580,8 @@ atomically. Availability failures deny rather than degrade to Nostr-only access.
|
|||||||
|
|
||||||
## Sources
|
## Sources
|
||||||
|
|
||||||
- NIP-42 authentication: <https://github.com/nostr-protocol/nips/blob/6d2979b369329748734c66846989e453270ced03/42.md>
|
- NIP-42 authentication: <https://github.com/nostr-protocol/nips/blob/6d2979b3f503a8539c983efbcdcf901bbcf9ed23/42.md>
|
||||||
- NIP-98 HTTP authentication: <https://github.com/nostr-protocol/nips/blob/6d2979b369329748734c66846989e453270ced03/98.md>
|
- NIP-98 HTTP authentication: <https://github.com/nostr-protocol/nips/blob/6d2979b3f503a8539c983efbcdcf901bbcf9ed23/98.md>
|
||||||
- JWT BCP: <https://www.rfc-editor.org/rfc/rfc8725>
|
- JWT BCP: <https://www.rfc-editor.org/rfc/rfc8725>
|
||||||
- JWT access-token profile: <https://www.rfc-editor.org/rfc/rfc9068>
|
- JWT access-token profile: <https://www.rfc-editor.org/rfc/rfc9068>
|
||||||
- Non-normative composed model: [NIP-FI-MODEL.md](NIP-FI-MODEL.md)
|
- Non-normative composed model: [NIP-FI-MODEL.md](NIP-FI-MODEL.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user