Перейти к содержанию

ADR 0197: cdp-mcp cockpit wire parity vs CIDE

Статус: Accepted
Дата: 2026-07-27
Tags: #cdp #cide #architecture #wire #dal #databus #ccu #adr #cascade-ide

Связанные ADR

ADR Роль
0036 Channel → CDS → Compositor → Surface
0094 Transport / ingestion
0097 CCU
0099 IDE DataBus
0102 DAL boundary
0196 Arch board / as_built
0198 Toolchain hangs on DAL
0199 Process isolation (отдельно)
0200 CDPCOPE gun (CASCOPE spirit, no Avalonia)

Резюме

  • North star: parity по швам CIDE в agent habitat (cdp-mcp), не UI-порт Avalonia.
  • Статусы роли: real (контракт+код как в CIDE) · peel (IdeCockpit.* с именем роли) · missing (слот на board без locus).
  • Не ждать полной runtime-parity DataBus/DAL перед следующими органами (toolchain).
  • Toolchain organ вешается на шов DAL (добыча внешнего runtime/bin); LSP остаётся intelligence.

Контекст

IdeCockpit вырос peel'ами. op=as_built уже сканирует профили cide и cdp_desk. Нужна явная gap-таблица и видимые missing роли (особенно DAL) на board — иначе новые soft organs снова садятся «рядом» без дома.

Решение

Таблица швов (cdp-mcp vs CIDE)

Role CIDE эталон cdp-mcp статус Примечание
transport 0094 ingest real Cockpit/Transport/DeskIngestionBus Bounded Channel\<T>; peel publishes
ccu 0097 ComputingUnits real-ish multi-unit + Build peel Attention/DeskDetail/WorldScene/Focus/DeskLoci/DeskNext/SniperLocus/SysOrgan/GoVerbs/OrganJsonPulse; BuildAsync thin; Ingress + Nav + WorldGo + LegacyTiles peels (0.5.280)
dal 0102 DAL real-ish Cockpit/DataAcquisition Toolchain PATH probe
databus 0099 IDataBus real + host DeskDataBusHost publishes DeskSurfaceBuilt
channel IChannel real DeferredSoftOrganChannel Peel delegates Peek; ApplyDeferred → IdeSoftOrganBoard (0.5.279)
cds ICdsRouter real AttentionCdsRouter + DeskGoMapCatalog Peel NormalizeAttentionRouting; GoMap → CDS catalog
ids IdeDisplay real FeatureSearchUnit Peel SearchFeatures; Cockpit/Ids
compositor ISurfaceCompositor real seats+tiles compositors Peel projects; compose under Cockpit/
surface Surface mounts real-ish gate/match/presenter/alias/meta+presentMode/pin+layout+placeable/world+editor+fallbackSnap + SoftOrgans ISoftOrganBoard seats+SoftDispatch; Quality Present wantFull; ArchDesk/RefactorPlan SoftOrganKind (0.5.278)
instrument Instrument deck real DeskInstrumentMountRegistry Seats sync → deck; JSON pulse on surface
gun CASCOPE* CDPCOPE* ADR 0200

as_built

  • Profile cdp_desk: peels + seed DAL/DataBus when Cockpit/DataAcquisition + Cockpit/DataBus present; else gap (transport, instrument remain GAP).
  • Profile cide: seed существующих locus; DAL — seed Cockpit/DataAcquisition when present, иначе gap.
  • Рёбра intended seams рисуются и для gap→peel (архитектурная видимость).
  • Gun: 0200.

Toolchain placement

  • Primary seam: dal (acquire external toolchain bins).
  • Optional pairs_lsplsp_ensure (другая ось, 0190 / 0198).
  • Build/run router через recipe — фаза после ensure; не требует полного DataBus.

Не делать

  • Портировать Avalonia UI / полный InMemoryDataBus в одном PR «ради parity».
  • Считать peel = real CIDE pack.
  • Класть toolchain в CDS/Compositor.

Последствия

  • Arch board показывает gap без эссе в чате.
  • Следующий thin slice: 0198 soft organ на DAL-adjacent.
  • Dual-agent: 0199, не смешивать с wire remap.

Ship notes (cdp-mcp)

  • 0.5.281 — DeskWireParityTests split SoftOrgans + Ccu (file_lines).
  • 0.5.282ps1_scene PowerShell ISE-analogue habitat (cdp_ps1_scene / go=ps1_*): put→buffer→AST check→pwsh -File→last under .cdp/ps1/. Soft-organ Meta (off ListTools thrash). Full-ready habitat axis — not Avalonia ISE clone.
  • 0.5.283Ps1Desk SoftBoard: SoftOrganKind + seat pin on M (ps1_scene pulse); put/run stay tool ops.