namespace ClawdDotNet.Web.Contracts; /// #689: A case — escalation or conflict — with everything each level said. public sealed record CaseDto( string Id, string Kind, string Status, string Subject, string OpenedBy, DateTime OpenedAt, DateTime DeadlineUtc, DateTime? HumanCalledAt, // null: a human holds it. string? Holder, string HolderTaskId, int Level, string OriginTaskId, string OriginRunId, IReadOnlyList Parties, IReadOnlyList Informed, IReadOnlyList WaitingFor, IReadOnlyList Trail, string? DecisionId); public sealed record CaseEntryDto(DateTime At, string Author, string Kind, string Text, string? RunId); public sealed record DecisionDto( string Id, string Subject, string Question, string Answer, string Reasoning, string DecidedBy, DateTime DecidedAt, string? ScopeUnitId, // "Purchasing / Team A"; null: binds the whole instance. string? ScopePath, string CaseId, string? RunId); public sealed record CaseDecisionInputDto(string? Answer, string? Reasoning); public sealed record CaseStatementInputDto(string? AgentId, string? Question);