Skip to content

NAP-1: Profile topic family - #21

Closed
dskvr wants to merge 3 commits into
masterfrom
nub-01-profile-open
Closed

NAP-1: Profile topic family#21
dskvr wants to merge 3 commits into
masterfrom
nub-01-profile-open

Conversation

@dskvr

@dskvr dskvr commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Broadens NAP-1 from one profile action to the profile:* NAP-INC topic family. It keeps profile:open as the first concrete topic and leaves room for future compatible profile:* topics.

Why

One numbered NAP per tiny topic is too narrow, but the earlier umbrella topic draft was too broad to review or prove compatible. A profile namespace draft is the middle ground: small enough to reason about, broad enough to grow.

Spec / API Surface

  • Discovery: shell.supports("inc", "NAP-1").
  • Manifest dependency remains ["requires", "inc"].
  • Current concrete topic: profile:open with { pubkey }.
  • Future compatible revisions may add additional profile:* topics.

Compatibility

Existing profile:open producers and consumers keep the same topic string and payload. The draft does not reserve direct-message, stream, shell, or relay topics.

Non-goals

  • Generic NAP-INC transport.
  • Shell window placement, focus, or routing policy.
  • Profile metadata fetching, caching, or rendering.
  • Direct-message, chat, relay, or stream coordination topics.

Follow-ups

NAP-2 covers the stream:* family in a separate namespace draft. Additional profile:* topics should be added here only if they stay inside profile identity/display/navigation semantics.

Supersedes the profile:open portion of the closed umbrella topic payload PR #20.

Changelog

  • c0e30db - Introduced NAP-1 as the profile topic family.

@dskvr dskvr changed the title NUB-01: Profile open topic NUB-01: Profile topic family May 25, 2026
@dskvr dskvr changed the title NUB-01: Profile topic family NAP-01: Profile topic family Jun 3, 2026
@dskvr

dskvr commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@copilot resolve the merge conflicts in this pull request

Copilot finished work on behalf of dskvr June 11, 2026 14:28
@dskvr dskvr changed the title NAP-01: Profile topic family NAP-1: Profile topic family Jun 12, 2026
Rebased onto current master; spec only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dskvr
dskvr force-pushed the nub-01-profile-open branch from 132355e to c0e30db Compare June 17, 2026 19:14
dskvr added 2 commits June 21, 2026 18:28
The numbered topic NAP is a language-neutral wire contract. The shell.supports example is not TypeScript-specific, so it now uses an untyped code fence.

Constraint: Keep this branch scoped to its numbered NAP file.
Confidence: high
Scope-risk: narrow
Tested: git diff --check
Tested: rg found no ts or typescript code fences in the changed file
Open NAP proposal branches need reader-visible changelogs that track semantic spec changes without recording formatting-only migrations.

Constraint: Changelog entries are one bullet per semantic commit-change.
Rejected: Include schema-table or formatting-only commits | they do not change the spec contract or boundary.
Confidence: high
Scope-risk: narrow
Directive: Keep future changelog entries semantic; omit changelog-only and formatting-only commits.
Tested: git diff --check
Not-tested: Rendered Markdown
@dskvr

dskvr commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Closing this because numbered NAPs are being removed from the registry. Cross-napplet payload shapes should converge as unnumbered conventions, without sequence assignment or shell.supports("<domain>", "NAP-N") negotiation.

Suggested alternative:

Use an unnumbered convention advertised by profile handlers instead of a numbered NAP.
Convention: profile:open
Discovery: manifest `['archetype', '<slug>', 'profile:open']` and `intent.available()` candidate `conventions`.

@dskvr dskvr closed this Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant