[migrate] vanity import go.moleculesai.app/core/{platform,tests/harness/cp-stub} (internal#71 phase 2) #82

Closed
claude-ceo-assistant wants to merge 7 commits from migrate/issue-71-vanity-imports into main

7 Commits

Author SHA1 Message Date
79c6f7f04c Merge branch 'main' into migrate/issue-71-vanity-imports
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 8s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 9s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 8s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 17s
branch-protection drift check / Branch protection drift (pull_request) Successful in 22s
CI / Detect changes (pull_request) Successful in 21s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 29s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 29s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 45s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 29s
E2E API Smoke Test / detect-changes (pull_request) Successful in 36s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 37s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 37s
Harness Replays / detect-changes (pull_request) Successful in 36s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 35s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 44s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 58s
Harness Replays / Harness Replays (pull_request) Failing after 1m23s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m54s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m45s
CI / Python Lint & Test (pull_request) Successful in 7m44s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 6m10s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m23s
CI / Canvas (Next.js) (pull_request) Failing after 9m9s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 13m16s
2026-05-08 01:27:51 +00:00
b44d389b50 Merge branch 'main' into migrate/issue-71-vanity-imports
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 7s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 5s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 14s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 5s
CI / Detect changes (pull_request) Successful in 16s
branch-protection drift check / Branch protection drift (pull_request) Successful in 20s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 7s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 22s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 13s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 32s
E2E API Smoke Test / detect-changes (pull_request) Successful in 49s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 51s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 54s
Harness Replays / detect-changes (pull_request) Successful in 52s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 52s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 49s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 23s
Harness Replays / Harness Replays (pull_request) Failing after 1m25s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m9s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m52s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m20s
CI / Python Lint & Test (pull_request) Successful in 7m34s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m38s
CI / Canvas (Next.js) (pull_request) Failing after 7m49s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 9m13s
2026-05-08 00:54:24 +00:00
claude-ceo-assistant
17f7bd0b31 fix(ci): pass GITEA_TOKEN to setup-node — fixes 60/hr/IP rate limit (internal#75)
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 1s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 1s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 0s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 5s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 2s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 7s
branch-protection drift check / Branch protection drift (pull_request) Successful in 9s
CI / Detect changes (pull_request) Successful in 9s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 11s
E2E API Smoke Test / detect-changes (pull_request) Successful in 17s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 18s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 18s
Harness Replays / detect-changes (pull_request) Successful in 18s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 17s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 18s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 9s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 37s
Harness Replays / Harness Replays (pull_request) Failing after 54s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m9s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2m10s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m17s
CI / Canvas (Next.js) (pull_request) Successful in 4m41s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 5m17s
CI / Platform (Go) (pull_request) Successful in 5m45s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Successful in 6m55s
setup-node@v6 makes anonymous calls to api.github.com/repos/actions/
node-versions to resolve the requested Node version. The operator host
runs 8 act_runners behind 5.78.80.188; under PR-burst load they hit
the unauthenticated 60/hr/IP ceiling and the action throws

  HttpClientError: API rate limit exceeded for 5.78.80.188.
  (... Authenticated requests get a higher rate limit.)

Pass secrets.GITEA_TOKEN as the action input. Gitea Actions
auto-populates that secret per workflow run; setup-node attaches it
as Authorization: token ... on the api.github.com call which lifts
the limit to 5000/hr.

Repros internal#71 sweep first showed: core#82 Canvas (Next.js)
failed at 9m47s on first run, 7m47s on retrigger — same shape both
times, classic rate-limit signature.

Per-repo follow-ups (cli, controlplane, plugin-gh-identity workflows)
tracked under internal#75.
2026-05-08 00:52:33 +00:00
e353b54a85 Merge branch 'main' into migrate/issue-71-vanity-imports
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 8s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 7s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 7s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 24s
CI / Detect changes (pull_request) Successful in 20s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 5s
E2E API Smoke Test / detect-changes (pull_request) Successful in 43s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 47s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 49s
Harness Replays / detect-changes (pull_request) Successful in 45s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 40s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 33s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 53s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 18s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Failing after 1m51s
Harness Replays / Harness Replays (pull_request) Failing after 1m24s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m29s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m30s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m3s
CI / Python Lint & Test (pull_request) Successful in 7m25s
CI / Canvas (Next.js) (pull_request) Failing after 7m47s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 8m54s
2026-05-08 00:21:00 +00:00
claude-ceo-assistant
bb124da6c5 ci: retrigger after setup-node hit GitHub API rate limit on first run
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 10s
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 9s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 10s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 12s
branch-protection drift check / Branch protection drift (pull_request) Successful in 13s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 7s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 22s
CI / Detect changes (pull_request) Successful in 25s
Check migration collisions / Migration version collision check (pull_request) Successful in 25s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 16s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 19s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 38s
E2E API Smoke Test / detect-changes (pull_request) Successful in 54s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 53s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 55s
Harness Replays / detect-changes (pull_request) Successful in 56s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 46s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 47s
Harness Replays / Harness Replays (pull_request) Failing after 1m2s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m15s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 5m16s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m59s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m43s
CI / Python Lint & Test (pull_request) Successful in 7m34s
CI / Canvas (Next.js) (pull_request) Failing after 8m47s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 10m56s
2026-05-07 23:52:28 +00:00
claude-ceo-assistant
30b8046235 lint+chore: extend gate to .json + rename canvas package to molecule-core-canvas (internal#71)
Some checks failed
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m20s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 6m29s
Harness Replays / Harness Replays (pull_request) Failing after 1m18s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m0s
CI / Canvas (Next.js) (pull_request) Failing after 9m47s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 22s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Successful in 8m2s
CI / Platform (Go) (pull_request) Successful in 13m20s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m41s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 35s
branch-protection drift check / Branch protection drift (pull_request) Successful in 19s
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 8s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 22s
CI / Detect changes (pull_request) Successful in 25s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 8s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 7s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 1m2s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m5s
pr-guards / disable-auto-merge-on-push (pull_request) Failing after 7s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 1m5s
Harness Replays / detect-changes (pull_request) Successful in 1m6s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 16s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 47s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 53s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m6s
2026-05-07 22:57:21 +00:00
claude-ceo-assistant
3501e6bfd7 fix(post-suspension): vanity import paths go.moleculesai.app/core/{platform,tests/harness/cp-stub} (closes molecule-ai/internal#71 phase 2)
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 13s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 11s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 12s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 15s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 27s
CI / Detect changes (pull_request) Successful in 20s
Retarget main PRs to staging / Retarget to staging (pull_request) Has been skipped
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 15s
E2E API Smoke Test / detect-changes (pull_request) Successful in 51s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 51s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 39s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 51s
Harness Replays / detect-changes (pull_request) Successful in 53s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 48s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m7s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 31s
Harness Replays / Harness Replays (pull_request) Failing after 1m18s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m19s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m14s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 6m1s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6m47s
CI / Python Lint & Test (pull_request) Successful in 8m16s
CI / Canvas (Next.js) (pull_request) Failing after 9m36s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 12m18s
Migrates the two Go modules under molecule-core off the dead
github.com/Molecule-AI/molecule-monorepo/... identity onto the vanity
host go.moleculesai.app. Also fixes the historical naming
inconsistency where the Gitea repo is molecule-core but the Go module
path said molecule-monorepo.

Module changes:
- workspace-server/go.mod:
    github.com/Molecule-AI/molecule-monorepo/platform
    -> go.moleculesai.app/core/platform
- tests/harness/cp-stub/go.mod:
    github.com/Molecule-AI/molecule-monorepo/tests/harness/cp-stub
    -> go.moleculesai.app/core/tests/harness/cp-stub

Surfaces touched
- 174 *.go files (374 import lines) — every import under
  workspace-server/ + tests/harness/cp-stub/
- 2 Dockerfiles (workspace-server/Dockerfile + Dockerfile.tenant) —
  -ldflags strings updated in lockstep with the module rename so
  buildinfo.GitSHA injection still resolves correctly
- README + docs + scripts + comment URLs to git.moleculesai.app form
- NEW workspace-server/internal/lint/import_path_lint_test.go —
  structural lint gate rejecting future github.com/Molecule-AI/ or
  Molecule-AI/molecule-monorepo references. Identical template to the
  other migration PRs (plugin-gh-identity#3, molecule-cli#2,
  molecule-controlplane#32).

Cross-repo dep allowlist (documented in lint gate)
workspace-server requires molecule-ai-plugin-gh-identity, whose own
vanity migration is PR molecule-ai-plugin-gh-identity#3. Until that PR
merges + a tag is cut at go.moleculesai.app/plugin/gh-identity, the
two locations referencing the legacy github.com path
(workspace-server/go.mod require, cmd/server/main.go import) remain
allowlisted. Follow-up PR drops the allowlist + updates both refs in
one shot once gh-identity is fully migrated.

Test plan
- go build ./... clean for both modules
- go test ./... green except two pre-existing failures
  (TestStartSweeper_RecordsMetricsOnSuccess flaky-on-suite,
  TestLocalResolver_BubblesUpCopyFailure relies on read-only fs perms
  but runs as root on operator host) — both reproduce identically on
  baseline main pre-migration; NOT regressions of this PR
- Mutation-tested: lint gate fails on canaries in .go + .md;
  allowlist correctly suppresses cross-repo dep references in go.mod
  while still flagging unrelated additions

Open dependency
- go.moleculesai.app responder must be deployed before fresh-clone
  external builds resolve the vanity path. Existing CI / Docker builds
  ride pinned go.sum + self-referential module path + responder is
  not on critical path for those.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 22:37:42 +00:00