Gulum
438c816820
feat: Fehler-melden + Datenherkunft auf Kontakte & Würfe erweitern
- Kontakt-Detailseite: „Fehler melden"- und „Datenherkunft"-Button.
- Wurf-Ansicht: „Datenherkunft"-Button (Feedback war bereits vorhanden).
- Feedback-Entity um loses, nullable ContactId erweitert (kein FK → übersteht
Ingest-Wipe); Migration AddFeedbackContactId.
- Contact.Provenance + Litter.Provenance (nullable text); Migration
AddContactLitterProvenance; im Ingest gemappt und in den DTOs zurückgegeben.
- Import: build_entity_provenance() generalisiert; Kontakte (sourceFiles,
Züchter/Abnehmer-Hinweise) und Würfe (Wurfchronik vs. Diagramm-rekonstruiert,
Geschwister-Merge) erhalten Herkunftsdaten in resolved_import.json.
- Frontend: ProvenanceDialog generalisiert (EntityProvenance + entityLabel).
Tests erweitert (Ingest-Round-trip Kontakt/Wurf, contact-scoped Feedback
übersteht Wipe). dotnet(212)/vitest(129)/playwright(36)/tsc/eslint grün.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 16:02:11 +02:00
..
2026-06-06 01:07:19 +02:00
2026-06-06 01:07:19 +02:00
2026-06-06 07:55:34 +02:00
2026-06-06 07:55:34 +02:00
2026-06-06 07:55:30 +02:00
2026-06-06 07:55:30 +02:00
2026-06-06 09:01:12 +02:00
2026-06-06 09:01:12 +02:00
2026-06-06 09:10:30 +02:00
2026-06-06 09:10:30 +02:00
2026-06-06 09:21:20 +02:00
2026-06-06 09:21:20 +02:00
2026-06-06 09:43:01 +02:00
2026-06-06 09:43:01 +02:00
2026-06-06 10:26:01 +02:00
2026-06-06 10:26:01 +02:00
2026-06-06 10:58:29 +02:00
2026-06-06 10:58:29 +02:00
2026-06-06 11:07:10 +02:00
2026-06-06 11:07:10 +02:00
2026-06-06 11:59:57 +02:00
2026-06-06 11:59:57 +02:00
2026-06-06 15:15:54 +02:00
2026-06-06 15:15:54 +02:00
2026-06-06 15:40:57 +02:00
2026-06-06 15:40:57 +02:00
2026-06-06 17:54:06 +02:00
2026-06-06 17:54:06 +02:00
2026-06-06 19:49:50 +02:00
2026-06-06 19:49:50 +02:00
2026-06-06 19:49:50 +02:00
2026-06-06 19:49:50 +02:00
2026-06-06 20:56:33 +02:00
2026-06-06 20:56:33 +02:00
2026-06-06 22:29:47 +02:00
2026-06-06 22:29:47 +02:00
2026-06-07 01:12:55 +02:00
2026-06-07 01:12:55 +02:00
2026-06-07 21:58:10 +02:00
2026-06-07 03:27:11 +02:00
2026-06-07 03:31:51 +02:00
2026-06-07 03:31:51 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 01:40:19 +02:00
2026-06-13 13:35:30 +02:00
2026-06-13 13:35:30 +02:00
2026-06-13 13:35:30 +02:00
2026-06-13 13:35:30 +02:00
2026-06-21 21:57:40 +02:00
2026-06-21 21:57:40 +02:00
2026-06-21 21:57:40 +02:00
2026-06-21 21:57:40 +02:00
2026-06-22 15:30:42 +02:00
2026-06-22 15:30:42 +02:00
2026-06-22 15:45:15 +02:00
2026-06-22 15:45:15 +02:00
2026-06-22 16:02:11 +02:00
2026-06-22 16:02:11 +02:00
2026-06-22 16:02:11 +02:00
2026-06-22 16:02:11 +02:00
2026-06-22 16:02:11 +02:00