@ai-matrx/content-ir 0.8.0 → 0.9.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0 — 2026-08-29
4
+
5
+ - **A nested `__kind` object now registers the CHILD's schema, not just a ref
6
+ to it.** Arrays of `__kind` items have always drafted their item kind; an
7
+ object-VALUED field declaring a `__kind` returned
8
+ `{type:"object", kind}` and dropped the child's fields on the floor.
9
+
10
+ The consequence was not a missing child — it was a broken PARENT. The parser
11
+ had a field predicting `mx_child` with no schema registered for it, so the
12
+ child degraded, the parent failed validation, and the parent fell to
13
+ `broken-instance` and lost its component over a child the very same schema
14
+ had fully described one line above.
15
+
16
+ Found by matrx-frontend's new render matrix (every recognition path × every
17
+ shape archetype) on its first run.
18
+
3
19
  ## 0.8.0 — 2026-08-29
4
20
 
5
21
  - **A field is never DROPPED — it widens to `json`.** Every field-map loop in
package/dist/index.cjs CHANGED
@@ -3693,6 +3693,14 @@ function convertPropertyCore(fieldName, node, required, path, ctx) {
3693
3693
  }
3694
3694
  const referencedKind = readBlockKindFromProperties(node.properties);
3695
3695
  if (referencedKind) {
3696
+ if (!ctx.refsInProgress.has(referencedKind)) {
3697
+ ctx.refsInProgress.add(referencedKind);
3698
+ try {
3699
+ registerDeclaredKindDraft(referencedKind, node, path, ctx);
3700
+ } finally {
3701
+ ctx.refsInProgress.delete(referencedKind);
3702
+ }
3703
+ }
3696
3704
  return {
3697
3705
  ...requiredNullableFlags(required, nullable),
3698
3706
  type: "object",