@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.
Files changed (54) hide show
  1. package/CHANGELOG.md +73 -65
  2. package/README.md +78 -78
  3. package/dist/base/concept.d.ts +4 -0
  4. package/dist/base/concept.d.ts.map +1 -1
  5. package/dist/base/concept.js +5 -1
  6. package/dist/base/concept.js.map +1 -1
  7. package/dist/cli.js +36 -36
  8. package/dist/v2/identity.d.ts +19 -0
  9. package/dist/v2/identity.d.ts.map +1 -0
  10. package/dist/v2/identity.js +39 -0
  11. package/dist/v2/identity.js.map +1 -0
  12. package/dist/v2/index.d.ts +2 -1
  13. package/dist/v2/index.d.ts.map +1 -1
  14. package/dist/v2/index.js +1 -0
  15. package/dist/v2/index.js.map +1 -1
  16. package/dist/v2/migrate-present.js +1 -1
  17. package/dist/v2/migrate-present.js.map +1 -1
  18. package/dist/v2/profiles.d.ts +1 -1
  19. package/dist/v2/profiles.d.ts.map +1 -1
  20. package/dist/v2/profiles.js +1 -0
  21. package/dist/v2/profiles.js.map +1 -1
  22. package/dist/v2/types.d.ts +24 -0
  23. package/dist/v2/types.d.ts.map +1 -1
  24. package/dist/v2/validate.d.ts.map +1 -1
  25. package/dist/v2/validate.js +18 -1
  26. package/dist/v2/validate.js.map +1 -1
  27. package/docs/association-format.md +47 -47
  28. package/docs/memorix-format-requirements.md +54 -54
  29. package/docs/memorix-format.md +68 -68
  30. package/docs/memorix-record-v2.md +102 -101
  31. package/docs/memorix-workflow-format.md +126 -126
  32. package/docs/migrate-present-to-v2.md +49 -49
  33. package/examples/invalid-record.json +11 -11
  34. package/examples/v2/activity-events-snapshots.json +31 -31
  35. package/examples/v2/people-discovery.json +26 -26
  36. package/examples/v2/people-snapshots-employee.json +27 -27
  37. package/examples/v2/playbooks-knowledge.json +27 -27
  38. package/examples/v2/work-items-analysis.json +26 -26
  39. package/examples/v2/work-items-context.json +32 -32
  40. package/examples/v2/work-items-decisions.json +26 -26
  41. package/examples/v2/work-items-raw.json +37 -37
  42. package/examples/v2/work-items-relationships-candidate.json +38 -38
  43. package/examples/v2/work-items-snapshots-lifecycle.json +31 -31
  44. package/examples/v2/work-items-snapshots-lightweight-refs.json +34 -34
  45. package/examples/v2/work-items-snapshots.json +28 -28
  46. package/examples/v2/work-items-workflow.json +28 -28
  47. package/examples/valid-snapshot.json +30 -30
  48. package/meta/associated-conventions.json +59 -59
  49. package/meta/content-type-profiles.json +27 -27
  50. package/meta/content-types.json +80 -80
  51. package/meta/envelope.json +104 -104
  52. package/meta/inventory/managed-descriptors.json +78 -78
  53. package/meta/open-buckets.json +24 -24
  54. package/package.json +77 -77
package/CHANGELOG.md CHANGED
@@ -1,65 +1,73 @@
1
- ## 3.0.3
2
-
3
- - Add `nexum` content-type vocabulary for write-record mode nexum records.
4
-
5
- ## 3.0.2
6
-
7
- - Docs: README install pins + stack/live/core-service references.
8
-
9
- ## 3.0.1
10
-
11
- - Patch release: README/port-map alignment, live-view wiring where applicable.
12
-
13
- # Changelog
14
-
15
- ## 2.3.3
16
-
17
- - Gate G4: authoritative relationship storage = central per-category collections (Candidate C).
18
- - Option A root `associated*` lightweight refs remain **format-valid**; they are **not** the selected authoritative storage model.
19
- - Sibling `relationships` content remains format-valid; not selected as authoritative storage.
20
-
21
- ## 2.3.2
22
-
23
- - Lightweight relationship refs **require** `relationshipDefinitionId` + `recordId` (`relationshipId` optional/derivable).
24
- - Thin Gate G2 in-memory Mongo-style roundtrip + composition characterization.
25
- - DEL-ASSOC-COPIED wording: reject copied payloads only (Option A remains valid).
26
-
27
- ## 2.3.1
28
-
29
- - Gate G2 corrections: `migratePresentToV2` returns `{ v2, extractedRelationships, warnings }` — never silently drops resolvable association `recordId`s.
30
- - Option A associated*: lightweight refs allowed; copied payload rejected (`V2-ASSOC-COPIED`). Physical storage still pending G4.
31
- - Revision helpers: `applySuccessfulMutation`, `checkExpectedRevision`, `nextRevision`.
32
- - Negative format + discriminator-default tests; migration semantics doc.
33
-
34
- ## 2.3.0
35
-
36
- - **memorix-record/2**: `validateMemorixRecordV2`, `migratePresentToV2`, CLI `validate-v2` / `migrate-to-v2` / `profiles-v2`.
37
- - Golden examples under `examples/v2/`; docs: `docs/memorix-record-v2.md`.
38
- - Present envelope remains default for existing writer/pipeline; opt in with `MEMORIX_RECORD_FORMAT=v2`.
39
- - `@x12i/memorix-base-format` remains a dependency for present validation; scheduled to become a temporary re-export then delete (Phase 0 deletion ledger).
40
-
41
- ## 2.2.3
42
-
43
- - Docs hygiene: drop identity-era appendix and ebook correction notes; association doc is a thin present-tense stub pointing at `meta/associated-conventions.json` + pipeline ops docs.
44
-
45
- ## 2.2.0
46
-
47
- - Depends on `@x12i/memorix-base-format@^1.2.0` (`concept._extIdentifier`, `_system.state`).
48
- - `migrate` / `migrateMemorixRecord`: transform legacy/transitional envelopes → present format and validate.
49
- - Re-exports `buildExtIdentifier`, `readConceptExtIdentifier`, record-state helpers.
50
-
51
- ## 2.1.0
52
-
53
- - Meta-metadata in packaged `meta/` JSON; inventory under `meta/inventory/`.
54
- - Profiles / known buckets / SCOPE load from those files.
55
-
56
- ## 2.0.0
57
-
58
- Breaking relative to 1.0.0:
59
-
60
- - Depends on `@x12i/memorix-base-format` for the fixed skeleton.
61
- - Product rules live only in this package as profiles / layered checks.
62
-
63
- ## 1.0.0
64
-
65
- Initial release (monolithic validator).
1
+ ## 3.0.6
2
+
3
+ - Optional root `_markdown` on `memorix-record/2` (`content`, `source` `ai` | `json` | `content`, optional `metadata`). Validation allows it and does not require it.
4
+
5
+ ## 3.0.5
6
+
7
+ - Optional `_system._datasource` on `memorix-record/2`. Validation does not require it.
8
+
9
+ ## 3.0.3
10
+
11
+ - Add `nexum` content-type vocabulary for write-record mode nexum records.
12
+
13
+ ## 3.0.2
14
+
15
+ - Docs: README install pins + stack/live/core-service references.
16
+
17
+ ## 3.0.1
18
+
19
+ - Patch release: README/port-map alignment, live-view wiring where applicable.
20
+
21
+ # Changelog
22
+
23
+ ## 2.3.3
24
+
25
+ - Gate G4: authoritative relationship storage = central per-category collections (Candidate C).
26
+ - Option A root `associated*` lightweight refs remain **format-valid**; they are **not** the selected authoritative storage model.
27
+ - Sibling `relationships` content remains format-valid; not selected as authoritative storage.
28
+
29
+ ## 2.3.2
30
+
31
+ - Lightweight relationship refs **require** `relationshipDefinitionId` + `recordId` (`relationshipId` optional/derivable).
32
+ - Thin Gate G2 in-memory Mongo-style roundtrip + composition characterization.
33
+ - DEL-ASSOC-COPIED wording: reject copied payloads only (Option A remains valid).
34
+
35
+ ## 2.3.1
36
+
37
+ - Gate G2 corrections: `migratePresentToV2` returns `{ v2, extractedRelationships, warnings }` — never silently drops resolvable association `recordId`s.
38
+ - Option A associated*: lightweight refs allowed; copied payload rejected (`V2-ASSOC-COPIED`). Physical storage still pending G4.
39
+ - Revision helpers: `applySuccessfulMutation`, `checkExpectedRevision`, `nextRevision`.
40
+ - Negative format + discriminator-default tests; migration semantics doc.
41
+
42
+ ## 2.3.0
43
+
44
+ - **memorix-record/2**: `validateMemorixRecordV2`, `migratePresentToV2`, CLI `validate-v2` / `migrate-to-v2` / `profiles-v2`.
45
+ - Golden examples under `examples/v2/`; docs: `docs/memorix-record-v2.md`.
46
+ - Present envelope remains default for existing writer/pipeline; opt in with `MEMORIX_RECORD_FORMAT=v2`.
47
+ - `@x12i/memorix-base-format` remains a dependency for present validation; scheduled to become a temporary re-export then delete (Phase 0 deletion ledger).
48
+
49
+ ## 2.2.3
50
+
51
+ - Docs hygiene: drop identity-era appendix and ebook correction notes; association doc is a thin present-tense stub pointing at `meta/associated-conventions.json` + pipeline ops docs.
52
+
53
+ ## 2.2.0
54
+
55
+ - Depends on `@x12i/memorix-base-format@^1.2.0` (`concept._extIdentifier`, `_system.state`).
56
+ - `migrate` / `migrateMemorixRecord`: transform legacy/transitional envelopes → present format and validate.
57
+ - Re-exports `buildExtIdentifier`, `readConceptExtIdentifier`, record-state helpers.
58
+
59
+ ## 2.1.0
60
+
61
+ - Meta-metadata in packaged `meta/` JSON; inventory under `meta/inventory/`.
62
+ - Profiles / known buckets / SCOPE load from those files.
63
+
64
+ ## 2.0.0
65
+
66
+ Breaking relative to 1.0.0:
67
+
68
+ - Depends on `@x12i/memorix-base-format` for the fixed skeleton.
69
+ - Product rules live only in this package as profiles / layered checks.
70
+
71
+ ## 1.0.0
72
+
73
+ Initial release (monolithic validator).
package/README.md CHANGED
@@ -1,78 +1,78 @@
1
- # `@x12i/memorix-format`
2
-
3
- Canonical **memorix-record/2** validation, migration, and CLI for Memorix.
4
-
5
- Object / content **types** belong in agent metadata — this package is the **envelope** SoT (shape of every stored subject content document), not product vocabulary.
6
-
7
- ## Install
8
-
9
- ```bash
10
- npm install @x12i/memorix-format@3.0.2
11
- ```
12
-
13
- | Audience | Use this package? |
14
- |----------|-------------------|
15
- | Remote app | Optional — validate offline / in CI |
16
- | Platform / writers / pipelines | **Yes** |
17
-
18
- ## API status
19
-
20
- | API | Status |
21
- |-----|--------|
22
- | `validateMemorixRecordV2`, CLI `validate-v2` / `migrate-to-v2` | **Current** SoT for platform work |
23
- | Present-envelope helpers | Migration / compat only |
24
-
25
- **Exports:** `.` · `./validate` · `./profiles` · `./types` · `./v2`
26
-
27
- ## Quick V2 example
28
-
29
- ```json
30
- {
31
- "format": "memorix-record/2",
32
- "recordId": "wi-100",
33
- "revision": 3,
34
- "objectType": "work-items",
35
- "contentType": "snapshots",
36
- "dataCategory": "entity",
37
- "concept": {
38
- "title": "Prepare quarterly operations review",
39
- "identifiers": {
40
- "primary": { "kind": "workItemId", "value": "WI-100", "issuer": "opx-source" }
41
- }
42
- },
43
- "data": { "status": "in-progress", "priority": "normal" },
44
- "_system": {
45
- "state": "active",
46
- "createdAt": "2026-01-10T10:00:00.000Z",
47
- "modifiedAt": "2026-01-15T12:00:00.000Z"
48
- }
49
- }
50
- ```
51
-
52
- ```bash
53
- npx memorix-format validate-v2 examples/v2
54
- npx memorix-format migrate-to-v2 ./present.json \
55
- --object-type=work-items --content-type=snapshots --data-category=entity
56
- ```
57
-
58
- ```ts
59
- import { validateMemorixRecordV2 } from "@x12i/memorix-format/v2";
60
-
61
- const result = validateMemorixRecordV2(doc);
62
- if (!result.ok) throw new Error(result.errors.join("; "));
63
- ```
64
-
65
- ## Hard rules (format)
66
-
67
- - V2 rejects **copied** related-record payloads in the document.
68
- - Authoritative navigation between subjects is **four-field relationship links** (`@x12i/memorix-relationships`), not embedded `associated*`.
69
-
70
- ## Docs
71
-
72
- - [`docs/memorix-record-v2.md`](./docs/memorix-record-v2.md) · [`meta/`](./meta/)
73
- - Ebook: [Format for Dummies](../memorix-docs/01-format-for-dummies/)
74
- - Hub: [https://docs.memorix.x12i.com](https://docs.memorix.x12i.com)
75
-
76
- ```bash
77
- npm test
78
- ```
1
+ # `@x12i/memorix-format`
2
+
3
+ Canonical **memorix-record/2** validation, migration, and CLI for Memorix.
4
+
5
+ Object / content **types** belong in agent metadata — this package is the **envelope** SoT (shape of every stored subject content document), not product vocabulary.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @x12i/memorix-format@3.0.2
11
+ ```
12
+
13
+ | Audience | Use this package? |
14
+ |----------|-------------------|
15
+ | Remote app | Optional — validate offline / in CI |
16
+ | Platform / writers / pipelines | **Yes** |
17
+
18
+ ## API status
19
+
20
+ | API | Status |
21
+ |-----|--------|
22
+ | `validateMemorixRecordV2`, CLI `validate-v2` / `migrate-to-v2` | **Current** SoT for platform work |
23
+ | Present-envelope helpers | Migration / compat only |
24
+
25
+ **Exports:** `.` · `./validate` · `./profiles` · `./types` · `./v2`
26
+
27
+ ## Quick V2 example
28
+
29
+ ```json
30
+ {
31
+ "format": "memorix-record/2",
32
+ "recordId": "wi-100",
33
+ "revision": 3,
34
+ "objectType": "work-items",
35
+ "contentType": "snapshots",
36
+ "dataCategory": "entity",
37
+ "concept": {
38
+ "title": "Prepare quarterly operations review",
39
+ "identifiers": {
40
+ "primary": { "kind": "workItemId", "value": "WI-100", "issuer": "opx-source" }
41
+ }
42
+ },
43
+ "data": { "status": "in-progress", "priority": "normal" },
44
+ "_system": {
45
+ "state": "active",
46
+ "createdAt": "2026-01-10T10:00:00.000Z",
47
+ "modifiedAt": "2026-01-15T12:00:00.000Z"
48
+ }
49
+ }
50
+ ```
51
+
52
+ ```bash
53
+ npx memorix-format validate-v2 examples/v2
54
+ npx memorix-format migrate-to-v2 ./present.json \
55
+ --object-type=work-items --content-type=snapshots --data-category=entity
56
+ ```
57
+
58
+ ```ts
59
+ import { validateMemorixRecordV2 } from "@x12i/memorix-format/v2";
60
+
61
+ const result = validateMemorixRecordV2(doc);
62
+ if (!result.ok) throw new Error(result.errors.join("; "));
63
+ ```
64
+
65
+ ## Hard rules (format)
66
+
67
+ - V2 rejects **copied** related-record payloads in the document.
68
+ - Authoritative navigation between subjects is **four-field relationship links** (`@x12i/memorix-relationships`), not embedded `associated*`.
69
+
70
+ ## Docs
71
+
72
+ - [`docs/memorix-record-v2.md`](./docs/memorix-record-v2.md) · [`meta/`](./meta/)
73
+ - Ebook: [Format for Dummies](../memorix-docs/01-format-for-dummies/)
74
+ - Hub: [https://docs.memorix.x12i.com](https://docs.memorix.x12i.com)
75
+
76
+ ```bash
77
+ npm test
78
+ ```
@@ -6,6 +6,10 @@ export declare const buildIdentityString: typeof buildExtIdentifierKey;
6
6
  export declare function buildExtIdentifier(kind: string, value: string, extra?: Record<string, string>): MemorixExtIdentifier;
7
7
  /** @deprecated Use buildExtIdentifier */
8
8
  export declare function buildConceptIdentifier(kind: string, value: string, extra?: Record<string, string>): MemorixExtIdentifier;
9
+ /**
10
+ * Subject identity. Mongo `_id` is never used — it is a storage key, not recordId.
11
+ * Legacy `identity.recordId` / `identity.targetId` remain for present-format inspect only.
12
+ */
9
13
  export declare function readRecordId(record: JsonObject): string;
10
14
  export declare function readConceptExtIdentifier(record: JsonObject): {
11
15
  kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../../src/base/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMnE,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAoBxF;AAED,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,8BAAwB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,oBAAoB,CAStB;AAED,yCAAyC;AACzC,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,oBAAoB,CAEtB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQvD;AASD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAatD;AAED,+CAA+C;AAC/C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAIvE"}
1
+ {"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../../src/base/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMnE,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAoBxF;AAED,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,8BAAwB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,oBAAoB,CAStB;AAED,yCAAyC;AACzC,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,oBAAoB,CAEtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQvD;AASD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAatD;AAED,+CAA+C;AAC/C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAIvE"}
@@ -39,6 +39,10 @@ export function buildExtIdentifier(kind, value, extra = {}) {
39
39
  export function buildConceptIdentifier(kind, value, extra = {}) {
40
40
  return buildExtIdentifier(kind, value, extra);
41
41
  }
42
+ /**
43
+ * Subject identity. Mongo `_id` is never used — it is a storage key, not recordId.
44
+ * Legacy `identity.recordId` / `identity.targetId` remain for present-format inspect only.
45
+ */
42
46
  export function readRecordId(record) {
43
47
  const root = stringifyId(record.recordId);
44
48
  if (root)
@@ -47,7 +51,7 @@ export function readRecordId(record) {
47
51
  if (isPlainObject(identity)) {
48
52
  return stringifyId(identity.recordId) ?? stringifyId(identity.targetId) ?? "";
49
53
  }
50
- return stringifyId(record._id) ?? "";
54
+ return "";
51
55
  }
52
56
  function readExtIdentifierObject(concept) {
53
57
  if (isPlainObject(concept._extIdentifier))
@@ -1 +1 @@
1
- {"version":3,"file":"concept.js","sourceRoot":"","sources":["../../src/base/concept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concept.js","sourceRoot":"","sources":["../../src/base/concept.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -28,42 +28,42 @@ function docsDir() {
28
28
  return candidates[0];
29
29
  }
30
30
  function printHelp() {
31
- console.log(`memorix-format <command> [options]
32
-
33
- Memorix format package.
34
-
35
- Present envelope (legacy product path):
36
- validate [path|-] Validate present format (base + profiles)
37
- migrate [path|-] Transform legacy → present format
38
-
39
- memorix-record/2 (Gate G2 SoT for new platform work):
40
- validate-v2 [path|-] Validate memorix-record/2
41
- migrate-to-v2 [path|-]
42
- Present/legacy → memorix-record/2
43
- Requires: --object-type --content-type --data-category
44
-
45
- Other:
46
- inspect [path|-] Summarize root categories (via base)
47
- docs [name] List or print packaged docs
48
- profiles List built-in present profiles
49
- profiles-v2 List V2 content-type profiles
50
- version
51
- help
52
-
53
- Options:
54
- --profile=<name> Present: ${BUILTIN_PROFILES.join(" | ")}
55
- --object-type=<name> Object type
56
- --content-type=<ct> Content type
57
- --data-category=<cat> V2 migrate: entity | event | knowledge
58
- --meta=<file> Custom ContentTypeMeta JSON (present validate)
59
- --allow-legacy Warn on legacy roots (compat)
60
- --reject-legacy Fail on legacy roots
61
- --out=<dir|file> migrate / migrate-to-v2 output
62
- --in-place Overwrite input files
63
- --revision=<n> migrate-to-v2 default revision (default 1)
64
- --issuer=<id> migrate-to-v2 default identifier issuer
65
- --strict
66
- --json
31
+ console.log(`memorix-format <command> [options]
32
+
33
+ Memorix format package.
34
+
35
+ Present envelope (legacy product path):
36
+ validate [path|-] Validate present format (base + profiles)
37
+ migrate [path|-] Transform legacy → present format
38
+
39
+ memorix-record/2 (Gate G2 SoT for new platform work):
40
+ validate-v2 [path|-] Validate memorix-record/2
41
+ migrate-to-v2 [path|-]
42
+ Present/legacy → memorix-record/2
43
+ Requires: --object-type --content-type --data-category
44
+
45
+ Other:
46
+ inspect [path|-] Summarize root categories (via base)
47
+ docs [name] List or print packaged docs
48
+ profiles List built-in present profiles
49
+ profiles-v2 List V2 content-type profiles
50
+ version
51
+ help
52
+
53
+ Options:
54
+ --profile=<name> Present: ${BUILTIN_PROFILES.join(" | ")}
55
+ --object-type=<name> Object type
56
+ --content-type=<ct> Content type
57
+ --data-category=<cat> V2 migrate: entity | event | knowledge
58
+ --meta=<file> Custom ContentTypeMeta JSON (present validate)
59
+ --allow-legacy Warn on legacy roots (compat)
60
+ --reject-legacy Fail on legacy roots
61
+ --out=<dir|file> migrate / migrate-to-v2 output
62
+ --in-place Overwrite input files
63
+ --revision=<n> migrate-to-v2 default revision (default 1)
64
+ --issuer=<id> migrate-to-v2 default identifier issuer
65
+ --strict
66
+ --json
67
67
  `);
68
68
  }
69
69
  function readFlag(args, name) {
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Collision-safe source-ID adoption for memorix-record/2.
3
+ * Bare provider values are never subject identity.
4
+ */
5
+ export declare const EXPLICIT_RECORD_ID_KIND = "recordId";
6
+ export type AdoptedIdentifier = {
7
+ kind: string;
8
+ value: string;
9
+ issuer?: string;
10
+ };
11
+ /** `{issuer}/{kind}/{value}` — two sources emitting the same value stay distinct. */
12
+ export declare function adoptedRecordId(identifier: AdoptedIdentifier): string;
13
+ /**
14
+ * True when a source identifier is being used as the org-wide subject id.
15
+ * `kind: "recordId"` with value equal to recordId is explicit identity, not adoption.
16
+ */
17
+ export declare function isCollisionUnsafeAdoption(recordId: string, primary: AdoptedIdentifier | undefined | null): boolean;
18
+ export declare function issuerRequired(primary: AdoptedIdentifier | undefined | null): boolean;
19
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/v2/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAWrE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,GAC5C,OAAO,CAOT;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAGrF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Collision-safe source-ID adoption for memorix-record/2.
3
+ * Bare provider values are never subject identity.
4
+ */
5
+ export const EXPLICIT_RECORD_ID_KIND = "recordId";
6
+ /** `{issuer}/{kind}/{value}` — two sources emitting the same value stay distinct. */
7
+ export function adoptedRecordId(identifier) {
8
+ const issuer = identifier.issuer?.trim();
9
+ const kind = identifier.kind.trim();
10
+ const value = identifier.value.trim();
11
+ if (!issuer) {
12
+ throw new Error("adoptedRecordId requires issuer");
13
+ }
14
+ if (!kind || !value) {
15
+ throw new Error("adoptedRecordId requires kind and value");
16
+ }
17
+ return `${issuer}/${kind}/${value}`;
18
+ }
19
+ /**
20
+ * True when a source identifier is being used as the org-wide subject id.
21
+ * `kind: "recordId"` with value equal to recordId is explicit identity, not adoption.
22
+ */
23
+ export function isCollisionUnsafeAdoption(recordId, primary) {
24
+ if (!primary)
25
+ return false;
26
+ const kind = typeof primary.kind === "string" ? primary.kind.trim() : "";
27
+ const value = typeof primary.value === "string" ? primary.value.trim() : "";
28
+ if (!kind || !value)
29
+ return false;
30
+ if (kind === EXPLICIT_RECORD_ID_KIND)
31
+ return false;
32
+ return recordId.trim() === value;
33
+ }
34
+ export function issuerRequired(primary) {
35
+ if (!primary)
36
+ return true;
37
+ return primary.kind?.trim() !== EXPLICIT_RECORD_ID_KIND;
38
+ }
39
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/v2/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAQlD,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,UAA6B;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAChB,OAA6C;IAE7C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,IAAI,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA6C;IAC1E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,uBAAuB,CAAC;AAC1D,CAAC"}
@@ -1,7 +1,8 @@
1
- export type { ContentDiscriminator, ContentTypeProfileV2, MemorixConceptV2, MemorixDataCategory, MemorixIdentifier, MemorixLifecycleEvent, MemorixRecordFormatV2, MemorixRecordState, MemorixRecordV2, MemorixSnapshotBuckets, MemorixSystemBlockV2, ValidateV2Options, ValidateV2Result, ValidationIssue, ValidationSeverity, } from "./types.js";
1
+ export type { ContentDiscriminator, ContentTypeProfileV2, MemorixConceptV2, MemorixDataCategory, MarkdownSourceV2, MemorixDatasourceV2, RecordMarkdownV2, MemorixIdentifier, MemorixLifecycleEvent, MemorixRecordFormatV2, MemorixRecordState, MemorixRecordV2, MemorixSnapshotBuckets, MemorixSystemBlockV2, ValidateV2Options, ValidateV2Result, ValidationIssue, ValidationSeverity, } from "./types.js";
2
2
  export { MEMORIX_RECORD_FORMAT_V2 } from "./types.js";
3
3
  export { BUILTIN_CONTENT_PROFILES, DATA_CATEGORIES, RECORD_STATES, V2_FIXED_ROOTS, V2_SNAPSHOT_BUCKETS, resolveContentProfile, } from "./profiles.js";
4
4
  export { validateMemorixRecordV2, validateMemorixRecordsV2 } from "./validate.js";
5
+ export { EXPLICIT_RECORD_ID_KIND, adoptedRecordId, isCollisionUnsafeAdoption, issuerRequired, type AdoptedIdentifier, } from "./identity.js";
5
6
  export { migratePresentToV2, migratePresentToV2Record, migratePresentRecordsToV2, type MigratePresentToV2Options, type MigratePresentToV2Result, type ExtractedRelationship, } from "./migrate-present.js";
6
7
  export { applySuccessfulMutation, checkExpectedRevision, nextRevision, type RevisionCheckResult, } from "./revision.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC"}
package/dist/v2/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { MEMORIX_RECORD_FORMAT_V2 } from "./types.js";
2
2
  export { BUILTIN_CONTENT_PROFILES, DATA_CATEGORIES, RECORD_STATES, V2_FIXED_ROOTS, V2_SNAPSHOT_BUCKETS, resolveContentProfile, } from "./profiles.js";
3
3
  export { validateMemorixRecordV2, validateMemorixRecordsV2 } from "./validate.js";
4
+ export { EXPLICIT_RECORD_ID_KIND, adoptedRecordId, isCollisionUnsafeAdoption, issuerRequired, } from "./identity.js";
4
5
  export { migratePresentToV2, migratePresentToV2Record, migratePresentRecordsToV2, } from "./migrate-present.js";
5
6
  export { applySuccessfulMutation, checkExpectedRevision, nextRevision, } from "./revision.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAI1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GAEb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAI1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GAEb,MAAM,eAAe,CAAC"}
@@ -166,7 +166,7 @@ export function migratePresentToV2(input, options) {
166
166
  for (const key of Object.keys(present)) {
167
167
  if (key.startsWith("associated"))
168
168
  continue;
169
- if (key.startsWith("_") && key !== "_system" && key !== "_id") {
169
+ if (key.startsWith("_") && key !== "_system" && key !== "_markdown" && key !== "_id") {
170
170
  warnings.push(`Unrecognized machine root '${key}' was dropped (not migrated onto subject).`);
171
171
  delete present[key];
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-present.js","sourceRoot":"","sources":["../../src/v2/migrate-present.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-present.js","sourceRoot":"","sources":["../../src/v2/migrate-present.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ContentTypeProfileV2 } from "./types.js";
2
2
  export declare const DATA_CATEGORIES: readonly ["entity", "event", "knowledge"];
3
3
  export declare const RECORD_STATES: readonly ["active", "archived", "superseded"];
4
4
  /** Fixed envelope roots for memorix-record/2. */
5
- export declare const V2_FIXED_ROOTS: readonly ["format", "recordId", "revision", "objectType", "contentType", "dataCategory", "concept", "data", "_system", "_id"];
5
+ export declare const V2_FIXED_ROOTS: readonly ["format", "recordId", "revision", "objectType", "contentType", "dataCategory", "concept", "data", "_system", "_markdown", "_id"];
6
6
  export declare const V2_SNAPSHOT_BUCKETS: readonly ["analytics", "enrichment", "insights"];
7
7
  export declare const BUILTIN_CONTENT_PROFILES: Record<string, ContentTypeProfileV2>;
8
8
  export declare function resolveContentProfile(contentType: string | undefined, override?: ContentTypeProfileV2): ContentTypeProfileV2;
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/v2/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,eAAe,2CAA4C,CAAC;AACzE,eAAO,MAAM,aAAa,+CAAgD,CAAC;AAE3E,iDAAiD;AACjD,eAAO,MAAM,cAAc,+HAWjB,CAAC;AAEX,eAAO,MAAM,mBAAmB,kDAAmD,CAAC;AAEpF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAoCzE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAStB"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/v2/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,eAAe,2CAA4C,CAAC;AACzE,eAAO,MAAM,aAAa,+CAAgD,CAAC;AAE3E,iDAAiD;AACjD,eAAO,MAAM,cAAc,4IAYjB,CAAC;AAEX,eAAO,MAAM,mBAAmB,kDAAmD,CAAC;AAEpF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAoCzE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAStB"}
@@ -11,6 +11,7 @@ export const V2_FIXED_ROOTS = [
11
11
  "concept",
12
12
  "data",
13
13
  "_system",
14
+ "_markdown",
14
15
  "_id",
15
16
  ];
16
17
  export const V2_SNAPSHOT_BUCKETS = ["analytics", "enrichment", "insights"];