cards/apps/api/src
Till JS d7c7c9772e
Some checks are pending
CI / validate (push) Waiting to run
Phase 7a: cards.create-Tool für Cloze + Image-Occlusion + content_hash
Tool-Pfad in /api/v1/tools/cards.create war nicht konvergent zum
REST-Pfad in /api/v1/cards POST:
  - subIndexCount(type) crashte bei type='cloze' und 'image-occlusion'
    (beide werfen seit Sprint 8a/9l, weil Sub-Index-Anzahl text-abhängig)
  - content_hash wurde nicht geschrieben (war seit Sprint 9j auf REST-Pfad)

Fix: identische Branching-Logik wie cards.ts POST. Cloze ohne {{cN::…}}
und image-occlusion ohne valides mask_regions-JSON liefern 422.
content_hash wird mit cardContentHash beim Insert geschrieben.

Damit ist der Tool-Pfad voll-konvergent — mana-mcp und Persona-Runner
können jeden Card-Type via cards.create anlegen, sobald die Plattform-
Services (mana-share + mana-mcp) deployed sind.

Phase-7-Plumbing:
  ✓ Cards-Tools (cards.create + cards.search) sind konvergent zum
    REST-Pfad und end-to-end via Bearer-JWT verifiziert
  ✓ App-Manifest deklariert beide Tools (input_schema + output_schema)
  ✓ Service-Key in mana-auth registriert (Phase 2)
  ✗ mana-mcp + mana-share Container sind auf Mac Mini NICHT deployed
    → Tool-Discovery + Routing aus Claude Desktop / Persona-Runner
    bleiben offen, bis die Plattform-Services hochgezogen werden.
    Das ist Plattform-Scope, nicht Cards-Scope.

56 API-Tests grün, type-check sauber.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 20:48:39 +02:00
..
db Phase 9k: Media-Upload via MinIO-Container 2026-05-08 18:42:56 +02:00
lib Phase 5: Föderations-Endpunkte — Cards ist föderierter Peer 2026-05-08 17:10:35 +02:00
middleware Phase 6: Tier-Awareness + mana-credits-Client (Plumbing) 2026-05-08 20:45:08 +02:00
routes Phase 7a: cards.create-Tool für Cloze + Image-Occlusion + content_hash 2026-05-08 20:48:39 +02:00
services Phase 6: Tier-Awareness + mana-credits-Client (Plumbing) 2026-05-08 20:45:08 +02:00
share-handlers Phase 9d: Pre-Flight — Protocol-Mirror durch upstream ersetzt 2026-05-08 18:00:56 +02:00
index.ts Phase 9k: Media-Upload via MinIO-Container 2026-05-08 18:42:56 +02:00