press-releases: begrenzter Pruefkreislauf mit Admin-Queue (Roadmap 1d.4, E3)
Automatische Pruefung je Meldung hoechstens max_automatic_attempts (3); das letzte Rot blockt statt abzulehnen: Meldung bleibt in review, Admin sieht sie unter "Pruefung noetig" mit allen KI-Begruendungen und entscheidet (Freischalten / Mit Kommentar zurueck). Danach ist die Automatik fuer diese Meldung aus - jede Freigabe geht direkt zum Menschen. Gelb: yellow_to_manual_queue wird jetzt ausgewertet (Vorgabe false). Kundenseite: "Zur Pruefung freigeben" mit Erklaerung der drei Schritte, Versuchszaehler an der Ablehnung, Hinweis auf menschliche Pruefung. Blade: inline @php(...) vor einem @php...@endphp-Block wird als Rohblock gelesen - vier Stellen auf Blockform umgestellt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c08c9e5de0
commit
0692d892e0
17 changed files with 487 additions and 47 deletions
|
|
@ -82,6 +82,8 @@ class PressRelease extends Model
|
|||
'status',
|
||||
'classification',
|
||||
'classified_at',
|
||||
'auto_check_attempts',
|
||||
'manual_review_required_at',
|
||||
'content_score',
|
||||
'content_tier',
|
||||
'scored_at',
|
||||
|
|
@ -110,6 +112,8 @@ class PressRelease extends Model
|
|||
'status' => PressReleaseStatus::class,
|
||||
'classification' => PressReleaseClassification::class,
|
||||
'classified_at' => 'datetime',
|
||||
'auto_check_attempts' => 'integer',
|
||||
'manual_review_required_at' => 'datetime',
|
||||
'content_score' => 'integer',
|
||||
'content_tier' => PressReleaseContentTier::class,
|
||||
'scored_at' => 'datetime',
|
||||
|
|
@ -529,6 +533,23 @@ class PressRelease extends Model
|
|||
return $this->gone_at !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Automatik erschöpft (E3): Für diese Meldung entscheidet nur noch ein
|
||||
* Mensch — jede Freigabe geht ohne KI-Lauf in die Admin-Queue.
|
||||
*/
|
||||
public function requiresManualReview(): bool
|
||||
{
|
||||
return $this->manual_review_required_at !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wartet geblockt auf die menschliche Entscheidung.
|
||||
*/
|
||||
public function isAwaitingManualReview(): bool
|
||||
{
|
||||
return $this->status === PressReleaseStatus::Review && $this->requiresManualReview();
|
||||
}
|
||||
|
||||
/**
|
||||
* Instanz-Pendant zu scopeVisibleInArchive(): wertet die öffentliche
|
||||
* Sichtbarkeit aus den bereits geladenen Attributen aus, ohne erneute
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue