Forge
csharpdeeb25a2
1namespace CascadeIDE.Cockpit.Composition.WorkspaceHealth;
2
3/// <summary>
4/// Именованная колода канала IDE Health на оси композиции (ADR 0063): порядок логических сегментов build → tests → debug → git,
5/// совпадает с <see cref="IdeHealthSurfaceCompositor"/> и не зависит от <see cref="ContentRepresentation"/> (Strip/Page).
6/// </summary>
7public static class IdeHealthInstrumentDeck
8{
9 /// <summary>Стабильный id колоды для тестов и трассировки (не ключ пользовательского TOML).</summary>
10 public const string DeckId = "ide_health_channel_v1";
11
12 /// <summary>Семантический контекст якоря для канала IDE Health (нижний хром / mount), не слот Pfd/Mfd целиком.</summary>
13 public const string SemanticAnchorId = "ide_health";
14
15 /// <summary>Логические ячейки сегментов в порядке композитора (согласованы с <see cref="IdeHealthSurfaceCompositor.Compose"/>).</summary>
16 public static readonly IReadOnlyList<string> OrderedSegmentIds = new[]
17 {
18 IdeHealthSegmentIds.Build,
19 IdeHealthSegmentIds.Tests,
20 IdeHealthSegmentIds.Debug,
21 IdeHealthSegmentIds.Git,
22 };
23
24 /// <summary>Каноническое описание колоды IDE Health: горизонтальная композиция сегментов (полоса или страница — отдельная ось).</summary>
25 public static InstrumentDeckDescriptor Default { get; } = new(
26 DeckId,
27 SemanticAnchorId,
28 InstrumentDeckLayoutPattern.Grid,
29 OrderedSegmentIds);
30}
31
32/// <summary>Стабильные идентификаторы ячеек deck канала IDE Health (внутренний контракт, не TOML).</summary>
33public static class IdeHealthSegmentIds
34{
35 public const string Build = "ide_health_segment_build";
36 public const string Tests = "ide_health_segment_tests";
37 public const string Debug = "ide_health_segment_debug";
38 public const string Git = "ide_health_segment_git";
39}
40
View only · write via MCP/CIDE