Skip to content

[P1][go] Evaluate Go module-path migration (Shugur-Network/relay → canonical namespace) #109

Description

@psam21

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

  1. Inventory all imports and references, including generated files, shell scripts, NIP tools, Docker metadata, and documentation.
  2. Test the chosen path with go list, go test, go mod tidy, and a clean clone.
  3. Verify Go vanity import metadata for the selected canonical path.

Safe migration sequence (if approved)

  1. Inventory all imports and references.
  2. Add or verify Go vanity import metadata for the selected canonical path.
  3. Update go.mod and all internal imports in one controlled commit.
  4. Run the full unit, integration, NIP, cross-compilation, and clean-clone tests.
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions