feat(cutover): platform services build from ../mana, not from this repo

Part of the 8-Doppel-Cutover (2026-05-08, plan
~/.claude/plans/floating-swinging-flurry.md):

- docker-compose.{macmini,dev,test}.yml: build context for
  mana-{auth,credits,media,llm,notify} switched to ../mana/services/...
  so the Mac Mini stack pulls platform services from the platform repo
  (sibling clone), not from services/ in this monorepo.
- .npmrc + apps/api/{Dockerfile,package.json}: @mana/media-client now
  resolved from Verdaccio (npm.mana.how, ^0.1.0) instead of as a
  workspace COPY from services/mana-media/packages/client. Build-arg
  NPM_TOKEN flows through .npmrc for pnpm install auth. Required
  before services/mana-media/ can be deleted.
- .github/workflows/{ci,cd-macmini,daily-tests}.yml: removed the
  detect-/build-/test-jobs that targeted services/mana-{auth,credits,
  notify,media}/. Those services build out of the platform repo now —
  CI for them belongs in mana/-repo (open). cd-macmini's
  workflow_dispatch can still rebuild any of them on demand;
  auto-detect on path-change is gone for these five.
- scripts/{mac-mini/push-schemas.sh,run-integration-tests.sh}:
  rewritten to look in ../mana/ for the platform services.
- package.json dev:{auth,credits,notify,media}: paths point at
  ../mana/services/... so local dev still works post-cutover.

What this commit does NOT do: delete services/mana-{auth,credits,...}
from this repo. That waits for Phase 7 once the Mac Mini stack has
booted cleanly from the new build paths.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-08 18:40:08 +02:00
parent 7b362066bb
commit 774852ba2d
12 changed files with 76 additions and 363 deletions

View file

@ -25,6 +25,10 @@ RUN npm install -g pnpm@9.15.0
# before we add source. This caches the install layer for incremental
# rebuilds when only source changes.
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
# Repo-`.npmrc` enthält die Auth-Variable `${NPM_TOKEN}` für
# `npm.mana.how`. pnpm substituiert die Variable aus dem ENV unten —
# der Token landet nicht in einem Layer (kein `RUN echo` mit dem Wert).
COPY .npmrc ./
COPY apps/api/package.json ./apps/api/package.json
# Workspace packages that apps/api depends on, plus their transitive
@ -38,11 +42,17 @@ COPY packages/shared-storage ./packages/shared-storage
COPY packages/shared-types ./packages/shared-types
COPY packages/shared-ai ./packages/shared-ai
COPY packages/shared-rss ./packages/shared-rss
# @mana/media-client lives under services/mana-media (sub-package).
COPY services/mana-media/packages/client ./services/mana-media/packages/client
# `@mana/media-client` kommt seit dem 8-Doppel-Cutover (2026-05-08) aus
# Verdaccio (`npm.mana.how`), nicht mehr als Workspace-COPY aus
# `services/mana-media/packages/client/` (das Verzeichnis verschwindet
# mit Phase 7).
# Resolve the dependency graph for apps/api only (--filter ...
# follows the workspace transitive deps automatically).
# follows the workspace transitive deps automatically). NPM_TOKEN ist
# Build-Arg aus `docker-compose.macmini.yml` → `args.NPM_TOKEN` und wird
# von pnpm in `.npmrc` substituiert.
ARG NPM_TOKEN
ENV NPM_TOKEN=${NPM_TOKEN}
RUN pnpm install --filter @mana/api... --no-frozen-lockfile --ignore-scripts
# Copy the api source and tsconfig last so source-only changes don't

View file

@ -14,7 +14,7 @@
},
"dependencies": {
"@ai-sdk/openai-compatible": "^2.0.41",
"@mana/media-client": "workspace:*",
"@mana/media-client": "^0.1.0",
"@mana/shared-ai": "workspace:*",
"@mana/shared-hono": "workspace:*",
"@mana/shared-rss": "workspace:*",