Commit Graph

4 Commits

Author SHA1 Message Date
claude-ceo-assistant
b2ed330475 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
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>
2026-05-07 22:23:51 +00:00
cfd7c6d647 fix(post-suspension): migrate github.com/Molecule-AI refs to git.moleculesai.app (Class G #168)
All checks were successful
CI / Shellcheck + wrapper tests (pull_request) Successful in 29s
CI / Go build + test + vet (pull_request) Successful in 1m32s
The GitHub org Molecule-AI was suspended on 2026-05-06; canonical SCM
is now Gitea at https://git.moleculesai.app/molecule-ai/. Stale
github.com/Molecule-AI/... URLs return 404 and break tooling that
clones / pip-installs / curls them.

This bundles all non-Go-module URL fixes for this repo into a single PR.
Go module path references (in *.go, go.mod, go.sum) are out of scope
here -- tracked separately under Task #140.

Token-auth clone URLs also flip ${GITHUB_TOKEN} -> ${GITEA_TOKEN} since
the GitHub token does not auth against Gitea.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 13:03:41 -07:00
documentation-specialist
51bf44f094 docs(install): migrate plugin-architecture-v2 link to git.moleculesai.app (#37)
All checks were successful
CI / Shellcheck + wrapper tests (pull_request) Successful in 1m21s
CI / Go build + test + vet (pull_request) Successful in 9m43s
One actionable edit: README:119 link reference [plugin-architecture-v2]
points at github.com/Molecule-AI/internal (suspended) → migrated to
git.moleculesai.app/molecule-ai/internal/src/branch/main/...
(Gitea path-shape).

LEFT AS-IS:
- README:78 — Go module path `github.com/Molecule-AI/molecule-ai-plugin-
  gh-identity` inside a code block describing current go.mod state.
  Updates with the cross-repo Go-module migration PR.
- README:118 — historical PR ref to molecule-core#1957. Per Q3 (kept
  as audit trail for the 119 historical issue/PR cross-refs).

Refs: molecule-ai/internal#37, molecule-ai/internal#38, molecule-ai/internal#42
2026-05-06 23:52:17 -07:00
Hongming Wang
4fd5ac7be3 feat(plugin): gh-identity — per-agent attribution via env injection + gh wrapper
Some checks failed
CI / Shellcheck + wrapper tests (push) Failing after 9s
CI / Go build + test + vet (push) Failing after 13m36s
Fixes molecule-core#1957: agent identity collapse where all agents share
one GitHub PAT and their writes attribute to the CEO.

This plugin takes the pragmatic "wrap, don't multiply identities" path:
- Injects MOLECULE_AGENT_ROLE / OWNER / ATTRIBUTION_BADGE per workspace
- Ships a shell wrapper for `gh` that:
  * prepends an attribution badge to issue/PR bodies on publish
  * rewrites --assignee @me to the role's designated human owner
  * emits an NDJSON audit log to /var/log/molecule-gh.ndjson
- Wrapper is shipped as base64 env var; each workspace template's
  install.sh decodes and writes it to /usr/local/bin/gh

Scales where GitHub Apps / machine users don't: adding a new agent role
is one entry in config.yaml, not a GitHub UI roundtrip per role.

See README + known-issues.md for the v2-architecture migration plan.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:38:45 -07:00