Skip to content

Commit b8b9915

Browse files
authored
fix(AIP-121): clarify acyclic parent-child relation (#1379)
1 parent eb775e8 commit b8b9915

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

aip/general/0121.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,10 @@ have sole responsibility and authority for maintaining the application state.
142142

143143
### Cyclic References
144144

145-
The relationship between resources, such as parent-child or
146-
[resource references][], **must** be representable via a
147-
[directed acyclic graph][].
145+
The relationship between resources, such as with [resource references][],
146+
**must** be representable via a [directed acyclic graph][]. The parent-child
147+
relationship also **must** be acyclic, and as per [AIP-124][] a given resource
148+
instance will only have one canonical parent resource.
148149

149150
A cyclic relationship between resources increases the complexity of managing
150151
resources. Consider resources A and B that refer to
@@ -161,6 +162,7 @@ This requirement does not apply to relationships that are expressed via
161162
[output only][] fields, as they do not require the user to specify the values
162163
and in turn do not increase resource management complexity.
163164

165+
[AIP-124]: ./0124.md
164166
[create]: ./0133.md
165167
[custom methods]: ./0136.md
166168
[delete]: ./0135.md
@@ -181,6 +183,7 @@ and in turn do not increase resource management complexity.
181183

182184
## Changelog
183185

186+
- **2024-07-08**: Clarify acyclic nature of parent-child relationship.
184187
- **2023-08-24**: Added guidance on consistency guarantees of methods.
185188
- **2023-07-23**: Clarify stateless protocol definition.
186189
- **2023-01-21**: Explicitly require matching schema across standard methods.

0 commit comments

Comments
 (0)