Metadata-Version: 2.5
Name: iil-assist-core
Version: 0.1.0
Summary: Kern der MEiKI-Assist-Familie: Mandant, Termin-Engine (BRMS-Regelwerk mit Freigabe-Workflow), Adapter-Ports
Author-email: Achim Dehnert <achim.dehnert@iil.gmbh>
License-Expression: LicenseRef-Proprietary
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: django<6.0,>=5.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: import-linter>=2.0; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-django; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

# iil-assist-core

Der gemeinsame Kern der MEiKI-Assist-Familie: **Mandant**, **Termin-Engine**
(Regelwerk mit Freigabe-Workflow) und die **Ports** zu Fachverfahren und DMS.

Grundlage: `meiki:ADR-044` (Paket-Topologie) · `meiki:ADR-022` v1.1 (die
Termin-Engine gehört in den Kern) · `meiki:ADR-025` (Mandantenfähigkeit).

## Warum es dieses Paket gibt

Die Termin-Engine hat **zwei** Konsumenten: FristAssist führt Wiedervorlagen,
StatistikAssist führt Meldetermine. Ein Meldetermin ist eine Frist mit Stichtag —
dieselbe Rechnung, zwei Zwecke. Läge die Engine hinter FristAssist, bräuchte
StatistikAssist FristAssist. Genau das schließt der Produktschnitt aus.

## Was drin ist

| Modul | Inhalt |
|---|---|
| `models` | `Regelfreigabe` (Regelwerk mit Zustandsmodell `entwurf → eingereicht → freigegeben → abgelehnt`), `RegelAuditEintrag`, `MandantEinstellung` |
| `mandant` | Hauspraxis als Konfiguration — ohne gepflegte Einstellung wird **nichts geraten**, die Renderer liefern `None` |
| `regelkatalog` | einmaliger Import von Startbeständen. **Keine Betriebsquelle** — im Betrieb gilt allein die Tabelle |
| `ports` | Schnittstellen zu Fachverfahren und DMS; die konkreten Adapter liegen beim Konsumenten |

## Was **nicht** drin ist

Kein Hausinhalt. Keine Regelwerke, keine Vorlagen, keine Mandantenwerte, keine
Team- oder Fachbereichsbezeichnungen. Nach `meiki:ADR-044` ist alles, was sich je
Haus unterscheidet, **eine Zeile in Postgres** — nicht Code, nicht YAML.

Prüfbar: *ein zweites Haus geht durch Konfiguration und Uploads in Betrieb, nicht
durch einen Commit.*

## App-Label und Tabellennamen

`assist_core`, also `assist_core_*`. Kein `db_table` auf die Namen des
Herkunfts-Repos — siehe `docs/adr/ADR-001`.

Entschieden am 2026-09-09 zugunsten eines **echten Renames** statt einer
Zustands-Migration, weil es noch keinen produktiven Datenbestand gibt. Für das
Repo, das die Tabellen heute hält (`meiki-lra/frist-hub`), bedeutet das beim
Umstellen eine Umbenennungs-Migration — beim jetzigen Stand risikoarm, mit
produktiven Daten wäre sie es nicht. **Das Zeitfenster ist begrenzt.**

## Stand

`0.1.0` — Erstbefüllung aus `frist-hub` (meiki-lra/frist-hub#142, M3). Noch von
keinem Repo als Abhängigkeit gebunden.
