LHS → Relationship → RHS — GEM-resolved, M3-grounded, M2-typed, ruled, audited (REL-TUP-000245)
① Registry
② Detail & Trace
③ Design
④ Graph & Rules
⑤ Govern
1 Relationship Registry — Canonical Types
| Rel GEM ID | Relationship | Family | M2 Type | M3 Machinery | Directed | Attrs? | Source | Status |
|---|
2 Tuple Builder — LHS · Relationship · RHS
REL-TUP-000245
LHS GEM (Source)
Relationship GEM
RHS GEM (Target)
3 Relationship Detail — contains
Meaning
Strong whole-part relationship. The part lifecycle depends on the whole.
PBMP Mandated English
The LHS wholly contains the RHS. The RHS cannot exist independently of the LHS.
Family · M2 · M3
Structural / Containment · Composition · Association + AssociationEnd + Contains
Lifecycle / Delete Behavior
Cascade / Restrict — if Docket retired, child sections must retire or migrate.
Change Impact Rules
Type/cardinality/mandatory changes require template review + optional baseline.
Examples
Business Case Docket contains Risk Section
Order contains OrderLine · Package contains Class
Order contains OrderLine · Package contains Class
4 M3 → M2 Mapping View
View Full M3/M2 Inventory
| M3 Machinery | M2 Type | Meaning |
|---|---|---|
| Association + AssociationEnd + Contains | Composition | Strong whole-part lifecycle |
| Association | Association | Typed link between classifiers |
| AssociationEnd (shared) | Aggregation | Shared whole-part |
| Generalizes | Generalization | Specific is-a general |
| DependsOn | Dependency | Client relies on supplier |
| Aliases | PackageImport / ElementImport | Reuse names |
| AttachesTo | StereotypeApplication | Attach domain meaning |
| TemplateMachinery | TemplateBinding | Bind template params |
| Constrains | Constraint | Rule on model elements |
5 M-Level Trace View
M3 Grammar
Association + AssociationEnd + Contains · Multiplicity
M2 Vocabulary
Composition (Whole–Part)
M1 PBMP Model
Business Case Docket contains Risk Section
M0 Evidence
Docket v1.0 contains RiskSection_01 · Approved 20 Jul 2026
6 Allowed Endpoints & Constraints
| Side | Allowed Kinds | Allowed M-Level |
|---|---|---|
| LHS | Docket, Container, Component | M1 |
| RHS | Section, Item, Component | M1 |
Required direction: LHS_TO_RHS (Whole → Part).
Invalid: Section contains Docket — Blocking.
Invalid: Section contains Docket — Blocking.
Active Constraints
- Mandatory sections cannot be removed after approval
- Docket must contain ≥1 Problem Statement Section
- Composition delete: Cascade or Migrate — never orphan
- Severity: Blocking · Timing: Design / Publish / Change
7 Association Designer
Composition · Aggregation · Association · AssociationClass
whole
Business Case Docket
1
contains
composite · navigable both
composite · navigable both
part
Risk Section
0..1
8 Dependency / Impact Analyzer
Structural
Impact Type
Medium
Impact Level
Yes
Requires Review
12
Affected (Prospective)
This Tuple
→
Business Case Template
→
Discovery Workbench UI
→
PDF Generation Service
→
JSON Schema
Association = instances may be linked. Dependency = client relies on supplier — supplier change triggers review.
→ Open as Change Request
9 Relationship-as-Class Editor
Inactive for Composition
Composition typically has no relationship attributes. Switch Relationship to assignedTo (AssociationClass) to edit UserRoleAssignment attributes.
| Attribute | Data Type | Mandatory | Entry Mode |
|---|---|---|---|
| effective_from | DateTime | Yes | user_entered |
| effective_to | DateTime | No | user_entered |
| approved_by | GEM::User | Yes | selected |
| assignment_status | Enum | Yes | selected |
| allocation_percentage | Number | No | user_entered |
| reason | Text | No | user_entered |
10 Relationship Graph Canvas
Business Case Docket
├── contains → Risk Section (NEW · 0..1)
├── contains → Problem Statement Section (1..*)
├── contains → Benefits Section (1..*)
├── refines ← Business Need
├── usedBy → Product Discovery Workbench
├── exportedAs → Business Case PDF
├── baselinedAs → BusinessCaseTemplate_v1
└── partOf ← Product Discovery Docket
LHS: Docket
— contains →
RHS: Risk Section
Click node → GEM detail · Click edge → relationship detail · Right-click → edit / retire / impact analyze
11 Relationship Rules & Behavior — contains
Cardinality
Docket must contain 1..* sections · This tuple: 1 → 0..1Direction
Composition: Whole (LHS) → Part (RHS) — mandatory LHS_TO_RHSLifecycle
Composition part retires with whole — Cascade / Restrict on deleteDelete Behavior
Cascade child sections OR Restrict if mandatory sections remainNavigability
Forward TRUE · Backward TRUE — traverse both endsChange Impact
Type/cardinality change triggers template review + baseline decisionAccess
Product Architect can edit M2 relationships · PM can edit M1 tuplesPublish Rule
Only approved relationships usable in templates · Draft tuples blocked at publishValidation
SRS must trace to BRD before baseline · Endpoint legality at design timeEvaluation Timing
Design Time · Publish Time · Change Time · Runtime (instance check)12 Tuple Preview / Governed JSON Preview
Human: Business Case Docket contains Risk Section.
LHS: GEM::Docket::BusinessCaseDocket · Relationship: GEM::Relationship::Contains · RHS: GEM::Section::RiskSection
M2: Composition · Direction: LHS_TO_RHS · Cardinality: 1 → 0..1 · Mandatory: FALSE
M2: Composition · Direction: LHS_TO_RHS · Cardinality: 1 → 0..1 · Mandatory: FALSE
13 CLIPO / Product Lifecycle Trace
Business Case
→
BRD
→
SRS
→
HLD
→
LLD
→
Code
→
Test
→
Release
→
KPI / Value
Example chain: BRD-REQ-001 refines Need → SRS-FR-001 refines BRD → HLD realizes SRS → Test verifies SRS → KPI measures value.
14 Relationship Change Management Panel
Add / Remove / Type / Cardinality / Retire / Merge…
Example: Aggregation → Composition strengthens lifecycle — child sections may no longer exist independently; M0 needs migration decision.
→ Open as GEM Change Request
15 Validation & Warnings
2 Blocking
3 Warnings
5 Safe
| Check | Severity | Message | Recommended |
|---|---|---|---|
| Cardinality check | Blocking | 0..1 violates template rule requiring ≥1 Risk Section when risk flag = TRUE | Change to 0..* or add conditional rule |
| M-level consistency | Blocking | M3-only Contains machinery cannot be used at M0 without M1 tuple | Ensure M1 tuple approved first |
| Mandatory rule check | Warning | No mandatory rule defined for optional Risk Section | Define mandatory rule or mark optional explicitly |
| Indirect dependency | Warning | Creates indirect LLD→Discovery link via templates | Add explicit trace to SRS requirement |
| Impact on generated artifacts | Warning | Business Case PDF template will regenerate section order | Review PDF layout before publish |
| Endpoint legality | Pass | Docket → Section allowed for Composition | — |
| Direction | Pass | Whole → Part (LHS_TO_RHS) | — |
| Containment cycle | Pass | No circular containment | — |
| Duplicate edge | Pass | No identical active tuple | — |
| RBAC permission | Pass | Priya Mehta can create M1 relationships | — |
16 Transaction & Audit View
| Event | Tuple ID | Actor | Timestamp | Old → New | Status |
|---|---|---|---|---|---|
| Relationship Created | REL-TUP-000245 | Priya Mehta | 2026-07-20 10:12 | none → BCD contains Risk Section | Draft |
| Submitted for Approval | REL-TUP-000245 | Priya Mehta | 2026-07-20 11:05 | Draft → Submitted | Submitted |
| Approved | REL-TUP-000245 | Arun Sharma | 2026-07-21 09:40 | Submitted → Approved | Approved |
| Publish / Apply | REL-TUP-000245 | System | Pending | Approved → Active | Pending |
2026-07-20 10:12 · Priya Mehta
Relationship Created — Business Case Docket contains Risk Section (Draft)
2026-07-20 11:05 · Priya Mehta
Submitted for Approval — Product Discovery workspace
2026-07-21 09:40 · Arun Sharma
Approved — “Proceed with optional Risk Section (0..1)”
Pending · System
Publish / Apply — will write M1 Baseline v1.1 + immutable audit