Review: Rename pal-e-docs repo to pal-e-api
Verdict: READY
Previous Review Issues (all resolved)
- [x] API method POST→PATCH — FIXED: issue now specifies
PATCH /api/v1/repos/forgejo_admin/pal-e-docs - [x] File extension .yml→.yaml — FIXED: issue now references
.woodpecker.yaml - [x] ArgoCD update unspecified — FIXED: issue now includes exact
kubectl patchcommand targetingspec.source.repoURL
Template Completeness
- [x] Type — Feature
- [x] Lineage — Standalone, references phase-pal-e-docs-repo-renames and feedback_naming_convention.md
- [x] Repo — forgejo_admin/pal-e-docs → forgejo_admin/pal-e-api
- [x] User Story — As the platform / I want repo named pal-e-api / so name matches role
- [x] Context — Explains naming confusion, Forgejo redirect behavior, MCP key stability
- [x] File Targets — Lists API call, kubectl patch, and per-file verify/update scope
- [x] Acceptance Criteria — 5 criteria covering rename, redirect, ArgoCD, CI, API
- [x] Test Expectations — 3 test commands
- [x] Constraints — 4 explicit exclusions (namespace, MCP key, local dir, redirect behavior)
- [x] Checklist — 4 items
- [x] Related — References plan phase, project page, and 2 downstream renames
Traceability
- [x] story:superuser-maintain label — platform maintainer story
- [x] arch:api label — API component
- [x] Forgejo issue — forgejo_admin/pal-e-docs#217, open
File Targets
- [x]
PATCH /api/v1/repos/forgejo_admin/pal-e-docs— verified: correct method for Forgejo repo rename - [x]
kubectl patch application -n argocd pal-e-docs— verified: ArgoCD app exists, current repoURL ishttps://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-docs.git, path isk8s(within-repo, not pal-e-deployments). Patch command targets correct field. - [x]
CLAUDE.md— verified: exists, contains# pal-e-docsheader that needs updating - [x]
.woodpecker.yaml— verified: exists. Containsrepo: pal-e-docs/api(Harbor image path, not git repo) andpal-e-docs.pal-e-docs.svc.cluster.local(k8s namespace). Both correctly scoped as "verify only" — no change needed for git rename. - [x] DO-NOT-TOUCH list is accurate — MCP keys, settings.json, hook matchers, k8s namespace are all correctly excluded
Repo Placement
Issue filed on forgejo_admin/pal-e-docs — correct, this is the repo being renamed. Downstream impacts correctly scoped as sibling tickets (#440 SDK, #441 MCP) and follow-up (#444 convention updates via claude-custom#174).
Dependencies
- Board #440 (SDK rename) — sibling, no ordering dependency. SDK imports reference Python package names, not git URLs.
- Board #441 (MCP rename) — sibling, no ordering dependency. MCP depends on SDK package name, not repo URL.
- Board #444 (claude-custom + docs update) — should execute AFTER this ticket. Convention docs, CLAUDE.md memory references, repo location table all reference
~/pal-e-docs. - No blocking items currently in_progress.
Acceptance Criteria
All 5 criteria are testable with specific commands. ArgoCD criterion now has a concrete mechanism (kubectl patch). CI criterion is reasonable — Forgejo redirects handle webhook delivery after rename. API health check is straightforward.
Blast Radius
- pal-e-deployments: 30+ references to "pal-e-docs" in
overlays/pal-e-docs/prod/— all reference k8s namespace, Harbor project, or service names. NOT the git repo name. ArgoCD sources from the repo's ownk8s/directory (not the deployments overlay). No changes needed here. - Harbor project: Named
pal-e-docsper image paths (repo: pal-e-docs/api). Independent of git repo name. No change needed. - Woodpecker CI:
.woodpecker.yamlreferences Harbor paths and k8s service URLs, not git repo names. Webhook integration should survive via Forgejo redirect. - pal-e-services: Only a comment in cnpg.tf references "pal-e-docs". No functional impact.
- pal-e-docs-sdk / pal-e-docs-mcp: Reference Python package names and API URLs, not git repo names. No functional impact from this rename alone.
Recommendation
No action needed. All three issues from the previous review have been resolved. The scope is clean, file targets are verified, and blast radius is well-contained. This ticket is ready for execution.