PURR-2026-0006: Namespacing guidelines #162

Merged
ava merged 2 commits from cyrneko/namespace-naming-guidelines into main 2026-04-13 15:17:46 +02:00
Owner

This is basically #138 but without aGit, as aGit doesn't allow me to push follow-up patches it seems


This PURR introduces proper guidelines about how to format URLs, as well as how implementations should behave when encountering URLs without an explicit scheme (i.e https://).

This is basically #138 but without aGit, as aGit doesn't allow me to push follow-up patches it seems --- This PURR introduces proper guidelines about how to format URLs, as well as how implementations should behave when encountering URLs without an explicit scheme (i.e `https://`).
Expand on namespaces syntax
Some checks failed
Lint, Build, Smoketest Run / Lint (pull_request) Failing after 1m28s
Lint, Build, Smoketest Run / Build and Run (pull_request) Successful in 1m43s
Lint, Build, Smoketest Run / Deploy (pull_request) Has been skipped
9a9c15b5bb
Aims to fix #51
feat: URL-based namespacing
All checks were successful
Lint, Build, Smoketest Run / Lint (pull_request) Successful in 1m20s
Lint, Build, Smoketest Run / Build and Run (pull_request) Successful in 1m48s
Lint, Build, Smoketest Run / Deploy (pull_request) Has been skipped
42551ba713
Namespaces are now defined as a URL, like this:
polyproto.org/chat
or like this:
https://polyproto.org/chat

the https:// is supposed to be implied, unless explicitly set to
http://, and the namespace should never be parsed without the prefix.

do note that pre-commit hooks did a bunch of changes here that I cannot
100% verify are intentional :woozy:
cyrneko force-pushed cyrneko/namespace-naming-guidelines from 42551ba713
All checks were successful
Lint, Build, Smoketest Run / Lint (pull_request) Successful in 1m20s
Lint, Build, Smoketest Run / Build and Run (pull_request) Successful in 1m48s
Lint, Build, Smoketest Run / Deploy (pull_request) Has been skipped
to 7fa7fec7af
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 2m28s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m23s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
2026-04-07 21:29:12 +02:00
Compare
Owner

For clarificatin, in case that was maybe accidentally misread: I meant URIs, not (just) URLs, because a URI can also be URL, but it could also be an OID, which I'd really like to have the option of using :)

For clarificatin, in case that was maybe accidentally misread: I meant [`URIs`](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier), not (just) `URLs`, because a URI can also be URL, but it could also be an OID, which I'd really like to have the option of using :)
Author
Owner

ah, I assumed a URL would have been fine as I had assumed OIDs could be referred to by URL

alright, I'll fix that up :)

ah, I assumed a URL would have been fine as I had assumed OIDs could be referred to by URL alright, I'll fix that up :)
URIs instead of URLs
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 1m58s
Flake check, build, deploy / Build the project (pull_request) Successful in 2m55s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
6d4e5f7c69
- Clarifies that *any* URI can be used, not just URLs
- Clarifies that if no scheme is given, HTTPs is to be assumed
- Polyproto → polyproto

<small>Yet again, pre-commit forced me to commit a bunch of stuff I
don't care about for this commit</small>
@ -2617,6 +2617,18 @@ taken by an officially endorsed extension, a different namespace must be chosen.
collision exists between an officially endorsed extension and a regular P2 extension, the officially
endorsed extension has priority.
Namespaces are constructed as URIs, such as HTTP(s) URLs or OID references. When no scheme is
Owner

Maybe we could also leave the whole "defining what it looks like" out of the spec, and just refer to https://www.rfc-editor.org/rfc/rfc3986 instead??

Maybe we could also leave the whole "defining what it looks like" out of the spec, and just refer to <https://www.rfc-editor.org/rfc/rfc3986> instead??
Author
Owner

Well I'm not redefining how to parse a URI here, just:

  • we use URIs for namespaces
  • give an example of URIs
  • clarify that if no scheme is given HTTPs is to be assumed
Well I'm not redefining how to parse a URI here, just: - we use URIs for namespaces - give an example of URIs - clarify that if no scheme is given HTTPs is to be assumed
Author
Owner

I guess perhaps I should make the URIs a link back to that RFC?

I guess perhaps I should make the `URIs` a link back to that RFC?
Owner

That would be fine, yeah. Alright, if that's the intention, then it's good this way :)

That would be fine, yeah. Alright, if that's the intention, then it's good this way :)
cyrneko marked this conversation as resolved
ava requested changes 2026-04-09 13:13:41 +02:00
Dismissed
ava left a comment

I re-read the PR and I like how you worded things :) However, I think the rest of the text in that same section is now perhaps a little outdated, and should be looked at again before this can be merged. One example: I think the 2-64 character limit is no longer applicable.

I re-read the PR and I like how you worded things :) However, I think the rest of the text in that same section is now perhaps a little outdated, and should be looked at again before this can be merged. One example: I think the 2-64 character limit is no longer applicable.
remove old namespace guidelines, clarify URI RFC that is referred to
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 1m56s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m0s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
e9446e3aa6
Author
Owner

alright, made the requested changes! Been hanging a bit behind lately, lotsa stuff happening outside of Polyproto and my main PC isn't usable rn, but I'll try to catch up.

alright, made the requested changes! Been hanging a bit behind lately, lotsa stuff happening outside of Polyproto and my main PC isn't usable rn, but I'll try to catch up.
ava approved these changes 2026-04-13 14:32:38 +02:00
ava left a comment

I like this! Thank you very much :)

I like this! Thank you very much :)
ava changed title from WIP: PURR-2026-0006: Namespacing guidelines to PURR-2026-0006: Namespacing guidelines 2026-04-13 14:33:20 +02:00
ava force-pushed cyrneko/namespace-naming-guidelines from e9446e3aa6
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 1m56s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m0s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
to 8fde52825a
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 2m27s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m18s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
2026-04-13 14:37:14 +02:00
Compare
ava force-pushed cyrneko/namespace-naming-guidelines from 8fde52825a
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Failing after 2m27s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m18s
Flake check, build, deploy / Deploy page (pull_request) Has been skipped
to 49085bf97f
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Successful in 2m11s
Flake check, build, deploy / Build the project (pull_request) Has been cancelled
Flake check, build, deploy / Deploy page (pull_request) Has been cancelled
2026-04-13 14:45:49 +02:00
Compare
ava force-pushed cyrneko/namespace-naming-guidelines from 49085bf97f
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Successful in 2m11s
Flake check, build, deploy / Build the project (pull_request) Has been cancelled
Flake check, build, deploy / Deploy page (pull_request) Has been cancelled
to 0e6d7842b5
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Has been cancelled
Flake check, build, deploy / Build the project (pull_request) Has been cancelled
Flake check, build, deploy / Deploy page (pull_request) Has been cancelled
2026-04-13 14:48:43 +02:00
Compare
ava force-pushed cyrneko/namespace-naming-guidelines from 0e6d7842b5
Some checks failed
Flake check, build, deploy / nix flake check (pull_request) Has been cancelled
Flake check, build, deploy / Build the project (pull_request) Has been cancelled
Flake check, build, deploy / Deploy page (pull_request) Has been cancelled
to fea433deff
All checks were successful
Flake check, build, deploy / nix flake check (pull_request) Successful in 1m50s
Flake check, build, deploy / Build the project (pull_request) Successful in 3m22s
Flake check, build, deploy / Deploy page (pull_request) Successful in 4s
2026-04-13 14:49:41 +02:00
Compare
ava merged commit cc1f03db17 into main 2026-04-13 15:17:46 +02:00
ava deleted branch cyrneko/namespace-naming-guidelines 2026-04-13 15:17:48 +02:00
Sign in to join this conversation.
No reviewers
ava
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
polyphony/polyproto-dot-org!162
No description provided.