Verlorene Updates erkennen statt warten: optimistische Pruefung beim Ersetzen, Konflikte im Audit und im Lagebild (#720)
FileLedger merkt je Agent die gelesene Fassung einer Datei in gemeinsamen Bereichen. write, copy und Downloads (FTP, RocketChat) ersetzen eine Datei nur, wenn sie seit dem Lesen unveraendert ist; eine fremde Datei nicht ungelesen. append bleibt ungeprueft, macht aeltere Lesestaende aber ungueltig. Abgelehnte Schreibvorgaenge: eigener Audit-Status Conflict, Tabelle FileConflicts, Hotspots (>= 3 in 7 Tagen) in der Teamuebersicht. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8a7212c240
commit
79a3a7854f
@@ -598,6 +598,9 @@ public sealed class AppHost : IAsyncDisposable
|
||||
foreach (var user in tools.GetAll().OfType<Core.Sandbox.ISandboxUser>())
|
||||
user.Sandbox = sandbox;
|
||||
|
||||
// #720: which version of a shared file each agent read — a write cannot silently lose another.
|
||||
engine.Files = new Core.Files.FileLedger(storage);
|
||||
|
||||
// #712: Foreign runtimes. The application itself is the launcher inside the sandbox
|
||||
// (network through the proxy, secrets from a file) and the MCP bridge back to us.
|
||||
var mcpGrants = new Core.Mcp.McpGrants(storage);
|
||||
|
||||
Reference in New Issue
Block a user