fix(install): sweep persona git-clone URLs to Gitea (#37) #1

Open
claude-ceo-assistant wants to merge 1 commits from fix/install-path-gitea into main

What

Sweeps git-clone URLs in 50 files (49 persona files + SHARED_RULES.md migration callout) plus a DOCUMENTATION_POLICY link. 55 URL substitutions total. Per-persona breakdown in commit message.

This is the BIG persona-template PR for internal#37. Phase 1 findings: internal#38.

Per-orchestrator-decision strategy

Per Q1 (A/B/C decision):

Repo class Treatment Rationale
PUBLIC repos cloned by personas (docs, molecule-sdk-python) https://git.moleculesai.app/molecule-ai/<repo>.git (anonymous) C-path. Works immediately.
PRIVATE repos cloned by personas (internal, molecule-controlplane, molecule-core, molecule-app, landingpage, etc.) https://oauth2:${GITEA_TOKEN}@git.moleculesai.app/molecule-ai/<repo>.git A-path. Depends on workspace-bootstrap injecting GITEA_TOKEN — tracked at internal#44. Until #44 lands, persona boot steps that clone these WILL FAIL.

SHARED_RULES.md callout

Adds a "Post-2026-05-06 migration in progress" block at the top, naming:

  1. internal#44 — workspace-bootstrap GITEA_TOKEN injection (private-repo clones blocker).
  2. internal#45 — gh CLI → Gitea CLI migration (every gh repo clone Molecule-AI/... etc. call across persona files is permanently broken until this lands).

So: persona authors who hit a boot failure on a git clone line know it's #44; persona authors who hit a gh ... failure mid-task know it's #45.

Files NOT touched in this PR

  • 579 narrative Molecule-AI/<repo> mentions (most of which are gh CLI flag args). Belongs in #45.
  • 2 historical issue/PR cross-refs in documentation-specialist/schedules/daily-changelog.md. Per Q3, leave for audit trail.
  • The gh repo clone Molecule-AI/internal style commands embedded in persona steps (these are gh calls, see #45).

Verification

  • grep -rEnH "https://github\.com/Molecule-AI/[^/]+\.git" . → 0 hits (all clone-style URLs migrated).
  • grep -rEn "https://github\.com/Molecule-AI/[^/]+/blob/" . → 0 hits (the 1 active doc-link migrated to Gitea path-shape /src/branch/).
  • Sample inspection: cp-be/initial-prompt.md (clones private molecule-controlplane) shows oauth2:${GITEA_TOKEN}@... URL. sdk-dev/initial-prompt.md (clones public molecule-sdk-python) shows anonymous URL.

DoD

Pure-docs PR. No tests / security / observation / migration / version bump.

Back-compat caveat (loud): this PR does not maintain compatibility with the old GitHub clone path because that path is gone (org suspended). Public-repo personas immediately work better than before; private-repo personas regress until #44 lands. Trade-off accepted by orchestrator (Q1 + this PR's dispatch).

Hostile self-review (3 weakest spots)

  1. Private-repo personas regress at boot until #44 lands. A persona that needs molecule-core cannot complete step 1 of initial-prompt.md until workspace-bootstrap injects GITEA_TOKEN. Mitigation: SHARED_RULES.md callout names #44 explicitly so triage doesn't require detective work. Accepted because: orchestrator's Q1 explicitly chose to land NOW with documented breakage rather than wait on coordination — better than no migration at all, and most demo-relevant personas (devops, frontend, qa) only need public-repo + don't depend on gh heavily.

  2. gh ... calls all silently broken. Personas like pm, release-manager, triage-operator, dev-lead use gh pr list, gh run list, etc. to do their jobs. Post-#37, those calls fail because gh doesn't talk to Gitea. Mitigation: SHARED_RULES.md callout names #45 explicitly. Accepted because: the alternative (rewrite hundreds of gh ... calls inline) is order-of-magnitude bigger than #37's scope and requires a separate migration design (tea vs curl vs shim — see #45).

  3. The Unknown repo, defaulting to public anonymous branch in my sweep script could mis-tag a private repo as public. All actual repos cloned by personas are in either the PRIVATE or PUBLIC list — verified by the Unique repo targets survey before running. No WARN: unknown repo lines were emitted by the script. Accepted because: future persona authors who add a clone of a not-yet-listed repo would default to anonymous (correct for public, broken-but-recoverable for private). Tightening the script to fail on unknown repos would catch silent-add of a private repo, but that's pre-emptive design for a class of bug that hasn't happened.

Refs: internal#37, internal#38, internal#42, internal#44, internal#45.

## What Sweeps git-clone URLs in 50 files (49 persona files + SHARED_RULES.md migration callout) plus a DOCUMENTATION_POLICY link. 55 URL substitutions total. Per-persona breakdown in commit message. This is the BIG persona-template PR for [internal#37](https://git.moleculesai.app/molecule-ai/internal/issues/37). Phase 1 findings: [internal#38](https://git.moleculesai.app/molecule-ai/internal/issues/38). ## Per-orchestrator-decision strategy Per Q1 (A/B/C decision): | Repo class | Treatment | Rationale | |---|---|---| | PUBLIC repos cloned by personas (`docs`, `molecule-sdk-python`) | `https://git.moleculesai.app/molecule-ai/<repo>.git` (anonymous) | C-path. Works immediately. | | PRIVATE repos cloned by personas (`internal`, `molecule-controlplane`, `molecule-core`, `molecule-app`, `landingpage`, etc.) | `https://oauth2:${GITEA_TOKEN}@git.moleculesai.app/molecule-ai/<repo>.git` | A-path. Depends on workspace-bootstrap injecting `GITEA_TOKEN` — tracked at [internal#44](https://git.moleculesai.app/molecule-ai/internal/issues/44). Until #44 lands, persona boot steps that clone these WILL FAIL. | ## SHARED_RULES.md callout Adds a "Post-2026-05-06 migration in progress" block at the top, naming: 1. **[internal#44](https://git.moleculesai.app/molecule-ai/internal/issues/44)** — workspace-bootstrap GITEA_TOKEN injection (private-repo clones blocker). 2. **[internal#45](https://git.moleculesai.app/molecule-ai/internal/issues/45)** — gh CLI → Gitea CLI migration (every `gh repo clone Molecule-AI/...` etc. call across persona files is permanently broken until this lands). So: persona authors who hit a boot failure on a `git clone` line know it's #44; persona authors who hit a `gh ...` failure mid-task know it's #45. ## Files NOT touched in this PR - 579 narrative `Molecule-AI/<repo>` mentions (most of which are `gh` CLI flag args). Belongs in [#45](https://git.moleculesai.app/molecule-ai/internal/issues/45). - 2 historical issue/PR cross-refs in `documentation-specialist/schedules/daily-changelog.md`. Per Q3, leave for audit trail. - The `gh repo clone Molecule-AI/internal` style commands embedded in persona steps (these are `gh` calls, see [#45](https://git.moleculesai.app/molecule-ai/internal/issues/45)). ## Verification - `grep -rEnH "https://github\.com/Molecule-AI/[^/]+\.git" .` → 0 hits (all clone-style URLs migrated). - `grep -rEn "https://github\.com/Molecule-AI/[^/]+/blob/" .` → 0 hits (the 1 active doc-link migrated to Gitea path-shape `/src/branch/`). - Sample inspection: `cp-be/initial-prompt.md` (clones private molecule-controlplane) shows `oauth2:${GITEA_TOKEN}@...` URL. `sdk-dev/initial-prompt.md` (clones public molecule-sdk-python) shows anonymous URL. ## DoD Pure-docs PR. No tests / security / observation / migration / version bump. **Back-compat caveat (loud)**: this PR does not maintain compatibility with the old GitHub clone path because that path is gone (org suspended). Public-repo personas immediately work better than before; private-repo personas regress until #44 lands. Trade-off accepted by orchestrator (Q1 + this PR's dispatch). ## Hostile self-review (3 weakest spots) 1. **Private-repo personas regress at boot until #44 lands.** A persona that needs `molecule-core` cannot complete step 1 of `initial-prompt.md` until workspace-bootstrap injects `GITEA_TOKEN`. *Mitigation*: SHARED_RULES.md callout names #44 explicitly so triage doesn't require detective work. *Accepted because*: orchestrator's Q1 explicitly chose to land NOW with documented breakage rather than wait on coordination — better than no migration at all, and most demo-relevant personas (devops, frontend, qa) only need public-repo + don't depend on `gh` heavily. 2. **`gh ...` calls all silently broken.** Personas like `pm`, `release-manager`, `triage-operator`, `dev-lead` use `gh pr list`, `gh run list`, etc. to do their jobs. Post-#37, those calls fail because `gh` doesn't talk to Gitea. *Mitigation*: SHARED_RULES.md callout names #45 explicitly. *Accepted because*: the alternative (rewrite hundreds of `gh ...` calls inline) is order-of-magnitude bigger than #37's scope and requires a separate migration design (tea vs curl vs shim — see #45). 3. **The `Unknown repo, defaulting to public anonymous` branch in my sweep script could mis-tag a private repo as public.** All actual repos cloned by personas are in either the PRIVATE or PUBLIC list — verified by the `Unique repo targets` survey before running. No `WARN: unknown repo` lines were emitted by the script. *Accepted because*: future persona authors who add a clone of a not-yet-listed repo would default to anonymous (correct for public, broken-but-recoverable for private). Tightening the script to fail on unknown repos would catch silent-add of a private repo, but that's pre-emptive design for a class of bug that hasn't happened. Refs: [internal#37](https://git.moleculesai.app/molecule-ai/internal/issues/37), [internal#38](https://git.moleculesai.app/molecule-ai/internal/issues/38), [internal#42](https://git.moleculesai.app/molecule-ai/internal/issues/42), [internal#44](https://git.moleculesai.app/molecule-ai/internal/issues/44), [internal#45](https://git.moleculesai.app/molecule-ai/internal/issues/45).
claude-ceo-assistant added 1 commit 2026-05-07 07:09:37 +00:00
fix(install): sweep persona git-clone URLs to Gitea (#37)
Some checks failed
CI / validate (push) Failing after 0s
CI / validate (pull_request) Failing after 0s
d758d3bf6e
Sweeps 51 persona initial-prompt.md files + org.yaml + 2 schedule
files (55 substitutions across 50 files) plus a SHARED_RULES.md
DOCUMENTATION_POLICY link migration.

Per orchestrator's #37 A/B/C decision (Q1):
- PUBLIC repos (docs, molecule-sdk-python) → anonymous clone:
    https://git.moleculesai.app/molecule-ai/<repo>.git
- PRIVATE repos (internal, molecule-controlplane, molecule-core,
    molecule-app, landingpage, etc.) → GITEA_TOKEN-authed clone:
    https://oauth2:${GITEA_TOKEN}@git.moleculesai.app/molecule-ai/<repo>.git

Private-repo clones DEPEND ON the workspace-bootstrap pipeline
injecting GITEA_TOKEN — tracked at internal#44 (parked follow-up).
Until that lands, persona boot steps that clone private repos WILL
FAIL with a no-such-env-var error.

LEFT UNTOUCHED in this PR:
- gh CLI calls (gh repo clone, gh pr list, gh issue create, gh run
  list) — gh doesn't talk to Gitea. Migration to tea/curl/shim is
  tracked at internal#45 (parked follow-up).
- Narrative `Molecule-AI/<repo>` mentions (e.g. "PR against
  Molecule-AI/molecule-core") — these are typically gh-CLI flag args;
  separate concern, see #45.
- Historical issue/PR cross-refs (per Q3, leave-as-is for audit
  trail).

SHARED_RULES.md adds a "Post-2026-05-06 migration in progress"
callout at the top, naming both #44 (private-repo blocker) and #45
(gh CLI blocker), so persona authors hitting boot failures know what
to look up.

Refs: molecule-ai/internal#37, molecule-ai/internal#38,
molecule-ai/internal#42, molecule-ai/internal#44, molecule-ai/internal#45
Some checks failed
CI / validate (push) Failing after 0s
CI / validate (pull_request) Failing after 0s
This pull request has changes conflicting with the target branch.
  • SHARED_RULES.md
  • app-fe/initial-prompt.md
  • app-lead/initial-prompt.md
  • app-qa/initial-prompt.md
  • backend-engineer/initial-prompt.md
  • community-manager/initial-prompt.md
  • competitive-intelligence/initial-prompt.md
  • content-marketer/schedules/landingpage-check.md
  • core-be/initial-prompt.md
  • core-devops/initial-prompt.md

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/install-path-gitea:fix/install-path-gitea
git checkout fix/install-path-gitea
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 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-org-template-molecule-dev#1
No description provided.