- Cases/Decisions in der Instanz-DB; CaseDesk fuehrt die Regeln, der Brett-Task traegt den Vorgang zum jeweiligen Halter - Eskalation nur nach oben, eine Ebene je Schritt; die Leitung entscheidet (mit Begruendung, bindet ihren Bereich), erledigt selbst oder reicht mit Einschaetzung weiter - Erst nachsehen: bindende Beschluesse werden vor dem Eskalieren gezeigt; dieselbe Frage aus derselben Einheit schliesst sich dem offenen Vorgang an - Tagesdeckel je Einheit; nach der Frist wird ein Mensch gerufen (Anschluss fuer #644) - Konflikt: zuerst die Gegenseite, dann Zustellung an die niedrigste gemeinsame Leitung; Ebenen dazwischen vermerkt, nicht befragt - Fremdinhalt-Stufe (#715): Eskalation ohne eigenen Text, kein Konflikt mit Position - Jede Ebene haengt an (#697), beim Halter gerahmt als Daten - Escalation ist ein implizites Werkzeug jedes Agenten; Briefing nennt den Weg - Scanner behaelt einen im Lauf gesetzten Status blockiert/abgebrochen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 lines
919 B
C#
24 lines
919 B
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace ClawdDotNet.Core.Cases;
|
|
|
|
/// <summary>#689: The limits that make escalation end.</summary>
|
|
public sealed class CaseSettings
|
|
{
|
|
/// <summary>
|
|
/// Hours the agents have to solve a case. After that a human is called — a case nobody
|
|
/// can solve must not exist. Short rather than long (decision of 2026-09-22).
|
|
/// </summary>
|
|
[JsonPropertyName("deadlineHours")]
|
|
public double DeadlineHours { get; set; } = 4;
|
|
|
|
/// <summary>
|
|
/// Escalations one unit may raise in 24 hours. Beyond that each new one goes straight to
|
|
/// a human: a unit that hands everything up is itself a finding, and every level costs a run.
|
|
/// </summary>
|
|
[JsonPropertyName("escalationsPerUnitPerDay")]
|
|
public int EscalationsPerUnitPerDay { get; set; } = 10;
|
|
|
|
public TimeSpan Deadline => TimeSpan.FromHours(Math.Clamp(DeadlineHours, 0.25, 24 * 14));
|
|
}
|