Migrated from docs/pending-work-plan.md §5 + docs/Shugur-Migration-Plan.md Phase 5.
Decision required
Before changing the module path, decide whether nostr.ltd is a stable canonical import namespace. A bare domain is not automatically a usable Go module path unless the domain is configured for Go import discovery, or a complete path such as nostr.ltd/relay is selected and maintained.
| Option |
Benefit |
Risk |
Recommendation |
| Keep old module path internally |
Zero downstream breakage |
Legacy identity remains in code |
Safe short-term fallback |
Move to nostr.ltd/relay |
Canonical identity |
Requires import, discovery, and downstream migration |
Preferred only after discovery is verified |
| Use a GitHub vanity-compatible path |
Easier Go tooling |
Does not fully remove GitHub/Shugur identity |
Transitional option |
| Change cosmetic references only |
Low risk |
Does not complete technical migration |
Already largely completed |
Required investigation
- Inventory all imports and references, including generated files, shell scripts, NIP tools, Docker metadata, and documentation.
- Test the chosen path with
go list, go test, go mod tidy, and a clean clone.
- Verify Go vanity import metadata for the selected canonical path.
Safe migration sequence (if approved)
- Inventory all imports and references.
- Add or verify Go vanity import metadata for the selected canonical path.
- Update
go.mod and all internal imports in one controlled commit.
- Run the full unit, integration, NIP, cross-compilation, and clean-clone tests.
- Publish a compatibility note for any external consumers.
The module-path migration must not be combined with an unrelated upload or OOM fix. Separate commits make rollback and production diagnosis possible.
Acceptance criteria
- Decision recorded in the issue (keep / migrate / defer).
- If migrate: clean-clone test passes, all imports updated, compatibility note published.
- If defer: rationale recorded and a follow-up review date set.
Dependencies
Source
Migrated from docs/pending-work-plan.md §5 and docs/Shugur-Migration-Plan.md Phase 5.
Migrated from
docs/pending-work-plan.md§5 +docs/Shugur-Migration-Plan.mdPhase 5.Decision required
Before changing the module path, decide whether
nostr.ltdis a stable canonical import namespace. A bare domain is not automatically a usable Go module path unless the domain is configured for Go import discovery, or a complete path such asnostr.ltd/relayis selected and maintained.nostr.ltd/relayRequired investigation
go list,go test,go mod tidy, and a clean clone.Safe migration sequence (if approved)
go.modand all internal imports in one controlled commit.The module-path migration must not be combined with an unrelated upload or OOM fix. Separate commits make rollback and production diagnosis possible.
Acceptance criteria
Dependencies
Source
Migrated from
docs/pending-work-plan.md§5 anddocs/Shugur-Migration-Plan.mdPhase 5.