Kontrollpflicht der Leitung: Stichproben gegen das Audit (#693)
A lead looks at the runs of the agents it leads - held against the task and against what the engine stamped, never by asking the agent. - RunInspector (Core/Inspection): the mechanical check and first profile of the inspector foundation (#204). Flags failed runs, tool errors, refusals, unfinished calls, tasks answered with bookkeeping alone, and operations the agent names but never called in the run (the 2026-09-14 pattern). - SpotChecks: picks runs per unit (rate, denser for new agents, new models and after a failure, daily cap), deterministic by run id; one task per lead. - Escalation tool: spot_checks, inspect_run, check_done, propose_measure. Measures go to a human; nothing is carried out automatically. A security suspicion is its own case, not a personnel matter. - Organisation view: settings per unit, recent checks, measures to decide. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ab1bd67464
commit
68e723a9c0
@@ -56,6 +56,37 @@ public sealed class UnitConfig
|
||||
/// </summary>
|
||||
[JsonPropertyName("approvals")]
|
||||
public UnitApprovals? Approvals { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// #693: How often the lead of this unit looks at the runs of the agents it leads;
|
||||
/// <c>null</c> means no spot checks. Set only by a human — checks cost the lead's runs.
|
||||
/// </summary>
|
||||
[JsonPropertyName("inspection")]
|
||||
public UnitInspection? Inspection { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// #693: The spot checks of a unit's lead. Which run is checked is decided by the run id, not
|
||||
/// by chance — the same run gets the same answer on every pass, and nobody can tell from inside
|
||||
/// a run whether it will be looked at.
|
||||
/// </summary>
|
||||
public sealed class UnitInspection
|
||||
{
|
||||
/// <summary>Share of ordinary runs that are checked, 0 to 1.</summary>
|
||||
[JsonPropertyName("rate")]
|
||||
public double Rate { get; set; } = 0.1;
|
||||
|
||||
/// <summary>Share for a new agent, a new model, or the run after a failure.</summary>
|
||||
[JsonPropertyName("denseRate")]
|
||||
public double DenseRate { get; set; } = 0.5;
|
||||
|
||||
/// <summary>How long an agent counts as new after its first run.</summary>
|
||||
[JsonPropertyName("newDays")]
|
||||
public int NewDays { get; set; } = 7;
|
||||
|
||||
/// <summary>Checks a day for the whole unit — a lead that checks everything doubles the unit's costs.</summary>
|
||||
[JsonPropertyName("perDay")]
|
||||
public int PerDay { get; set; } = 5;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user