mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 18:41:08 +02:00
Comic-Modul nutzte bisher rohe meImages direkt als Story-Refs: gpt-image-2 / Nano Banana variieren zwischen Calls, Panel 1 sah anders aus als Panel 4, User hatte keine Iteration vor der Story. Lösung: Comic-Character als eigene Entität, einmal aufgebaut + iteriert + gepinnt, danach Story-Anchor. Datenschicht: - Dexie v49 `comicCharacters` (space-scoped, indices createdAt / style / isFavorite / isArchived). - types.ts: LocalComicCharacter mit name + style + addPrompt + sourceFaceMediaId + sourceBodyMediaId? + variantMediaIds[] + pinnedVariantId?, plus toCharacter + characterCoverVariantId helper (pinned > erste Variant > null). - crypto/registry.ts: comicCharacters entry — name + description + addPrompt + tags encrypted; style + IDs + Variant-Liste + Booleans plaintext. - collections.ts: comicCharactersTable. - queries.ts: useAllCharacters, useCharactersByStyle, useCharacter via scopedForModule (alle space-scoped). - stores/characters.svelte.ts: createCharacter (auto-pin first variant fallback), appendVariant (auto-pin if none yet), pinVariant, removeVariant (mit pin-fallback auf erste remaining), updateCharacter, toggleFavorite, archiveCharacter, deleteCharacter. Arrays werden via [...arr] entproxiet (Svelte 5 $state defense). - module.config.ts: comicCharacters in tables-Liste. - picture/types.ts + queries.ts: comicCharacterId Back-Ref auf LocalImage + Image, mutually exclusive mit comicStoryId. - 3 neue Encryption-Roundtrip-Tests (insgesamt 8 grün) für charakter-Row, Build-in-progress (no variants), Roundtrip. Architektur-Entscheidungen (Plan-Doc §11 dokumentiert): - **space-scoped**, nicht user-global: Source-meImages sind ja selbst space-scoped post-v40, sonst orphan-Refs nach Space-Wechsel. - **Snapshot at story-create**, kein Live-Lookup: Stories speichern die mediaId der gepinnten Variant zum Erstellungs- zeitpunkt → re-pinning eines Characters lässt bestehende Stories unverändert. - **n=4 fixes Variant-Count**: in einem gpt-image-2-Call parallel; sweet-spot für Auswahl ohne Decision-Fatigue. - **Mutually-exclusive Back-Refs** auf picture.images: comicStoryId XOR comicCharacterId — Image ist Panel ODER Variant, nie beides. Mc2 (UI: Builder + Variant-Grid + Routes), Mc3 (Story-Create- Update + Soft-Migration), Mc4 (MCP/Catalog), Mc5 (Wardrobe-Hook) folgen separat. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| agent-loop-improvements-m1.md | ||
| ai-mission-key-grant.md | ||
| articles-homepage.md | ||
| articles-module.md | ||
| augur-module.md | ||
| broadcast-module.md | ||
| comic-module.md | ||
| data-export-v2.md | ||
| destructive-tools-opt-in.md | ||
| event-discovery.md | ||
| invoices-module.md | ||
| library-module.md | ||
| mail-module-plan.md | ||
| mana-mcp-and-personas.md | ||
| mana-research-service.md | ||
| me-images-and-reference-generation.md | ||
| me-images-space-scope-migration.md | ||
| multi-agent-workbench.md | ||
| news-research-module.md | ||
| onboarding-flow.md | ||
| per-space-vs-user-global-tags.md | ||
| planner-function-calling.md | ||
| README.md | ||
| scene-scope-empty-state.md | ||
| shared-space-smoketest.md | ||
| social-relay-module.md | ||
| space-scoped-data-model.md | ||
| spaces-foundation.md | ||
| team-workbench.md | ||
| tipps-module.md | ||
| unlisted-sharing.md | ||
| visibility-system.md | ||
| wardrobe-module.md | ||
| website-builder-smoketest.md | ||
| website-builder.md | ||
| workbench-cards-migration.md | ||
| workbench-seeding-cleanup.md | ||
| workbench-templates.md | ||
| writing-module.md | ||
Plans
Design + rollout plans, grouped by topic. Plans are long-form docs with baked-in decisions, phasing, open questions, and (when shipped) a history section with commit refs.
AI / Workbench roadmap
The Mana AI Workbench has evolved in three successive planned waves — each one laying foundations the next one relies on:
User hat einen Companion (v0 — shipped before these docs)
│
▼
AI Missions + Proposals + Policy + Revert
│
▼
Mission Key-Grants ← ai-mission-key-grant.md ✅
(encrypted inputs decryptable by the server runner)
│
▼
Multi-Agent Workbench ← multi-agent-workbench.md ✅
(named agents, per-agent policy/memory/budget,
identity-aware Actor, scene→agent lens)
│
▼
Team Workbench ← team-workbench.md 📝 (not started)
(multi-user + shared AI context,
admin lens on team members)
| Plan | Status | Scope |
|---|---|---|
ai-mission-key-grant.md |
✅ Shipped | Per-mission RSA-wrapped key grant so mana-ai can decrypt allowlisted encrypted records when user opts in. |
multi-agent-workbench.md |
✅ Shipped | Identity-aware Actor + named AI agents owning missions + per-agent policy + scene lens. 28 tools across 11 modules including server-side web-research. |
workbench-templates.md |
✅ T1 Shipped | Generalised templates: 3 agent-templates + 3 non-AI workbench starter-kits. Seed-handler registry for per-module data seeding. |
team-workbench.md |
📝 Forward-looking | TeamSpace with membership, team-encrypted records, admin lens on team members. Reuses Actor.principalId + key-wrapping patterns from the two above. |
Cross-references:
- Architecture narrative:
docs/architecture/COMPANION_BRAIN_ARCHITECTURE.md§20 (AI Workbench base), §21 (Mission Grants), §22 (Multi-Agent), §23 (Reasoning Loop + Research + Debug) - Non-plan ideas backlog:
docs/future/AI_AGENTS_IDEAS.md - Service-internal notes:
services/mana-ai/CLAUDE.md - Webapp-internal notes:
apps/mana/CLAUDE.md→ "AI Workbench" section
Other plans
| Plan | Topic |
|---|---|
mail-module-plan.md |
Mail module — IMAP/SMTP integration |
news-research-module.md |
News + research pipeline |