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 whenCockpit/DataAcquisition+Cockpit/DataBuspresent; else gap (transport,instrumentremain GAP). - Profile
cide: seed существующих locus; DAL — seedCockpit/DataAcquisitionwhen present, иначе gap. - Рёбра intended seams рисуются и для gap→peel (архитектурная видимость).
- Gun: 0200.
Toolchain placement¶
- Primary seam:
dal(acquire external toolchain bins). - Optional
pairs_lsp→lsp_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.282 — ps1_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.283 — Ps1Desk SoftBoard: SoftOrganKind + seat pin on M (
ps1_scenepulse); put/run stay tool ops.