@x12i/memorix-format 3.0.3 → 3.0.6
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.
- package/CHANGELOG.md +73 -65
- package/README.md +78 -78
- package/dist/base/concept.d.ts +4 -0
- package/dist/base/concept.d.ts.map +1 -1
- package/dist/base/concept.js +5 -1
- package/dist/base/concept.js.map +1 -1
- package/dist/cli.js +36 -36
- package/dist/v2/identity.d.ts +19 -0
- package/dist/v2/identity.d.ts.map +1 -0
- package/dist/v2/identity.js +39 -0
- package/dist/v2/identity.js.map +1 -0
- package/dist/v2/index.d.ts +2 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +1 -0
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/migrate-present.js +1 -1
- package/dist/v2/migrate-present.js.map +1 -1
- package/dist/v2/profiles.d.ts +1 -1
- package/dist/v2/profiles.d.ts.map +1 -1
- package/dist/v2/profiles.js +1 -0
- package/dist/v2/profiles.js.map +1 -1
- package/dist/v2/types.d.ts +24 -0
- package/dist/v2/types.d.ts.map +1 -1
- package/dist/v2/validate.d.ts.map +1 -1
- package/dist/v2/validate.js +18 -1
- package/dist/v2/validate.js.map +1 -1
- package/docs/association-format.md +47 -47
- package/docs/memorix-format-requirements.md +54 -54
- package/docs/memorix-format.md +68 -68
- package/docs/memorix-record-v2.md +102 -101
- package/docs/memorix-workflow-format.md +126 -126
- package/docs/migrate-present-to-v2.md +49 -49
- package/examples/invalid-record.json +11 -11
- package/examples/v2/activity-events-snapshots.json +31 -31
- package/examples/v2/people-discovery.json +26 -26
- package/examples/v2/people-snapshots-employee.json +27 -27
- package/examples/v2/playbooks-knowledge.json +27 -27
- package/examples/v2/work-items-analysis.json +26 -26
- package/examples/v2/work-items-context.json +32 -32
- package/examples/v2/work-items-decisions.json +26 -26
- package/examples/v2/work-items-raw.json +37 -37
- package/examples/v2/work-items-relationships-candidate.json +38 -38
- package/examples/v2/work-items-snapshots-lifecycle.json +31 -31
- package/examples/v2/work-items-snapshots-lightweight-refs.json +34 -34
- package/examples/v2/work-items-snapshots.json +28 -28
- package/examples/v2/work-items-workflow.json +28 -28
- package/examples/valid-snapshot.json +30 -30
- package/meta/associated-conventions.json +59 -59
- package/meta/content-type-profiles.json +27 -27
- package/meta/content-types.json +80 -80
- package/meta/envelope.json +104 -104
- package/meta/inventory/managed-descriptors.json +78 -78
- package/meta/open-buckets.json +24 -24
- package/package.json +77 -77
package/dist/v2/profiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/v2/profiles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAU,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAE3E,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,SAAS;IACT,MAAM;IACN,SAAS;IACT,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAU,CAAC;AAEpF,MAAM,CAAC,MAAM,wBAAwB,GAAyC;IAC5E,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE;IACxD,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;IACnE,SAAS,EAAE;QACT,WAAW,EAAE,WAAW;QACxB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,UAAU;QACvB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,WAAW;QACxB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAClE,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAChE,mHAAmH;IACnH,aAAa,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAC5E,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAC9D,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;CACpE,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,WAA+B,EAC/B,QAA+B;IAE/B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;IAC9C,OAAO,CACL,wBAAwB,CAAC,EAAE,CAAC,IAAI;QAC9B,WAAW,EAAE,EAAE;QACf,oBAAoB,EAAE,EAAE,KAAK,WAAW;KACzC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/v2/profiles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAU,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAE3E,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,SAAS;IACT,MAAM;IACN,SAAS;IACT,WAAW;IACX,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAU,CAAC;AAEpF,MAAM,CAAC,MAAM,wBAAwB,GAAyC;IAC5E,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE;IACxD,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;IACnE,SAAS,EAAE;QACT,WAAW,EAAE,WAAW;QACxB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,UAAU;QACvB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,WAAW;QACxB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE;YACb,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS;SACxB;KACF;IACD,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAClE,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAChE,mHAAmH;IACnH,aAAa,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAC5E,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAC9D,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;CACpE,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,WAA+B,EAC/B,QAA+B;IAE/B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;IAC9C,OAAO,CACL,wBAAwB,CAAC,EAAE,CAAC,IAAI;QAC9B,WAAW,EAAE,EAAE;QACf,oBAAoB,EAAE,EAAE,KAAK,WAAW;KACzC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/v2/types.d.ts
CHANGED
|
@@ -20,6 +20,24 @@ export type MemorixLifecycleEvent = {
|
|
|
20
20
|
process: string;
|
|
21
21
|
processedAt: string;
|
|
22
22
|
};
|
|
23
|
+
export type MarkdownSourceV2 = "ai" | "json" | "content";
|
|
24
|
+
/** Original text beside `data`. `json` is server-rendered; clients send `ai` or `content`. */
|
|
25
|
+
export type RecordMarkdownV2 = {
|
|
26
|
+
content: string;
|
|
27
|
+
source: MarkdownSourceV2;
|
|
28
|
+
metadata?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
/** Memorix-owned document source. Not part of `data`. Optional until a record is stamped. */
|
|
31
|
+
export type MemorixDatasourceV2 = {
|
|
32
|
+
service: string;
|
|
33
|
+
ingress: string;
|
|
34
|
+
basis: string;
|
|
35
|
+
recordedAt: string;
|
|
36
|
+
origin?: string;
|
|
37
|
+
channel?: string;
|
|
38
|
+
originRecordId?: string;
|
|
39
|
+
originAt?: string;
|
|
40
|
+
};
|
|
23
41
|
export type MemorixSystemBlockV2 = {
|
|
24
42
|
state: MemorixRecordState;
|
|
25
43
|
createdAt: string;
|
|
@@ -27,6 +45,7 @@ export type MemorixSystemBlockV2 = {
|
|
|
27
45
|
observedAt?: string;
|
|
28
46
|
lifecycle?: MemorixLifecycleEvent[];
|
|
29
47
|
provenance?: Record<string, unknown>;
|
|
48
|
+
_datasource?: MemorixDatasourceV2;
|
|
30
49
|
};
|
|
31
50
|
/**
|
|
32
51
|
* Snapshot-only optional buckets. Omit when unused — never emit empty `{}`.
|
|
@@ -50,6 +69,11 @@ export type MemorixRecordV2 = {
|
|
|
50
69
|
enrichment?: Record<string, unknown>;
|
|
51
70
|
insights?: Record<string, unknown>;
|
|
52
71
|
_system: MemorixSystemBlockV2;
|
|
72
|
+
/**
|
|
73
|
+
* Original text for this record. Optional on the wire; writers fill `source: "json"` from `data` when omitted.
|
|
74
|
+
* Readers omit it unless the fetch asks for markdown.
|
|
75
|
+
*/
|
|
76
|
+
_markdown?: RecordMarkdownV2;
|
|
53
77
|
/** Storage-only; ignored by format law. */
|
|
54
78
|
_id?: string;
|
|
55
79
|
};
|
package/dist/v2/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/v2/types.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,eAAO,MAAM,wBAAwB,EAAG,kBAA2B,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,OAAO,wBAAwB,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QACX,OAAO,EAAE,iBAAiB,CAAC;QAC3B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/v2/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/v2/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;AAoCpB;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/v2/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;AAoCpB;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CAqTlB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,EAAE,CAEpB"}
|
package/dist/v2/validate.js
CHANGED
|
@@ -91,7 +91,7 @@ export function validateMemorixRecordV2(input, options = {}) {
|
|
|
91
91
|
if (rejectUnknown && !allowed.has(key) && !key.startsWith("_")) {
|
|
92
92
|
issues.push(issue(key, "V2-ROOT", `Unknown root '${key}' is not allowed for contentType '${profile.contentType}'`));
|
|
93
93
|
}
|
|
94
|
-
if (key.startsWith("_") && key !== "_system" && key !== "_id") {
|
|
94
|
+
if (key.startsWith("_") && key !== "_system" && key !== "_markdown" && key !== "_id") {
|
|
95
95
|
issues.push(issue(key, "V2-SYSTEM-ROOT", `Only _system and _id machine roots are allowed; found '${key}'`));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -193,6 +193,23 @@ export function validateMemorixRecordV2(input, options = {}) {
|
|
|
193
193
|
issues.push(issue("_system.provenance", "V2-PROVENANCE-EMPTY", "provenance must be omitted when empty"));
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
+
if (input._markdown !== undefined) {
|
|
197
|
+
const md = input._markdown;
|
|
198
|
+
if (!isPlainObject(md)) {
|
|
199
|
+
issues.push(issue("_markdown", "V2-MARKDOWN", "_markdown must be an object"));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
if (typeof md.content !== "string") {
|
|
203
|
+
issues.push(issue("_markdown.content", "V2-MARKDOWN", "_markdown.content must be a string"));
|
|
204
|
+
}
|
|
205
|
+
if (md.source !== "ai" && md.source !== "json" && md.source !== "content") {
|
|
206
|
+
issues.push(issue("_markdown.source", "V2-MARKDOWN", "_markdown.source must be ai, json, or content"));
|
|
207
|
+
}
|
|
208
|
+
if (md.metadata !== undefined && !isPlainObject(md.metadata)) {
|
|
209
|
+
issues.push(issue("_markdown.metadata", "V2-MARKDOWN", "_markdown.metadata must be an object"));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
196
213
|
if (options.enforceDiscriminator !== false && profile.discriminator && isPlainObject(input)) {
|
|
197
214
|
const disc = profile.discriminator;
|
|
198
215
|
const value = readPath(input, disc.path);
|
package/dist/v2/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/v2/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/v2/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# Association format
|
|
2
|
-
|
|
3
|
-
Associated content is stored as **root-level open buckets** on snapshot records using the reserved `associated` prefix.
|
|
4
|
-
|
|
5
|
-
**Normative naming / forms:** packaged [`meta/associated-conventions.json`](../meta/associated-conventions.json).
|
|
6
|
-
**Operational detail** (presets, apply, enrichment orchestration): [`memorix-pipeline/docs/association-format.md`](../../memorix-pipeline/docs/association-format.md) and [running-associations.md](../../memorix-pipeline/docs/running-associations.md).
|
|
7
|
-
|
|
8
|
-
This package validates association **shape** (ASSOC rules in [memorix-format-requirements.md](./memorix-format-requirements.md)); it does not invent object-type names.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Core rule
|
|
13
|
-
|
|
14
|
-
Association is always **snapshot-first**:
|
|
15
|
-
|
|
16
|
-
1. Start from the source object’s snapshot.
|
|
17
|
-
2. Match a target **snapshot** (`*-snapshots`).
|
|
18
|
-
3. Use the matched snapshot’s `recordId` to fetch non-snapshot content (`discovery`, `analysis`, `decisions`, …).
|
|
19
|
-
4. Copy flat content into an `associated…` array on the source snapshot.
|
|
20
|
-
|
|
21
|
-
Never join a source snapshot directly to a non-snapshot collection by business keys.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Naming
|
|
26
|
-
|
|
27
|
-
| Form | Pattern | Example (abstract) |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| Legacy short names | `associatedData`, `associatedDiscovery`, … | still present on older records |
|
|
30
|
-
| v2 content | `associated<ObjectType><ContentType>` | `associatedItemGroupsAnalysis` |
|
|
31
|
-
| Ranked top | `associatedTop<ObjectType><ContentType>` | `associatedTopItemsAnalysis` |
|
|
32
|
-
| Enrichment copy | `associated<ObjectType>Enrichment` | `associatedItemGroupsEnrichment` |
|
|
33
|
-
|
|
34
|
-
Object-type segments come from Catalox descriptors — not from this format package.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Payload rules
|
|
39
|
-
|
|
40
|
-
- Associated properties are **arrays of plain objects** (linked payloads), never full envelopes.
|
|
41
|
-
- On **memorix-record/2**, root `associated*` may hold **lightweight refs only** (Option A — format-valid): `relationshipDefinitionId` + `recordId`, optional `relationshipId`. Copied related business payload is rejected.
|
|
42
|
-
- **Authoritative relationship storage (Gate G4)** is centralized per-category collections (Candidate C), not Option A roots or sibling `relationships` content. See `@x12i/memorix-relationship-store` (archived decision: `.tmp/housekeeping-2026-07-23/docs/re-factoring-and-opx-agent/RELATIONSHIP-STORAGE-DECISION.md`).
|
|
43
|
-
|
|
44
|
-
- **Omit** the property when empty — never write `[]`.
|
|
45
|
-
- Prefer traceability in optional item-level `_system.association` (v2) rather than wrapping envelopes.
|
|
46
|
-
|
|
47
|
-
See requirements **ASSOC-*** and the pipeline association doc for matching / payload forms.
|
|
1
|
+
# Association format
|
|
2
|
+
|
|
3
|
+
Associated content is stored as **root-level open buckets** on snapshot records using the reserved `associated` prefix.
|
|
4
|
+
|
|
5
|
+
**Normative naming / forms:** packaged [`meta/associated-conventions.json`](../meta/associated-conventions.json).
|
|
6
|
+
**Operational detail** (presets, apply, enrichment orchestration): [`memorix-pipeline/docs/association-format.md`](../../memorix-pipeline/docs/association-format.md) and [running-associations.md](../../memorix-pipeline/docs/running-associations.md).
|
|
7
|
+
|
|
8
|
+
This package validates association **shape** (ASSOC rules in [memorix-format-requirements.md](./memorix-format-requirements.md)); it does not invent object-type names.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Core rule
|
|
13
|
+
|
|
14
|
+
Association is always **snapshot-first**:
|
|
15
|
+
|
|
16
|
+
1. Start from the source object’s snapshot.
|
|
17
|
+
2. Match a target **snapshot** (`*-snapshots`).
|
|
18
|
+
3. Use the matched snapshot’s `recordId` to fetch non-snapshot content (`discovery`, `analysis`, `decisions`, …).
|
|
19
|
+
4. Copy flat content into an `associated…` array on the source snapshot.
|
|
20
|
+
|
|
21
|
+
Never join a source snapshot directly to a non-snapshot collection by business keys.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Naming
|
|
26
|
+
|
|
27
|
+
| Form | Pattern | Example (abstract) |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Legacy short names | `associatedData`, `associatedDiscovery`, … | still present on older records |
|
|
30
|
+
| v2 content | `associated<ObjectType><ContentType>` | `associatedItemGroupsAnalysis` |
|
|
31
|
+
| Ranked top | `associatedTop<ObjectType><ContentType>` | `associatedTopItemsAnalysis` |
|
|
32
|
+
| Enrichment copy | `associated<ObjectType>Enrichment` | `associatedItemGroupsEnrichment` |
|
|
33
|
+
|
|
34
|
+
Object-type segments come from Catalox descriptors — not from this format package.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Payload rules
|
|
39
|
+
|
|
40
|
+
- Associated properties are **arrays of plain objects** (linked payloads), never full envelopes.
|
|
41
|
+
- On **memorix-record/2**, root `associated*` may hold **lightweight refs only** (Option A — format-valid): `relationshipDefinitionId` + `recordId`, optional `relationshipId`. Copied related business payload is rejected.
|
|
42
|
+
- **Authoritative relationship storage (Gate G4)** is centralized per-category collections (Candidate C), not Option A roots or sibling `relationships` content. See `@x12i/memorix-relationship-store` (archived decision: `.tmp/housekeeping-2026-07-23/docs/re-factoring-and-opx-agent/RELATIONSHIP-STORAGE-DECISION.md`).
|
|
43
|
+
|
|
44
|
+
- **Omit** the property when empty — never write `[]`.
|
|
45
|
+
- Prefer traceability in optional item-level `_system.association` (v2) rather than wrapping envelopes.
|
|
46
|
+
|
|
47
|
+
See requirements **ASSOC-*** and the pipeline association doc for matching / payload forms.
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
# Memorix Format — Requirements (product layer)
|
|
2
|
-
|
|
3
|
-
**Package:** `@x12i/memorix-format`
|
|
4
|
-
**Depends on:** `@x12i/memorix-base-format` (fixed skeleton — do not re-state ENV/ID/DATA/SYS here).
|
|
5
|
-
|
|
6
|
-
This document covers **Memorix product** open-bucket conventions. Base envelope MUST be satisfied first (`TOOL-3`: layer checks on base).
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Known open buckets (when present)
|
|
11
|
-
|
|
12
|
-
**BUCKET-5.**
|
|
13
|
-
|
|
14
|
-
| Bucket | MUST contain | MUST NOT contain |
|
|
15
|
-
|---|---|---|
|
|
16
|
-
| `analytics` | Numeric rollups | The underlying list of records |
|
|
17
|
-
| `enrichment` | External / prior-system values as received | Interpreted judgments |
|
|
18
|
-
| `insights` | Judgments, scores, recommendations | Anything a reader would mistake for a stored native fact |
|
|
19
|
-
|
|
20
|
-
These names are **Memorix declarations**, not base-reserved keys. Base classifies them as open buckets.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Associated properties
|
|
25
|
-
|
|
26
|
-
**ASSOC-1.** Keys matching Memorix association patterns (`associated…`, legacy short names, `associatedTop…`, `associated…Enrichment`, custom `associated` prefix).
|
|
27
|
-
|
|
28
|
-
**ASSOC-2.** When present, MUST be an array.
|
|
29
|
-
|
|
30
|
-
**ASSOC-3.** MUST be omitted when empty — never `[]`.
|
|
31
|
-
|
|
32
|
-
**ASSOC-5.** Items MUST be plain objects (linked payloads), not full envelopes.
|
|
33
|
-
|
|
34
|
-
**ASSOC-6.** Resolution MUST be snapshot-first (see association-format.md). Enforced by associator tooling, documented here.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Snapshot vs minimal (SCOPE)
|
|
39
|
-
|
|
40
|
-
**SCOPE-1.** Full open-bucket set SHOULD appear primarily on snapshots.
|
|
41
|
-
|
|
42
|
-
**SCOPE-2.** Non-snapshot content types MUST include `recordId` + `data`; SHOULD omit `analytics` / `insights` / most `associated*` unless opted in via ContentTypeMeta.
|
|
43
|
-
|
|
44
|
-
**SCOPE-3.** Readers MUST treat missing optional buckets as N/A, not error.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Validator
|
|
49
|
-
|
|
50
|
-
**TOOL-3.** `validateMemorixRecord` = `validateMemorixBaseRecord` + profile/ASSOC/SCOPE.
|
|
51
|
-
|
|
52
|
-
**TOOL-4.** `migrateMemorixRecord` / CLI `migrate` transforms legacy/transitional envelopes to the present format and SHOULD validate the result.
|
|
53
|
-
|
|
54
|
-
Built-in profiles: `snapshots`, `minimal` (`--profile=`).
|
|
1
|
+
# Memorix Format — Requirements (product layer)
|
|
2
|
+
|
|
3
|
+
**Package:** `@x12i/memorix-format`
|
|
4
|
+
**Depends on:** `@x12i/memorix-base-format` (fixed skeleton — do not re-state ENV/ID/DATA/SYS here).
|
|
5
|
+
|
|
6
|
+
This document covers **Memorix product** open-bucket conventions. Base envelope MUST be satisfied first (`TOOL-3`: layer checks on base).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Known open buckets (when present)
|
|
11
|
+
|
|
12
|
+
**BUCKET-5.**
|
|
13
|
+
|
|
14
|
+
| Bucket | MUST contain | MUST NOT contain |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `analytics` | Numeric rollups | The underlying list of records |
|
|
17
|
+
| `enrichment` | External / prior-system values as received | Interpreted judgments |
|
|
18
|
+
| `insights` | Judgments, scores, recommendations | Anything a reader would mistake for a stored native fact |
|
|
19
|
+
|
|
20
|
+
These names are **Memorix declarations**, not base-reserved keys. Base classifies them as open buckets.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Associated properties
|
|
25
|
+
|
|
26
|
+
**ASSOC-1.** Keys matching Memorix association patterns (`associated…`, legacy short names, `associatedTop…`, `associated…Enrichment`, custom `associated` prefix).
|
|
27
|
+
|
|
28
|
+
**ASSOC-2.** When present, MUST be an array.
|
|
29
|
+
|
|
30
|
+
**ASSOC-3.** MUST be omitted when empty — never `[]`.
|
|
31
|
+
|
|
32
|
+
**ASSOC-5.** Items MUST be plain objects (linked payloads), not full envelopes.
|
|
33
|
+
|
|
34
|
+
**ASSOC-6.** Resolution MUST be snapshot-first (see association-format.md). Enforced by associator tooling, documented here.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Snapshot vs minimal (SCOPE)
|
|
39
|
+
|
|
40
|
+
**SCOPE-1.** Full open-bucket set SHOULD appear primarily on snapshots.
|
|
41
|
+
|
|
42
|
+
**SCOPE-2.** Non-snapshot content types MUST include `recordId` + `data`; SHOULD omit `analytics` / `insights` / most `associated*` unless opted in via ContentTypeMeta.
|
|
43
|
+
|
|
44
|
+
**SCOPE-3.** Readers MUST treat missing optional buckets as N/A, not error.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Validator
|
|
49
|
+
|
|
50
|
+
**TOOL-3.** `validateMemorixRecord` = `validateMemorixBaseRecord` + profile/ASSOC/SCOPE.
|
|
51
|
+
|
|
52
|
+
**TOOL-4.** `migrateMemorixRecord` / CLI `migrate` transforms legacy/transitional envelopes to the present format and SHOULD validate the result.
|
|
53
|
+
|
|
54
|
+
Built-in profiles: `snapshots`, `minimal` (`--profile=`).
|
package/docs/memorix-format.md
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
# Memorix Record Format
|
|
2
|
-
|
|
3
|
-
> **Canonical SoT for new work:** [memorix-record/2](./memorix-record-v2.md) (`validateMemorixRecordV2`).
|
|
4
|
-
> **Present envelope (migration source):** documented below — still enforced by default in writer/pipeline until `MEMORIX_RECORD_FORMAT=v2`.
|
|
5
|
-
> Core present envelope helpers: [`@x12i/memorix-base-format`](https://www.npmjs.com/package/@x12i/memorix-base-format) (temporary; folding into this package).
|
|
6
|
-
> Requirements: [memorix-format-requirements.md](./memorix-format-requirements.md).
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
A Memorix record is a structured memory object: a stable envelope around domain payload, with clear separation between business data, derived analytics, external enrichment, AI insights, and cross-entity references.
|
|
11
|
-
|
|
12
|
-
**Prefer `memorix-record/2` for all new platform paths.** Present envelope remains for reading/migrating existing data.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Present envelope (migration source)
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
type MemorixRecordPresent = {
|
|
20
|
-
_id?: string;
|
|
21
|
-
recordId: string;
|
|
22
|
-
concept: {
|
|
23
|
-
_extIdentifier: { kind: string; key: string; [kindValue: string]: string };
|
|
24
|
-
title: string;
|
|
25
|
-
};
|
|
26
|
-
data: JsonObject;
|
|
27
|
-
analytics?: JsonObject;
|
|
28
|
-
enrichment?: JsonObject;
|
|
29
|
-
insights?: JsonObject;
|
|
30
|
-
// associated…?: JsonObject[]; // copied payloads — removed in V2
|
|
31
|
-
_system?: {
|
|
32
|
-
state?: "active" | "archived" | "superseded";
|
|
33
|
-
lifecycle?: Array<{ process: string; processedAt: string }>;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Migrate legacy → present: `npx memorix-format migrate`.
|
|
39
|
-
Migrate present → V2: `npx memorix-format migrate-to-v2 --object-type=… --content-type=… --data-category=…`.
|
|
40
|
-
|
|
41
|
-
Associated properties use the reserved `associated` prefix on **present** records only. See [association-format.md](./association-format.md). V2 rejects copied association roots.
|
|
42
|
-
|
|
43
|
-
Human/LLM readers SHOULD omit root `_…` and `concept._extIdentifier` by default; keep `recordId` for joins.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Data And Associated Buckets (present)
|
|
48
|
-
|
|
49
|
-
Every piece of business data lives in **exactly one** of these buckets (plus the envelope fields above):
|
|
50
|
-
|
|
51
|
-
| Bucket | Contents |
|
|
52
|
-
|---|---|
|
|
53
|
-
| **`data`** | Native facts about the subject itself |
|
|
54
|
-
| **`analytics`** | Numeric rollups computed from other records |
|
|
55
|
-
| **`enrichment`** | External / prior-system values as received |
|
|
56
|
-
| **`insights`** | AI / judgment outputs |
|
|
57
|
-
| **`associated*`** | Copied related payloads (present only; removed in V2) |
|
|
58
|
-
|
|
59
|
-
On **memorix-record/2**, snapshot buckets are optional and **omitted when empty**. Root `associated*` may hold **lightweight refs** only (Option A — still format-valid). **Authoritative relationship storage (Gate G4)** is centralized per-category collections (Candidate C); see `@x12i/memorix-relationship-store` (archived: `.tmp/housekeeping-2026-07-23/docs/re-factoring-and-opx-agent/RELATIONSHIP-STORAGE-DECISION.md`).
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Further reading
|
|
64
|
-
|
|
65
|
-
- [memorix-record-v2.md](./memorix-record-v2.md) — Gate G2 contract
|
|
66
|
-
- [association-format.md](./association-format.md) — present association naming
|
|
67
|
-
- [memorix-workflow-format.md](./memorix-workflow-format.md) — workflow as sibling content
|
|
68
|
-
- Golden V2 examples: `examples/v2/`
|
|
1
|
+
# Memorix Record Format
|
|
2
|
+
|
|
3
|
+
> **Canonical SoT for new work:** [memorix-record/2](./memorix-record-v2.md) (`validateMemorixRecordV2`).
|
|
4
|
+
> **Present envelope (migration source):** documented below — still enforced by default in writer/pipeline until `MEMORIX_RECORD_FORMAT=v2`.
|
|
5
|
+
> Core present envelope helpers: [`@x12i/memorix-base-format`](https://www.npmjs.com/package/@x12i/memorix-base-format) (temporary; folding into this package).
|
|
6
|
+
> Requirements: [memorix-format-requirements.md](./memorix-format-requirements.md).
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
A Memorix record is a structured memory object: a stable envelope around domain payload, with clear separation between business data, derived analytics, external enrichment, AI insights, and cross-entity references.
|
|
11
|
+
|
|
12
|
+
**Prefer `memorix-record/2` for all new platform paths.** Present envelope remains for reading/migrating existing data.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Present envelope (migration source)
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
type MemorixRecordPresent = {
|
|
20
|
+
_id?: string;
|
|
21
|
+
recordId: string;
|
|
22
|
+
concept: {
|
|
23
|
+
_extIdentifier: { kind: string; key: string; [kindValue: string]: string };
|
|
24
|
+
title: string;
|
|
25
|
+
};
|
|
26
|
+
data: JsonObject;
|
|
27
|
+
analytics?: JsonObject;
|
|
28
|
+
enrichment?: JsonObject;
|
|
29
|
+
insights?: JsonObject;
|
|
30
|
+
// associated…?: JsonObject[]; // copied payloads — removed in V2
|
|
31
|
+
_system?: {
|
|
32
|
+
state?: "active" | "archived" | "superseded";
|
|
33
|
+
lifecycle?: Array<{ process: string; processedAt: string }>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Migrate legacy → present: `npx memorix-format migrate`.
|
|
39
|
+
Migrate present → V2: `npx memorix-format migrate-to-v2 --object-type=… --content-type=… --data-category=…`.
|
|
40
|
+
|
|
41
|
+
Associated properties use the reserved `associated` prefix on **present** records only. See [association-format.md](./association-format.md). V2 rejects copied association roots.
|
|
42
|
+
|
|
43
|
+
Human/LLM readers SHOULD omit root `_…` and `concept._extIdentifier` by default; keep `recordId` for joins.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Data And Associated Buckets (present)
|
|
48
|
+
|
|
49
|
+
Every piece of business data lives in **exactly one** of these buckets (plus the envelope fields above):
|
|
50
|
+
|
|
51
|
+
| Bucket | Contents |
|
|
52
|
+
|---|---|
|
|
53
|
+
| **`data`** | Native facts about the subject itself |
|
|
54
|
+
| **`analytics`** | Numeric rollups computed from other records |
|
|
55
|
+
| **`enrichment`** | External / prior-system values as received |
|
|
56
|
+
| **`insights`** | AI / judgment outputs |
|
|
57
|
+
| **`associated*`** | Copied related payloads (present only; removed in V2) |
|
|
58
|
+
|
|
59
|
+
On **memorix-record/2**, snapshot buckets are optional and **omitted when empty**. Root `associated*` may hold **lightweight refs** only (Option A — still format-valid). **Authoritative relationship storage (Gate G4)** is centralized per-category collections (Candidate C); see `@x12i/memorix-relationship-store` (archived: `.tmp/housekeeping-2026-07-23/docs/re-factoring-and-opx-agent/RELATIONSHIP-STORAGE-DECISION.md`).
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Further reading
|
|
64
|
+
|
|
65
|
+
- [memorix-record-v2.md](./memorix-record-v2.md) — Gate G2 contract
|
|
66
|
+
- [association-format.md](./association-format.md) — present association naming
|
|
67
|
+
- [memorix-workflow-format.md](./memorix-workflow-format.md) — workflow as sibling content
|
|
68
|
+
- Golden V2 examples: `examples/v2/`
|