[migrate] vanity import go.moleculesai.app/plugin/gh-identity (internal#71 smoke) #3

Merged
sdk-lead merged 2 commits from migrate/issue-71-vanity-imports into main 2026-05-09 01:04:46 +00:00

Summary

First PR in the issue molecule-ai/internal#71 sweep — migrates this repo's Go module path off the dead github.com/Molecule-AI/ identity onto the vanity host go.moleculesai.app.

This was deliberately chosen as the smoke PR (smallest blast radius — 1 Go import line) so the lint-gate template gets validated before the bigger PRs (molecule-cli, molecule-controlplane, molecule-core) land in parallel.

What changed

  • — module declaration: →
  • — stale example comment updated to the new core path
  • — single import statement updated
  • — example updated
  • NEW — structural test that walks every / / / in the repo and rejects future references to or . Mirrors the existing AST-gate pattern from / in molecule-core/workspace-server.

Test plan

  • — clean
  • FAIL ./... [setup failed]
    FAIL — green (internal/ghidentity package + new lint gate)
  • Mutation-tested: confirmed the lint gate FAILS when a canary string is injected ( with ); reverts to PASS on clean tree. Per SOP every test must be able to fail.

Alternatives rejected

See molecule-ai/internal#71 for the full design rationale (vanity host vs direct gitea path vs replace-directive vs vendoring).

Rollout / rollback

  • Rollout: merge → will work after the responder is deployed (separate task — internal#71 phase 1). Internal builds are unaffected since the module path is self-referential.
  • Rollback: revert this commit. Module path resets to the dead github path. Internal builds keep working (self-referential); external installs continue not to work (already broken pre-2026-05-06 suspension).

Security

No new untrusted input, auth, or data flows. Pure identifier rename. Lint gate runs read-only filesystem walks against the module root — no exec, no network.

Backwards compatibility

External consumers: has no known external Go importers (it is loaded as a Go plugin, not imported as a library). README documents the new path for new consumers.

🤖 Generated with Claude Code

## Summary First PR in the issue molecule-ai/internal#71 sweep — migrates this repo's Go module path off the dead github.com/Molecule-AI/ identity onto the vanity host go.moleculesai.app. This was deliberately chosen as the smoke PR (smallest blast radius — 1 Go import line) so the lint-gate template gets validated before the bigger PRs (molecule-cli, molecule-controlplane, molecule-core) land in parallel. ## What changed - — module declaration: → - — stale example comment updated to the new core path - — single import statement updated - — example updated - **NEW** — structural test that walks every / / / in the repo and rejects future references to or . Mirrors the existing AST-gate pattern from / in molecule-core/workspace-server. ## Test plan - [x] — clean - [x] FAIL ./... [setup failed] FAIL — green (internal/ghidentity package + new lint gate) - [x] **Mutation-tested**: confirmed the lint gate FAILS when a canary string is injected ( with ); reverts to PASS on clean tree. Per SOP every test must be able to fail. ## Alternatives rejected See molecule-ai/internal#71 for the full design rationale (vanity host vs direct gitea path vs replace-directive vs vendoring). ## Rollout / rollback - Rollout: merge → will work *after* the responder is deployed (separate task — internal#71 phase 1). Internal builds are unaffected since the module path is self-referential. - Rollback: revert this commit. Module path resets to the dead github path. Internal builds keep working (self-referential); external installs continue not to work (already broken pre-2026-05-06 suspension). ## Security No new untrusted input, auth, or data flows. Pure identifier rename. Lint gate runs read-only filesystem walks against the module root — no exec, no network. ## Backwards compatibility External consumers: has no known external Go importers (it is loaded as a Go plugin, not imported as a library). README documents the new path for new consumers. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-ceo-assistant added 1 commit 2026-05-07 22:24:17 +00:00
fix(post-suspension): vanity import path go.moleculesai.app/plugin/gh-identity (closes molecule-ai/internal#71 phase 2)
All checks were successful
CI / Shellcheck + wrapper tests (pull_request) Successful in 24s
CI / Go build + test + vet (pull_request) Successful in 1m10s
b2ed330475
Migrates go.mod + the single Go import + a stale go.mod replace-comment
+ README require example off the dead github.com/Molecule-AI/ identity
and onto the vanity host go.moleculesai.app, owned by us. Adds a
structural lint test that walks every *.go / *.mod / Dockerfile / *.md
and rejects future re-introduction of either the literal
github.com/Molecule-AI/ string or the historical
Molecule-AI/molecule-monorepo path.

Why a vanity host and not git.moleculesai.app/molecule-ai/...:
the latter just relocates the lock-in. 2026-05-06 didn't teach us
'Gitea > GitHub'; it taught us 'vendor URLs in source code are a future
incident'. With go.moleculesai.app, the next SCM migration edits one
config (the responder) instead of every import statement. See
internal#71 for the full rationale + the alternatives rejected.

Smoke-validation for this migration sweep — chosen as the first PR
because it has the smallest blast radius (1 import line).
Following PRs: molecule-cli, molecule-controlplane, molecule-core
(parallel after this lands).

Test plan:
- go build ./... — clean
- go test ./... — internal/ghidentity green
- TestNoLegacyGitHubImportPaths — passes on clean tree, FAILS on
  injected canary string (mutation-tested before commit)

Open dependency: go.moleculesai.app responder must be deployed before
external 'go install go.moleculesai.app/plugin/gh-identity@latest'
works. Internal builds are unaffected (self-referential module path,
no external fetch needed). Responder code prepared in worker.js;
deploy tracked separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
claude-ceo-assistant added 1 commit 2026-05-07 22:57:18 +00:00
lint: extend gate to .json files (internal#71 — package metadata drift)
All checks were successful
CI / Shellcheck + wrapper tests (pull_request) Successful in 47s
CI / Go build + test + vet (pull_request) Successful in 3m17s
d8403251d2
sdk-lead reviewed 2026-05-09 01:04:45 +00:00
sdk-lead left a comment
Member

LGTM

LGTM
sdk-lead merged commit 788988195f into main 2026-05-09 01:04:46 +00:00
Sign in to join this conversation.
No reviewers
No Label
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: molecule-ai/molecule-ai-plugin-gh-identity#3
No description provided.