Spec: Distanz per Nominatim-Geokodierung + Haversine; Kontakt-Firma-Verknüpfung explizit
- Einsatzort-Distanz wird geocodiert (Nominatim, nur DE) statt LLM-geschätzt; Bänder ≤50/50-60/>60 km bleiben, Fallback bei unbekanntem Ort → ❔. - 6.2: Verknüpfung des neuen Kontakts zur Firma (accountId) explizit gefordert. - Feasibility verifiziert (München 19, Rosenheim 38, Augsburg 71, Nürnberg 170 km). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -46,14 +46,14 @@ durch den Skill `projekt-anlegen`. Ändern sich selten.
|
||||
|
||||
## Einsatzort-Regel
|
||||
- 100 % Remote → ✅ (Ort egal).
|
||||
- Onsite/Hybrid, Ort ≲ 50 km Luftlinie um Sauerlach → ✅.
|
||||
- Onsite/Hybrid, Ort grenzwertig ≈ 50–60 km → ❔.
|
||||
- Onsite/Hybrid, Ort ≳ 60 km → ❌.
|
||||
- Onsite/Hybrid, Ort ≤ 50 km Luftlinie um Sauerlach → ✅.
|
||||
- Onsite/Hybrid, Ort 50–60 km (grenzwertig) → ❔.
|
||||
- Onsite/Hybrid, Ort > 60 km → ❌.
|
||||
- Einsatzort/Remote-Anteil unklar oder nicht genannt → ❌.
|
||||
|
||||
### Referenz-Distanzen ab Sauerlach (Luftlinie, gerundet)
|
||||
- München-Zentrum ≈ 25 km ✅ · Holzkirchen ≈ 10 km ✅ · Wolfratshausen ≈ 15 km ✅ · Rosenheim ≈ 40 km ✅
|
||||
- Augsburg ≈ 75 km ❌ · Landshut ≈ 80 km ❌ · Ingolstadt ≈ 95 km ❌ · Nürnberg ≈ 150 km ❌ · Stuttgart ≈ 200 km ❌
|
||||
Distanz = Luftlinie zwischen Onsite-Ort und Sauerlach (47,9721 N / 11,6528 O),
|
||||
bestimmt per Geokodierung (Nominatim/OpenStreetMap, nur Deutschland) und Haversine.
|
||||
Unbekannter/mehrdeutiger Ort → ❔.
|
||||
|
||||
Hinweis: „heute" = aktuelles Datum der Session. „8 Wochen" = 56 Tage.
|
||||
```
|
||||
@@ -72,7 +72,7 @@ Zusätzlich zu Projektname/URL/Anforderungen aus der Ausschreibung ziehen:
|
||||
|
||||
Misc-Anforderungen zu Verfügbarkeit/Auslastung/Laufzeit/Einsatzort werden gegen `vorgaben/rahmenbedingungen.md` bewertet und erhalten direkt ✅/❌/❔ gemäß den Regeln in §3 — **statt** des bisherigen pauschalen ❔. Greift eine Regel nicht eindeutig (Auslastung/Start nicht genannt, Ort grenzwertig), bleibt es ❔.
|
||||
|
||||
- Distanzbeurteilung: Luftlinie vom genannten Onsite-Ort nach Sauerlach schätzen; Referenz-Distanzen aus §3 als Anker. Klar innerhalb → ✅, klar außerhalb → ❌, grenzwertig/unbekannter Ort → ❔ bzw. ❌ gemäß Regel.
|
||||
- Distanzbeurteilung per **Geokodierung**: Onsite-Ort über Nominatim (OpenStreetMap; `format=json`, `countrycodes=de`, `limit=1`, eigener `User-Agent`; max. 1 Request/s) auflösen, Luftlinie zu Sauerlach (47,9721 N / 11,6528 O) per Haversine berechnen, gegen die Bänder ≤ 50 / 50–60 / > 60 km prüfen. Geokodierung gescheitert oder Ort mehrdeutig → ❔. (Feasibility verifiziert: München 19 km, Rosenheim 38 km, Augsburg 71 km, Nürnberg 170 km.)
|
||||
- Startdatum: „heute + 8 Wochen" (56 Tage) gegen den genannten Projektstart prüfen.
|
||||
- Misc-Zeilen gehen weiterhin **nicht** in die Match-Prozente ein; die automatische Bewertung ist informativ und spart das manuelle Setzen.
|
||||
|
||||
@@ -90,7 +90,8 @@ Alle Schreibvorgänge erst **nach** der Review-Freigabe (§7).
|
||||
|
||||
### 6.2 Kontakt (`Contact`)
|
||||
1. Dedup-Suche per Name analog zu 6.1.
|
||||
2. Kein/zu bestätigender Treffer → nach Freigabe neu anlegen: `POST /Contact` mit `{firstName, lastName, accountId}` (verknüpft mit der Firma aus 6.1).
|
||||
2. Kein/zu bestätigender Treffer → nach Freigabe neu anlegen: `POST /Contact` mit `{firstName, lastName, accountId}`.
|
||||
- **Die Verknüpfung zur Firma aus 6.1 wird beim Neu-Anlegen zwingend mitgesetzt** (`accountId`), sodass der neue Kontakt der Firma zugeordnet ist.
|
||||
- Namensaufteilung: letztes Token = `lastName`, der Rest = `firstName`. Ungewöhnliche Fälle im Review klären.
|
||||
|
||||
### 6.3 Verkaufschance (`Opportunity`)
|
||||
@@ -118,7 +119,7 @@ Erst nach Freigabe werden Firma, Kontakt und Verkaufschance in dieser Reihenfolg
|
||||
- Unberührt: `cowork-projekt-match` (Archiv).
|
||||
|
||||
## 9. Bewusst NICHT enthalten (YAGNI)
|
||||
- Keine automatische Geokodierung/Distanz-API — Distanz wird anhand der Referenz-Anker geschätzt; Grenzfälle → ❔.
|
||||
- Keine Fahrstrecken-/Routing-Berechnung — für das 50-km-Kriterium genügt die Luftlinie (Haversine) auf Basis der Nominatim-Geokodierung.
|
||||
- Keine automatische Zusammenführung bestehender CRM-Dubletten.
|
||||
- Keine Änderung der Must/Nice-Bewertungslogik oder der Match-Berechnung.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user