feat: add jurisdiction field to rules, facts and extraction
Rule now carries a required Jurisdiction (land) field, and Facts a matching Jurisdiction supplied by the caller (like Platform — no legal jurisdiction can be read off a caption or image, so the model never guesses it). Evaluate() only lets a rule fire when its jurisdiction matches the facts' jurisdiction. This is the structural half of "deutsche Rechtslage zuerst, Struktur für Österreich und Schweiz vorgesehen": a future AT/CH rule set can be added as plain new YAML files without touching existing DE rules, but no AT/CH content is added now — that needs its own legal research first, same as WK-001/WK-004 needed for Germany. WK-001 and WK-004 are tagged land: DE, all golden fixtures carry jurisdiction: DE, and extract.Input passes Jurisdiction through unchanged into the returned Facts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,11 +34,13 @@ Du triffst KEINE rechtliche Bewertung und nennst KEINE Gesetze, Paragraphen oder
|
||||
|
||||
Ist ein Fakt nicht sicher aus Caption oder Bild zu bestimmen, wähle den dafür vorgesehenen Unsicherheitswert (z. B. "unklar"). Rate niemals.`
|
||||
|
||||
// Input ist, was Stufe 1 zur Extraktion braucht. Platform kommt vom
|
||||
// Aufrufer (der Nutzer wählt die Plattform beim Einreichen) statt vom
|
||||
// Modell erraten zu werden.
|
||||
// Input ist, was Stufe 1 zur Extraktion braucht. Platform und
|
||||
// Jurisdiction kommen vom Aufrufer (der Nutzer wählt Plattform und
|
||||
// Rechtsordnung beim Einreichen) statt vom Modell erraten zu werden —
|
||||
// aus Caption/Bild lässt sich keine Rechtsordnung ablesen.
|
||||
type Input struct {
|
||||
Platform string
|
||||
Jurisdiction string
|
||||
Caption string
|
||||
ImageMediaType string // z. B. "image/jpeg", "image/png"
|
||||
ImageData []byte
|
||||
@@ -182,6 +184,7 @@ func (c *Client) Extract(ctx context.Context, in Input) (rules.Facts, error) {
|
||||
|
||||
return rules.Facts{
|
||||
Platform: in.Platform,
|
||||
Jurisdiction: in.Jurisdiction,
|
||||
Consideration: consideration,
|
||||
DisclosurePresent: args.DisclosurePresent,
|
||||
DisclosureWording: args.DisclosureWording,
|
||||
|
||||
Reference in New Issue
Block a user