From eaa1608771cece0bf32796a72453a1d24ed0a869 Mon Sep 17 00:00:00 2001 From: tegwick Date: Sun, 27 Sep 2026 23:29:10 +0200 Subject: [PATCH] Draft CAND-0018 Capability Contract Boundary from a screened AI-chat lead history/260927-ComplexWebAppUiComponents_chatgpt.txt is a pasted AI-chat transcript on UI-integration architecture. It fails this repo's primary-source bar (unauthored, unverifiable broken citation markers), so it is screened as a leads-only document, not cataloged as a source, and never cited as evidence. Instead read the two real specs it pointed to: MDN Custom Elements (SRC-0046) and webpack Module Federation (SRC-0047). Neither defines a semantic UI capability contract (inputs/events/commands/slots) as a first-class concept; that gap motivates the new draft hypothesis, distinct from the existing Independent Feature Boundary (release cadence) and Vertical Feature Slice (source grouping) candidates. Co-Authored-By: Claude Sonnet 5 Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 290719@bnt-lap001 Assistant-Session: 55cbe504-1bfe-4932-b761-29016523c87b --- ...0927-ComplexWebAppUiComponents_chatgpt.txt | 480 ++++++++++++++++++ .../candidates/CapabilityContractBoundary.md | 53 ++ research/catalog/SourceCatalog.md | 20 + research/evolution/EvolutionReport.md | 23 +- research/evolution/profiles.json | 39 ++ research/reviews/CapabilityContractSources.md | 29 ++ workplans/FEP-WP-0003-contrasting-schools.md | 17 + 7 files changed, 657 insertions(+), 4 deletions(-) create mode 100755 history/260927-ComplexWebAppUiComponents_chatgpt.txt create mode 100644 research/candidates/CapabilityContractBoundary.md create mode 100644 research/reviews/CapabilityContractSources.md diff --git a/history/260927-ComplexWebAppUiComponents_chatgpt.txt b/history/260927-ComplexWebAppUiComponents_chatgpt.txt new file mode 100755 index 0000000..11ff327 --- /dev/null +++ b/history/260927-ComplexWebAppUiComponents_chatgpt.txt @@ -0,0 +1,480 @@ +## Prompt + +Is there a best practice for providing ui components to complex web application ui environments integrating multiple user interfaces and interface components? + +## Exploration + +Yes. For a complex web application that needs to integrate multiple user interfaces, teams, frameworks, or independently evolving components, there is a fairly mature set of practices—but not one single pattern. The useful way to think about it is as an **integration architecture with several layers**, rather than merely as a component library. + +A good default architecture today looks roughly like this: + +```text +Application Shell +│ +├── UX / Design System +│ ├── design tokens +│ ├── primitive components +│ └── interaction conventions +│ +├── UI Integration Contract +│ ├── inputs / properties +│ ├── outputs / events +│ ├── commands +│ ├── lifecycle +│ └── capability metadata +│ +├── Application Components +│ ├── search-ui +│ ├── customer-editor +│ ├── document-viewer +│ └── reporting-ui +│ +├── Composition Layer +│ ├── routing +│ ├── layout +│ ├── authentication context +│ ├── shared state +│ └── event/message bus +│ +└── Runtime Integration + ├── ordinary packages + ├── Web Components + ├── module federation + ├── micro-frontends + └── iframe/process isolation when necessary +``` + +The important distinction is that these layers solve **different problems**. + +### 1. Use a design system for visual and interaction coherence + +A design system should define things such as typography, spacing, colors, accessibility conventions, buttons, dialogs, forms, navigation, tables, notifications, etc. + +But a design system alone is not enough. It tells you that all applications should use the same sort of `