Stufe 4c (#764): Kommentare in C#, WebUI-Skripten, CSS und HTML auf Englisch
Rund 2.600 Kommentarblöcke in 310 C#-Dateien übersetzt, Begründungen vollständig erhalten: blockweise gleiche Anzahl wie vorher, kein Block unter 60 % seiner Länge, der Code außerhalb der Kommentare per Tokenizer byte-identisch geprüft. Zitate deutscher Oberflächentexte und Testdaten bleiben deutsch. WebUI: Kommentare in JS/CSS/HTML übersetzt, JSDoc-@param an die in 4b umbenannten Parameter angeglichen. Dabei behoben: - 4b hatte "tag" (HTML-Tag) als deutsches "Tag" gelesen und zu "dayValue" gemacht (makeElement, svg, Tagesübersicht) - zurück auf tag/day. - Aufgaben "InProgress" bekamen die Plakettenart "laufend", für die es nie eine CSS-Klasse gab - jetzt "success" wie laufende Instanzen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
da4ceac7d5
commit
837a634a22
@@ -7,9 +7,9 @@ using Shouldly;
|
||||
namespace ClawdDotNet.Core.Tests.Engine;
|
||||
|
||||
/// <summary>
|
||||
/// #605: Im Dauerbetrieb lief die Kompaktierung bei jedem Schritt an und blieb wirkungslos -
|
||||
/// Stufe 1 pruefte mit der rohen statt der kalibrierten Schaetzung, kompaktierte nur knapp
|
||||
/// unter die Schwelle, und der Zusammenfassungs-Aufruf wurde nicht verbucht.
|
||||
/// #605: In continuous operation compaction started at every step and stayed ineffective -
|
||||
/// stage 1 checked with the raw instead of the calibrated estimate, compacted only to just
|
||||
/// below the threshold, and the summarization call was not booked.
|
||||
/// </summary>
|
||||
public sealed class KompaktierungAbstandTests
|
||||
{
|
||||
@@ -22,9 +22,9 @@ public sealed class KompaktierungAbstandTests
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Die rohe Schaetzung, wie sie nach Stufe 1 aussaehe - nachgebaut, um Schwellen zu
|
||||
/// waehlen, an denen alte und neue Pruefung verschieden entscheiden. Werte wie im
|
||||
/// ContextCompactor: die letzten 6 Nachrichten geschuetzt, Tool-Ergebnisse auf 2.000 Zeichen.
|
||||
/// The raw estimate as it would look after stage 1 - rebuilt in order to choose thresholds
|
||||
/// at which the old and new check decide differently. Values as in the
|
||||
/// ContextCompactor: the last 6 messages protected, tool results at 2,000 characters.
|
||||
/// </summary>
|
||||
private static int RohNachStufe1(List<ChatMessage> messages)
|
||||
{
|
||||
@@ -50,14 +50,14 @@ public sealed class KompaktierungAbstandTests
|
||||
{
|
||||
var (compactor, client) = Erzeuge();
|
||||
|
||||
// Dieses Modell zaehlt rund dreimal so viele Tokens, wie Zeichen/4 vermuten laesst.
|
||||
// This model counts about three times as many tokens as chars/4 suggests.
|
||||
for (var i = 0; i < 12; i++)
|
||||
compactor.Calibrate(Model, 1_000, 3_000);
|
||||
|
||||
var messages = LangerVerlauf();
|
||||
var rohDanach = RohNachStufe1(messages);
|
||||
|
||||
// Roh liegt Stufe 1 unter der Schwelle, kalibriert deutlich darueber.
|
||||
// Raw, stage 1 lies below the threshold, calibrated clearly above it.
|
||||
var schwelle = (int)(rohDanach * 1.5);
|
||||
var guard = new LoopGuardConfig { MaxContextTokens = schwelle * 2, CompactionThreshold = 0.5 };
|
||||
|
||||
@@ -74,7 +74,7 @@ public sealed class KompaktierungAbstandTests
|
||||
var messages = LangerVerlauf();
|
||||
var rohDanach = RohNachStufe1(messages);
|
||||
|
||||
// Stufe 1 bringt knapp unter die Schwelle (90 %), aber nicht unter das Ziel (55 %).
|
||||
// Stage 1 brings it just below the threshold (90 %), but not below the target (55 %).
|
||||
var schwelle = (int)(rohDanach * 1.2);
|
||||
var guard = new LoopGuardConfig { MaxContextTokens = (int)(schwelle / 0.9), CompactionThreshold = 0.9 };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user