Skip to content

Commit 3b571c0

Browse files
committed
chore(schema): extend milestone support across relationship types
Milestones can now participate in multiple relationship types beyond precedes: refines, depends_on, affects, implements, realises, part_of, constrained_by, governed_by, modifies, and produces. This enables milestones to meaningfully connect to other system elements. Resolves issue #26
1 parent c03f285 commit 3b571c0

1 file changed

Lines changed: 33 additions & 7 deletions

File tree

src/endpoint-types.ts

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
2121
"realisation",
2222
"principle",
2323
"policy",
24+
"milestone",
2425
],
2526
to: [
2627
"intent",
@@ -35,14 +36,35 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
3536

3637
// Realises — implementation hierarchy
3738
realises: {
38-
from: ["capability", "element", "realisation", "artefact", "mode"],
39-
to: ["capability", "element", "realisation", "concept", "stage"],
39+
from: [
40+
"capability",
41+
"element",
42+
"realisation",
43+
"artefact",
44+
"mode",
45+
"milestone",
46+
],
47+
to: [
48+
"capability",
49+
"element",
50+
"realisation",
51+
"concept",
52+
"stage",
53+
"milestone",
54+
],
4055
},
4156

4257
// Implements — operationalisation
4358
implements: {
44-
from: ["element", "realisation", "change", "stage"],
45-
to: ["capability", "element", "realisation", "decision", "change"],
59+
from: ["element", "realisation", "change", "stage", "milestone"],
60+
to: [
61+
"capability",
62+
"element",
63+
"realisation",
64+
"decision",
65+
"change",
66+
"milestone",
67+
],
4668
},
4769

4870
// Depends on — broad dependency across all node types
@@ -99,13 +121,14 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
99121
"change",
100122
"invariant",
101123
"role",
124+
"milestone",
102125
],
103126
to: ["invariant", "principle", "policy", "protocol", "concept"],
104127
},
105128

106129
// Affects — broad impact relationships
107130
affects: {
108-
from: ["decision", "change", "artefact", "stage"],
131+
from: ["decision", "change", "artefact", "stage", "milestone"],
109132
to: [
110133
"intent",
111134
"concept",
@@ -178,6 +201,7 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
178201
"role",
179202
"gate",
180203
"mode",
204+
"milestone",
181205
],
182206
to: [
183207
"intent",
@@ -193,6 +217,7 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
193217
"role",
194218
"gate",
195219
"mode",
220+
"milestone",
196221
],
197222
},
198223

@@ -210,13 +235,14 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
210235
"policy",
211236
"artefact",
212237
"role",
238+
"milestone",
213239
],
214240
to: ["policy", "protocol", "role", "principle", "invariant", "concept"],
215241
},
216242

217243
// Modifies — mutation and change
218244
modifies: {
219-
from: ["change", "stage"],
245+
from: ["change", "stage", "milestone"],
220246
to: [
221247
"intent",
222248
"concept",
@@ -229,7 +255,7 @@ export const RELATIONSHIP_ENDPOINT_TYPES: Record<
229255

230256
// Produces — generation
231257
produces: {
232-
from: ["stage", "realisation", "concept", "capability"],
258+
from: ["stage", "realisation", "concept", "capability", "milestone"],
233259
to: ["artefact", "concept"],
234260
},
235261
};

0 commit comments

Comments
 (0)