cards/docs/marketplace/seed/README.md
Till JS 9a07454b75 seed: 3 Cardecky-Decks v1.0.0 + Audit-Trail im Repo
Drei Cardecky-Decks live im lokalen Marketplace, mit komplettem
Audit-Trail unter docs/marketplace/seed/:

| Deck                          | Karten | Lizenz    |
|-------------------------------|--------|-----------|
| geografie-welt-top30          |    30  | CC0-1.0   |
| english-a2-grundwortschatz    |   500  | CC-BY-4.0 |
| periodensystem-elemente       |   118  | CC0-1.0   |

648 Karten gesamt = 1296 FSRS-Reviews. Alle drei via /cards-deck-
Skill 5-Stage-Pipeline (Plan, Recherche, Design, Validate, Publish).
Bulk-Mode mit Python-Heredoc-Generator, Server-Side atomic-Insert
in <1s pro Deck.

Pro Deck im Audit-Trail:
- plan.md (Subtopic-Boundaries, Streitfälle vorab)
- research/sources.md (3-8 nummerierte Quellen)
- research/notes.md (Recherche-Notes, Streitfall-Auflösungen)
- design/build_cards.py (deterministischer Generator mit Sanity-
  Checks gegen Front-Duplikate)
- design/cards.jsonl (atomic Output, 1 Karte/Zeile)
- design/outline.md (Subtopic-Counts + F-Range)
- validate/report.md (5 Standard-Checks alle ✓)
- publish/deck.json + cards.log (Server-Response + Round-Trip)

CONTENT_PLAN §8 Phase-1-Seed-Liste: 3/20 done.

README.md erklärt die seed/-Konvention für künftige Cardecky-Decks
sowie das Update-Protokoll bei PR-Merges aus dem Marketplace.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 18:49:05 +02:00

84 lines
3.7 KiB
Markdown

# Cardecky Seed-Decks — Audit-Trail
Reproduzierbare Deck-Erzeugung. Pro Deck eine Sub-Direktive mit
allen Stages des `/cards-deck`-Skill-Runs:
```
seed/<slug>/
├─ plan.md Stage 1: Thema, Subtopics, Card-Count, Type-Mix
├─ research/
│ ├─ sources.md Stage 2: Quellen-Liste mit URLs + Zugriffsdatum
│ └─ notes.md Stage 2: Recherche, Streitfall-Auflösungen
├─ design/
│ ├─ outline.md Stage 3: Subtopic-Counts + F-Range
│ ├─ build_cards.py Stage 3: deterministischer Generator
│ └─ cards.jsonl Stage 3: 1 Karte/Zeile, mit source_refs
├─ validate/
│ └─ report.md Stage 4: 5 Standard-Checks (atomicity,
│ source-coverage, dedupe, type-fit,
│ mission-check)
└─ publish/
├─ deck.json Stage 5: Server-Response auf POST publish
└─ cards.log Stage 5: Audit-Log mit Round-Trip-Zeit
```
## Wofür dieser Trail dient
1. **Reproduzierbarkeit** — bei jedem Skill-Re-Run mit derselben
`build_cards.py` muss die identische cards.jsonl entstehen
(deterministisch via random.seed). Jede Abweichung deutet auf
einen Bug oder eine bewusste Schema-Änderung.
2. **Editorial-Transparenz** — User können in `research/sources.md`
sehen, welche Quellen Cardecky-Decks zugrunde liegen. Sie können
`notes.md` lesen, um die Streitfall-Entscheidungen zu verstehen.
3. **Versions-Bumps via PR-Merge** — wenn der Marketplace einen
PR auf den Deck merged, entsteht eine neue Version 1.1.0 ohne
dass dieser Trail mit-aktualisiert wird. Das ist OK: der Trail
dokumentiert die **initiale Veröffentlichung** v1.0.0; spätere
Versionen leben in der DB + im PR-Verlauf.
4. **Compliance / DSGVO** — falls jemand fragt, woher Cardecky
die deutsche Übersetzung von „neighbor" hat: `research/sources.md`
sagt PONS [4], `research/notes.md` zeigt die US-Spelling-
Disziplin.
## Konventionen
- **Slug = Verzeichnis-Name = Marketplace-Slug.** Genau dasselbe
in cards-drafts/ und seed/. Slug-Validation in
`cards/apps/api/src/lib/marketplace/slug.ts`.
- **Quellen werden nicht mit-versioniert.** URLs in sources.md
bleiben wie sie zum Skill-Run-Zeitpunkt waren. Wenn eine URL
später dead ist, wird sie hier nicht ersetzt — der historische
Wahrheits-Stand bleibt erhalten.
- **`build_cards.py` ist die Wahrheits-Quelle, cards.jsonl der
Output.** Bei Bug-Reports auf einer einzelnen Karte: in
`build_cards.py` korrigieren, neu generieren, neuen Publish.
- **Keine Geheimnisse hier.** Cardecky-PW liegt in `memory/
secret_cardecky_user.md` (chmod 600), nicht hier. Die
`publish/deck.json`-Response enthält die Server-IDs, aber
keine Auth-Token.
## Liste
| Slug | Karten | Lizenz | Stand |
|---|---|---|---|
| `geografie-welt-top30` | 30 | CC0-1.0 | v1.0.0 (2026-05-09) |
| `english-a2-grundwortschatz` | 500 | CC-BY-4.0 | v1.0.0 (2026-05-09) |
| `periodensystem-elemente` | 118 | CC0-1.0 | v1.0.0 (2026-05-09) |
CONTENT_PLAN-Stand: 3 / 20 Phase-1-Seed-Decks done.
## Wenn ein neuer Cardecky-Deck dazu kommt
1. Skill-Run via `/cards-deck`, Workspace unter `~/Documents/cards-drafts/<slug>/`.
2. Nach Stage 5 published: `cp -R ~/Documents/cards-drafts/<slug> docs/marketplace/seed/`.
3. Liste oben aktualisieren.
4. Commit als `seed: cardecky/<slug> v1.0.0 — <count> Karten`.
## Wenn eine Karte falsch ist
1. PR auf `/d/<slug>` direkt im Marketplace einreichen (User-
facing Mechanik), Cardecky merged.
2. `build_cards.py` hier nachziehen, sodass eine Re-Generation
denselben Stand liefern würde.
3. Commit als `seed/<slug>: card F-NNN korrigiert (Spiegelung von PR #X)`.