Forge
csharpdeeb25a2
1namespace CascadeIDE.Models;
2
3/// <summary>Agent-centric harness (ADR 0166). TOML: <c>[agent.harness]</c>.</summary>
4public sealed class AgentHarnessSettings
5{
6 /// <summary>После загрузки Intercom-сессии вызвать <c>read_hot_context</c> in-proc (P0.1 interim).</summary>
7 public bool LoadHotContextOnSessionStart { get; set; } = true;
8
9 /// <summary>После <c>/topic create</c> / fork — обновить hot block для ветки.</summary>
10 public bool LoadHotContextOnTopicFork { get; set; } = true;
11
12 /// <summary>Опциональный <c>active_scope</c> для read_hot_context.</summary>
13 public string? HotContextActiveScope { get; set; }
14
15 /// <summary>Видимый checkpoint в ленте (P0.2 parity с Cursor stop hook).</summary>
16 public bool CheckpointEnabled { get; set; } = true;
17
18 public int CheckpointThresholdUserTurns { get; set; } = 40;
19
20 public int CheckpointRepeatEveryUserTurns { get; set; } = 40;
21
22 /// <summary>Coalesced <c>ide_agent_verify</c> после записи <c>.cs</c> (P0.4).</summary>
23 public bool AutoVerifyAfterCsWrite { get; set; } = true;
24
25 /// <summary>До loopback MCP (0082): не поднимать второй CascadeIDE для Cursor ACP — MAF/cloud используют in-proc.</summary>
26 public bool SuppressAcpIdeStdioInject { get; set; } = true;
27
28 /// <summary>Длинная ветка темы — видимый ADCM pressure inject (P0.2).</summary>
29 public bool CheckpointOnContextPressure { get; set; } = true;
30
31 /// <summary>Сообщений в активной теме до ADCM context-pressure предупреждения.</summary>
32 public int ContextPressureThreadMessageThreshold { get; set; } = 60;
33
34 public int ContextPressureRepeatEveryMessages { get; set; } = 30;
35
36 /// <summary>Блок harness telemetry в minimized/MAF context (P2.3).</summary>
37 public bool InjectHarnessTelemetryInContext { get; set; } = true;
38
39 /// <summary>Порог предупреждения: prompt tokens хода ≥ N% <c>max_model_len</c> (FM catalog).</summary>
40 public int ContextWarnPct { get; set; } = 75;
41
42 /// <summary>После <c>/topic create</c> — шаблон brief в поле ввода (P1.2).</summary>
43 public bool InjectTopicForkBrief { get; set; } = true;
44
45 /// <summary>Пусто = встроенный 3-line brief.</summary>
46 public string? TopicForkBriefTemplate { get; set; }
47}
48
View only · write via MCP/CIDE