@x12i/memorix-metadata 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -172,7 +172,7 @@
172
172
  "name": "Content",
173
173
  "dataCategory": "knowledge",
174
174
  "abstractTypes": [
175
- "KnowXContent"
175
+ "Content"
176
176
  ],
177
177
  "notes": "Ingested documents (raw/snapshots) plus free-floating KnowX knowledge items (knowx NODE/EDGE with own recordId). Entity NODE facets stay on people/work-items.",
178
178
  "contentTypes": [
@@ -311,7 +311,7 @@
311
311
  "required": false
312
312
  },
313
313
  {
314
- "id": "knowxEdgesFrom",
314
+ "id": "contentEdgesFrom",
315
315
  "valueType": "array",
316
316
  "required": false
317
317
  }
@@ -352,9 +352,9 @@
352
352
  "concreteValueType": "string"
353
353
  },
354
354
  {
355
- "abstractProperty": "knowxEdgesFrom",
355
+ "abstractProperty": "contentEdgesFrom",
356
356
  "contentType": "relationships",
357
- "propertyPath": "data.nav.knowxEdgesFrom"
357
+ "propertyPath": "data.nav.contentEdgesFrom"
358
358
  }
359
359
  ]
360
360
  }
@@ -384,7 +384,7 @@
384
384
  "required": false
385
385
  },
386
386
  {
387
- "id": "knowxEdgesTo",
387
+ "id": "contentEdgesTo",
388
388
  "valueType": "array",
389
389
  "required": false
390
390
  }
@@ -413,9 +413,9 @@
413
413
  "concreteValueType": "string"
414
414
  },
415
415
  {
416
- "abstractProperty": "knowxEdgesTo",
416
+ "abstractProperty": "contentEdgesTo",
417
417
  "contentType": "relationships",
418
- "propertyPath": "data.nav.knowxEdgesTo"
418
+ "propertyPath": "data.nav.contentEdgesTo"
419
419
  }
420
420
  ]
421
421
  }
@@ -423,9 +423,9 @@
423
423
  "union": false
424
424
  },
425
425
  {
426
- "id": "KnowXContent",
427
- "name": "KnowX Content",
428
- "meaning": "Canonical ingested document representation (Markdown + provenance). Knowledge claims are derived from content; post-processing uses content types on this OT (raw → snapshots).",
426
+ "id": "Content",
427
+ "name": "Content",
428
+ "meaning": "Canonical ingested documents and derived knowledge items (Markdown + provenance). Knowledge claims are derived from content; content is the source of claims, not the claims themselves.",
429
429
  "category": "knowledge",
430
430
  "properties": [
431
431
  {
@@ -677,21 +677,22 @@
677
677
  ]
678
678
  }
679
679
  ],
680
- "union": false
680
+ "union": false,
681
+ "notes": "Content abstract ↔ content OT. Domain noun — not product-branded. Documents (raw/snapshots) and derived knowledge items (knowx) share this abstract; writers always target concrete content types on the OT."
681
682
  }
682
683
  ],
683
684
  "relationshipDefinitions": [
684
685
  {
685
686
  "id": "knowx-same-as",
686
- "name": "KnowX same as",
687
- "meaning": "Two KnowX claims refer to the same underlying assertion",
687
+ "name": "Same as",
688
+ "meaning": "Two knowledge claims refer to the same underlying assertion",
688
689
  "directionality": "undirected",
689
690
  "from": {
690
- "abstractType": "KnowXContent",
691
+ "abstractType": "Content",
691
692
  "path": "sameAs"
692
693
  },
693
694
  "to": {
694
- "abstractType": "KnowXContent",
695
+ "abstractType": "Content",
695
696
  "path": "sameAs"
696
697
  },
697
698
  "discoveryRules": [
@@ -704,15 +705,15 @@
704
705
  },
705
706
  {
706
707
  "id": "knowx-supports",
707
- "name": "KnowX supports",
708
- "meaning": "One KnowX claim supports another",
708
+ "name": "Supports",
709
+ "meaning": "One knowledge claim supports another",
709
710
  "directionality": "directed",
710
711
  "from": {
711
- "abstractType": "KnowXContent",
712
+ "abstractType": "Content",
712
713
  "path": "supports"
713
714
  },
714
715
  "to": {
715
- "abstractType": "KnowXContent",
716
+ "abstractType": "Content",
716
717
  "path": "supportedBy"
717
718
  },
718
719
  "discoveryRules": [
@@ -725,15 +726,15 @@
725
726
  },
726
727
  {
727
728
  "id": "knowx-contradicts",
728
- "name": "KnowX contradicts",
729
- "meaning": "Two KnowX claims contradict each other",
729
+ "name": "Contradicts",
730
+ "meaning": "Two knowledge claims contradict each other",
730
731
  "directionality": "directed",
731
732
  "from": {
732
- "abstractType": "KnowXContent",
733
+ "abstractType": "Content",
733
734
  "path": "contradicts"
734
735
  },
735
736
  "to": {
736
- "abstractType": "KnowXContent",
737
+ "abstractType": "Content",
737
738
  "path": "contradictedBy"
738
739
  },
739
740
  "discoveryRules": [
@@ -746,15 +747,15 @@
746
747
  },
747
748
  {
748
749
  "id": "knowx-derived-from",
749
- "name": "KnowX derived from claim",
750
- "meaning": "A KnowX claim is derived from another KnowX claim",
750
+ "name": "Derived from claim",
751
+ "meaning": "A knowledge claim is derived from another knowledge claim",
751
752
  "directionality": "directed",
752
753
  "from": {
753
- "abstractType": "KnowXContent",
754
+ "abstractType": "Content",
754
755
  "path": "derivedFrom"
755
756
  },
756
757
  "to": {
757
- "abstractType": "KnowXContent",
758
+ "abstractType": "Content",
758
759
  "path": "derivedClaims"
759
760
  },
760
761
  "discoveryRules": [
@@ -767,15 +768,15 @@
767
768
  },
768
769
  {
769
770
  "id": "knowx-derived-from-content",
770
- "name": "KnowX derived from content",
771
- "meaning": "A KnowX claim is derived from ingested content",
771
+ "name": "Derived from content",
772
+ "meaning": "A knowledge claim is derived from ingested content",
772
773
  "directionality": "directed",
773
774
  "from": {
774
- "abstractType": "KnowXContent",
775
+ "abstractType": "Content",
775
776
  "path": "derivedFromContent"
776
777
  },
777
778
  "to": {
778
- "abstractType": "KnowXContent",
779
+ "abstractType": "Content",
779
780
  "path": "derivedKnowledge"
780
781
  },
781
782
  "discoveryRules": [
@@ -788,16 +789,16 @@
788
789
  },
789
790
  {
790
791
  "id": "knowx-edge-from",
791
- "name": "KnowX edge from",
792
- "meaning": "A KnowX EDGE claim starts at an entity",
792
+ "name": "Edge from",
793
+ "meaning": "A knowledge EDGE claim starts at an entity",
793
794
  "directionality": "directed",
794
795
  "from": {
795
- "abstractType": "KnowXContent",
796
+ "abstractType": "Content",
796
797
  "path": "edgeFrom"
797
798
  },
798
799
  "to": {
799
800
  "abstractType": "People",
800
- "path": "knowxEdgesFrom"
801
+ "path": "contentEdgesFrom"
801
802
  },
802
803
  "discoveryRules": [
803
804
  {
@@ -809,16 +810,16 @@
809
810
  },
810
811
  {
811
812
  "id": "knowx-edge-to",
812
- "name": "KnowX edge to",
813
- "meaning": "A KnowX EDGE claim ends at an entity",
813
+ "name": "Edge to",
814
+ "meaning": "A knowledge EDGE claim ends at an entity",
814
815
  "directionality": "directed",
815
816
  "from": {
816
- "abstractType": "KnowXContent",
817
+ "abstractType": "Content",
817
818
  "path": "edgeTo"
818
819
  },
819
820
  "to": {
820
821
  "abstractType": "WorkItems",
821
- "path": "knowxEdgesTo"
822
+ "path": "contentEdgesTo"
822
823
  },
823
824
  "discoveryRules": [
824
825
  {
@@ -835,7 +836,7 @@
835
836
  "sources": [
836
837
  {
837
838
  "id": "knowx-source",
838
- "name": "KnowX knowledge source",
839
+ "name": "Knowledge source",
839
840
  "kind": "rest",
840
841
  "baseUrlEnv": "KNOWX_SOURCE_URL",
841
842
  "defaultBaseUrl": "http://127.0.0.1:5104",
@@ -883,7 +884,7 @@
883
884
  },
884
885
  {
885
886
  "id": "knowx-managed",
886
- "name": "KnowX Knowledge Drive (managed)",
887
+ "name": "Knowledge Drive (managed)",
887
888
  "kind": "knowx-managed",
888
889
  "connectorRef": "knowx-managed",
889
890
  "endpoints": [
@@ -930,8 +931,8 @@
930
931
  "services": [
931
932
  {
932
933
  "id": "knowx-folder-pull",
933
- "name": "KnowX folder connector pull",
934
- "description": "Runs the remote-hosted knowx-folder defineConnector (collectStream + fullScanHash). Lands exact file raw only — does not extract Markdown or derive Knowledge. Connector-adjacent worker — not agent vocabulary.",
934
+ "name": "Folder connector pull",
935
+ "description": "Runs the remote-hosted knowx-folder defineConnector (collectStream + fullScanHash). Lands exact file raw only — does not extract Markdown or derive knowledge. Connector-adjacent worker — not agent vocabulary.",
935
936
  "role": "connector",
936
937
  "capabilities": [
937
938
  "analyze"
@@ -976,7 +977,7 @@
976
977
  },
977
978
  {
978
979
  "id": "knowx-managed-pull",
979
- "name": "KnowX managed Knowledge Drive pull",
980
+ "name": "Managed drive pull",
980
981
  "description": "Runs the remote-hosted knowx-managed defineConnector over managed upload events / item versions. Lands exact bytes as content/raw via collectStream. Connector-adjacent worker — not agent vocabulary.",
981
982
  "role": "connector",
982
983
  "capabilities": [
@@ -1017,8 +1018,8 @@
1017
1018
  },
1018
1019
  {
1019
1020
  "id": "knowx-promote-content",
1020
- "name": "KnowX promote content",
1021
- "description": "Reads landed content/raw file envelopes, runs format→Markdown extractors, writes KnowXContent snapshots. Connector-pipeline step — promotes concrete raw onto the KnowXContent abstract member.",
1021
+ "name": "Promote content",
1022
+ "description": "Reads landed content/raw file envelopes, runs format→Markdown extractors, writes Content snapshots. Connector-pipeline step — promotes concrete raw onto the Content abstract member.",
1022
1023
  "role": "connector",
1023
1024
  "capabilities": [
1024
1025
  "analyze"
@@ -1047,13 +1048,13 @@
1047
1048
  "outputs": [
1048
1049
  {
1049
1050
  "id": "contentDrafts",
1050
- "abstractType": "KnowXContent",
1051
- "description": "Canonical ContentRecordData drafts on KnowXContent"
1051
+ "abstractType": "Content",
1052
+ "description": "Canonical ContentRecordData drafts on Content"
1052
1053
  },
1053
1054
  {
1054
1055
  "id": "contentIds",
1055
- "abstractType": "KnowXContent",
1056
- "description": "Promoted KnowXContent record ids"
1056
+ "abstractType": "Content",
1057
+ "description": "Promoted Content record ids"
1057
1058
  }
1058
1059
  ],
1059
1060
  "invocation": {
@@ -1063,8 +1064,8 @@
1063
1064
  },
1064
1065
  {
1065
1066
  "id": "knowx-extract",
1066
- "name": "KnowX extract",
1067
- "description": "Extract KnowX NODE/EDGE knowledge-item drafts from KnowXContent (text + knowledge source, or promoted content). Each draft includes data.identity.category (claim|fact|opinion|assumption). Returns drafts only — does not persist. Pipeline write-record applies knowx content. When aiService is bound and AI_SKILLS_URL is set, Memorix invokes Catalox skill knowx.extract via ai-services/1. Fallback: KnowX worker; test-only KNOWX_AI_SIM=1 routes to APS AI sim (:5112).",
1067
+ "name": "Extract knowledge",
1068
+ "description": "Extract NODE/EDGE knowledge-item drafts from Content (text + knowledge source, or promoted content). Each draft includes data.identity.category (claim|fact|opinion|assumption). Returns drafts only — does not persist. Pipeline write-record applies knowx content. When aiService is bound and AI_SKILLS_URL is set, Memorix invokes Catalox skill knowx.extract via ai-services/1. Fallback: pack worker; test-only KNOWX_AI_SIM=1 routes to APS AI sim (:5112).",
1068
1069
  "role": "agent",
1069
1070
  "capabilities": [
1070
1071
  "analyze"
@@ -1076,33 +1077,33 @@
1076
1077
  {
1077
1078
  "id": "text",
1078
1079
  "control": true,
1079
- "description": "Input text to analyze (inline string or resolved from KnowXContent)"
1080
+ "description": "Input text to analyze (inline string or resolved from Content)"
1080
1081
  },
1081
1082
  {
1082
1083
  "id": "knowledgeSource",
1083
- "abstractType": "KnowXContent",
1084
- "description": "Exact source bytes / provenance envelope for KnowXContent"
1084
+ "abstractType": "Content",
1085
+ "description": "Exact source bytes / provenance envelope for Content"
1085
1086
  },
1086
1087
  {
1087
1088
  "id": "contentId",
1088
- "abstractType": "KnowXContent",
1089
- "description": "Promoted KnowXContent record id — open via Explore"
1089
+ "abstractType": "Content",
1090
+ "description": "Promoted Content record id — open via Explore"
1090
1091
  },
1091
1092
  {
1092
1093
  "id": "contentIds",
1093
- "abstractType": "KnowXContent",
1094
- "description": "Batch of promoted KnowXContent ids"
1094
+ "abstractType": "Content",
1095
+ "description": "Batch of promoted Content ids"
1095
1096
  },
1096
1097
  {
1097
1098
  "id": "contentDrafts",
1098
- "abstractType": "KnowXContent",
1099
+ "abstractType": "Content",
1099
1100
  "description": "In-pipeline ContentRecordData from knowx-promote-content"
1100
1101
  }
1101
1102
  ],
1102
1103
  "outputs": [
1103
1104
  {
1104
1105
  "id": "knowxDrafts",
1105
- "abstractType": "KnowXContent",
1106
+ "abstractType": "Content",
1106
1107
  "description": "Array of knowx knowledge-item drafts (NODE/EDGE + data.identity.category claim|fact|opinion|assumption) with mandatory provenance and content lineage"
1107
1108
  }
1108
1109
  ],
@@ -1120,8 +1121,8 @@
1120
1121
  },
1121
1122
  {
1122
1123
  "id": "knowx-associate-knowledge",
1123
- "name": "KnowX associate knowledge",
1124
- "description": "Classify extracted drafts against existing KnowXContent scope: known, novel, contradicts. When aiService is bound, Memorix invokes Catalox skill knowx.associate-knowledge and pushes existingKnowx from Explore. Worker fallback fetches via memorix callback or accepts pushed existingKnowx. Returns classification buckets + candidate knowledge relationship plans. Does not persist.",
1124
+ "name": "Associate knowledge",
1125
+ "description": "Classify extracted drafts against existing Content scope: known, novel, contradicts. When aiService is bound, Memorix invokes Catalox skill knowx.associate-knowledge and pushes existingKnowx from Explore. Worker fallback fetches via memorix callback or accepts pushed existingKnowx. Returns classification buckets + candidate knowledge relationship plans. Does not persist.",
1125
1126
  "role": "agent",
1126
1127
  "capabilities": [
1127
1128
  "analyze"
@@ -1132,25 +1133,25 @@
1132
1133
  "inputs": [
1133
1134
  {
1134
1135
  "id": "knowxDrafts",
1135
- "abstractType": "KnowXContent",
1136
+ "abstractType": "Content",
1136
1137
  "description": "Drafts from knowx-extract"
1137
1138
  },
1138
1139
  {
1139
1140
  "id": "existingKnowx",
1140
- "abstractType": "KnowXContent",
1141
- "description": "Optional pushed existing KnowXContent for offline/fixture runs"
1141
+ "abstractType": "Content",
1142
+ "description": "Optional pushed existing Content for offline/fixture runs"
1142
1143
  }
1143
1144
  ],
1144
1145
  "outputs": [
1145
1146
  {
1146
1147
  "id": "classification",
1147
- "abstractType": "KnowXContent",
1148
+ "abstractType": "Content",
1148
1149
  "description": "known / novel / contradicts buckets"
1149
1150
  },
1150
1151
  {
1151
1152
  "id": "relationshipPlans",
1152
- "abstractType": "KnowXContent",
1153
- "description": "Candidate knowledge relationship plans on KnowXContent"
1153
+ "abstractType": "Content",
1154
+ "description": "Candidate knowledge relationship plans on Content"
1154
1155
  }
1155
1156
  ],
1156
1157
  "aiService": {
@@ -1166,8 +1167,8 @@
1166
1167
  },
1167
1168
  {
1168
1169
  "id": "knowx-associate-entities",
1169
- "name": "KnowX associate entities",
1170
- "description": "Plan EDGE endpoint relationships for novel drafts against entity abstracts (People, WorkItems) and KnowXContent. Does not persist.",
1170
+ "name": "Associate entities",
1171
+ "description": "Plan EDGE endpoint relationships for novel drafts against entity abstracts (People, WorkItems) and Content. Does not persist.",
1171
1172
  "role": "agent",
1172
1173
  "capabilities": [
1173
1174
  "analyze"
@@ -1178,7 +1179,7 @@
1178
1179
  "inputs": [
1179
1180
  {
1180
1181
  "id": "novelDrafts",
1181
- "abstractType": "KnowXContent",
1182
+ "abstractType": "Content",
1182
1183
  "description": "Novel drafts from associate-knowledge classification"
1183
1184
  }
1184
1185
  ],
@@ -1186,7 +1187,7 @@
1186
1187
  {
1187
1188
  "id": "entityRelationshipPlans",
1188
1189
  "abstractType": "People",
1189
- "description": "EDGE endpoint relationship plans toward People, WorkItems, and KnowXContent abstracts"
1190
+ "description": "EDGE endpoint relationship plans toward People, WorkItems, and Content abstracts"
1190
1191
  }
1191
1192
  ],
1192
1193
  "invocation": {
@@ -1212,7 +1213,7 @@
1212
1213
  },
1213
1214
  {
1214
1215
  "id": "knowx-ingest-associate",
1215
- "name": "KnowX ingest then associate knowledge and entities",
1216
+ "name": "Ingest then associate knowledge and entities",
1216
1217
  "trigger": "explicit",
1217
1218
  "description": "extract → write knowx → associate-knowledge → relationship-write → associate-entities → relationship-write. Services do not persist; write-record and relationship-write do.",
1218
1219
  "steps": [
@@ -1295,7 +1296,7 @@
1295
1296
  },
1296
1297
  {
1297
1298
  "id": "knowx-ingest-content-source",
1298
- "name": "KnowX folder connector ingest then derive Knowledge",
1299
+ "name": "Folder connector ingest then derive knowledge",
1299
1300
  "trigger": "explicit",
1300
1301
  "description": "knowx-folder-pull (exact raw via CF collectStream) → knowx-promote-content (format→Markdown snapshots) → knowx-extract → write knowx → associate-knowledge → relationship-write → associate-entities → relationship-write.",
1301
1302
  "steps": [
@@ -1414,7 +1415,7 @@
1414
1415
  },
1415
1416
  {
1416
1417
  "id": "knowx-ingest-managed-item",
1417
- "name": "KnowX managed Drive item ingest then derive Knowledge",
1418
+ "name": "Managed Drive item ingest then derive knowledge",
1418
1419
  "trigger": "explicit",
1419
1420
  "description": "knowx-managed-pull (exact raw via CF collectStream) → knowx-promote-content → knowx-extract → write knowx → associate-knowledge → relationship-write → associate-entities → relationship-write.",
1420
1421
  "steps": [
@@ -28,7 +28,7 @@
28
28
  "abstractTypes": [
29
29
  "People"
30
30
  ],
31
- "notes": "Single people OT. Inside vs outside org is identity kind (concept.identifiers.primary.kind): employeeId | externalPersonId — not separate object types.",
31
+ "notes": "Single people OT. Inside vs outside org is identity kind (concept.identifiers.primary.kind): employeeId | externalPersonId \u2014 not separate object types.",
32
32
  "contentTypes": [
33
33
  {
34
34
  "id": "raw",
@@ -162,7 +162,7 @@
162
162
  {
163
163
  "id": "People",
164
164
  "name": "People",
165
- "meaning": "People who perform operational work — inside the org (employeeId) or outside (externalPersonId), distinguished by identity kind",
165
+ "meaning": "People who perform operational work \u2014 inside the org (employeeId) or outside (externalPersonId), distinguished by identity kind",
166
166
  "category": "entity",
167
167
  "properties": [
168
168
  {
@@ -225,7 +225,7 @@
225
225
  }
226
226
  ],
227
227
  "union": false,
228
- "notes": "People abstract ↔ people OT 1:1. Inside/outside org is concept.identifiers.primary.kind (employeeId | externalPersonId), not a second OT."
228
+ "notes": "People abstract \u2194 people OT 1:1. Inside/outside org is concept.identifiers.primary.kind (employeeId | externalPersonId), not a second OT."
229
229
  },
230
230
  {
231
231
  "id": "WorkItems",
@@ -673,18 +673,17 @@
673
673
  {
674
674
  "id": "opx-work-items-list",
675
675
  "kind": "list",
676
- "objectType": "work-items",
677
676
  "title": "Work items",
678
677
  "columns": [
679
678
  "concept.title",
680
679
  "data.status",
681
680
  "data.priority"
682
- ]
681
+ ],
682
+ "abstractType": "WorkItems"
683
683
  },
684
684
  {
685
685
  "id": "opx-work-items-item",
686
686
  "kind": "item",
687
- "objectType": "work-items",
688
687
  "title": "Work item",
689
688
  "sections": [
690
689
  "concept",
@@ -692,7 +691,8 @@
692
691
  "workflow",
693
692
  "analysis",
694
693
  "decisions"
695
- ]
694
+ ],
695
+ "abstractType": "WorkItems"
696
696
  },
697
697
  {
698
698
  "id": "opx-people-list",
@@ -708,9 +708,9 @@
708
708
  {
709
709
  "id": "opx-work-item-expand-people",
710
710
  "kind": "relationship-expansion",
711
- "objectType": "work-items",
712
711
  "relationshipDefinitionId": "people-assigned-to-work-items",
713
- "direction": "to-from"
712
+ "direction": "to-from",
713
+ "abstractType": "WorkItems"
714
714
  }
715
715
  ],
716
716
  "writes": [
@@ -874,7 +874,7 @@
874
874
  {
875
875
  "id": "opx-enrich-priority",
876
876
  "name": "Enrich work-item priority",
877
- "description": "Deterministic priority score draft for WorkItems. Returns a patch plan — does not persist. Pipeline write-record applies the revision-safe mutation on the concrete member.",
877
+ "description": "Deterministic priority score draft for WorkItems. Returns a patch plan \u2014 does not persist. Pipeline write-record applies the revision-safe mutation on the concrete member.",
878
878
  "role": "agent",
879
879
  "capabilities": [
880
880
  "enrich"
@@ -1007,7 +1007,7 @@
1007
1007
  "id": "opx-enrich-priority",
1008
1008
  "name": "Enrich WI priority (draft then write)",
1009
1009
  "trigger": "explicit",
1010
- "description": "Capture snapshot → enrich service (opx-enrich-priority) → write-record. Runtime v2 uses stepKind enrich + serviceId.",
1010
+ "description": "Capture snapshot \u2192 enrich service (opx-enrich-priority) \u2192 write-record. Runtime v2 uses stepKind enrich + serviceId.",
1011
1011
  "steps": [
1012
1012
  {
1013
1013
  "id": "enrich",
@@ -3,14 +3,14 @@
3
3
  {
4
4
  "id": "opx-work-items-list",
5
5
  "kind": "list",
6
- "objectType": "work-items",
6
+ "abstractType": "WorkItems",
7
7
  "title": "Work items",
8
8
  "columns": ["concept.title", "data.status", "data.priority"]
9
9
  },
10
10
  {
11
11
  "id": "opx-work-items-item",
12
12
  "kind": "item",
13
- "objectType": "work-items",
13
+ "abstractType": "WorkItems",
14
14
  "title": "Work item",
15
15
  "sections": ["concept", "data", "workflow", "analysis", "decisions"]
16
16
  },
@@ -24,7 +24,7 @@
24
24
  {
25
25
  "id": "opx-work-item-expand-people",
26
26
  "kind": "relationship-expansion",
27
- "objectType": "work-items",
27
+ "abstractType": "WorkItems",
28
28
  "relationshipDefinitionId": "people-assigned-to-work-items",
29
29
  "direction": "to-from"
30
30
  }
@@ -674,7 +674,7 @@
674
674
  {
675
675
  "id": "opx-work-items-list",
676
676
  "kind": "list",
677
- "objectType": "work-items",
677
+ "abstractType": "WorkItems",
678
678
  "title": "Work items",
679
679
  "columns": [
680
680
  "concept.title",
@@ -685,7 +685,7 @@
685
685
  {
686
686
  "id": "opx-work-items-item",
687
687
  "kind": "item",
688
- "objectType": "work-items",
688
+ "abstractType": "WorkItems",
689
689
  "title": "Work item",
690
690
  "sections": [
691
691
  "concept",
@@ -709,7 +709,7 @@
709
709
  {
710
710
  "id": "opx-work-item-expand-people",
711
711
  "kind": "relationship-expansion",
712
- "objectType": "work-items",
712
+ "abstractType": "WorkItems",
713
713
  "relationshipDefinitionId": "people-assigned-to-work-items",
714
714
  "direction": "to-from"
715
715
  },
@@ -717,7 +717,7 @@
717
717
  "id": "project-opx-work-items-list",
718
718
  "kind": "list",
719
719
  "title": "Project work items",
720
- "objectType": "work-items",
720
+ "abstractType": "WorkItems",
721
721
  "extends": "opx-work-items-list"
722
722
  }
723
723
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x12i/memorix-metadata",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Canonical Memorix metadata contracts, effective multi-agent resolution, and metadata-only abstract unions (Phase 3).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",