# YachtMemory – Derived Writers / Phase 2B.1

Korrektur der in Phase 2B eingeführten Writer-Schnittstelle: interne Anchorage-Verarbeitung wird über die kanonische `vessel_id` adressiert, nicht über `vessel_key`.

CLI-Beispiel:

```bash
php shared_dashboard/scripts/rebuild_anchorages.php 1
php shared_dashboard/scripts/update_anchorages_incremental.php 1
```

Der Writer löst das Schiff mit `TelemetryDbRouter::resolveByVesselId($vesselId)` auf. Die Web-APIs übergeben die ID des bereits ausgewählten Schiffs an den CLI-Prozess. Der Silent-Sea-Kompatibilitätswrapper setzt derzeit `$anchorageVesselId = 1`.

Unverändert bleiben Telemetrie-/Derived-Routing, vessel_id-Scoping, Erkennung, Merge, Mindestdauer, Auswertung und Geocoding. Die Legacy-Tabelle `SilentMessDB.Anchorages` wird nicht verändert. Der Installer führt keinen Rebuild aus.
