Versionierung der Arbeitsbereiche: Verlauf je Datei mit Agent, Lauf und Vorfassung (#719)
Eigene inhaltsadressierte Ablage (Agents/.history/objects, SHA-256) statt Git, Journal FileHistory in state.db. Jeder Schreibweg - FileRW write/append/copy/ delete/stock_add, FTP- und RocketChat-Downloads - legt die alte Fassung ab und verbucht die Aenderung mit RunId. Externe Aenderungen findet ein Abgleich beim Start und stuendlich. Aufbewahrung nach Tagen und Fassungen, verwaiste Objekte werden entfernt. WebUI: Dateiverlauf mit Filter, Diff und Wiederherstellen nur durch den Menschen mit Grund. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
621a83de43
commit
e9c39c3c96
@@ -375,3 +375,13 @@ public sealed record AgentCommunicationDto(
|
||||
string Content,
|
||||
DateTime Timestamp);
|
||||
|
||||
/// <summary>#719: One change in the history. Hashes are not sent — only whether a version exists.</summary>
|
||||
public sealed record FileHistoryEntryDto(
|
||||
long Id, string Workspace, string Path, string Action, string? AgentId, string? RunId,
|
||||
bool HasBefore, bool HasAfter, long? SizeAfter, bool Stored, DateTime OccurredAtUtc, string? Note);
|
||||
|
||||
/// <summary>#719: A version's content. <see cref="Text"/> only for text of a showable size.</summary>
|
||||
public sealed record FileVersionDto(string? Text, bool Binary, bool TooLarge, bool Kept, long Bytes);
|
||||
|
||||
/// <summary>#719: Putting a version back — which one, and why. Without a reason it is refused.</summary>
|
||||
public sealed record FileRestoreInputDto(string? Version, string? Reason);
|
||||
|
||||
Reference in New Issue
Block a user