mml 2.3.4 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6c34ac458f880028a8ff29b3a6c0fd85bd260d8144422226c73b130b0b2642a
4
- data.tar.gz: 8aba5678561f4d8386d52a19641714cb382ea57c3c56fef0aad6278084ab7db4
3
+ metadata.gz: 1ce205f0228f06b1a5cba6943fb4c13e536037dcaf9ea6820be79a738ed10339
4
+ data.tar.gz: 31dd7c108e5a8bbdbb59fc1a57b3b5f36075152868eb2a4369375f41045d79c8
5
5
  SHA512:
6
- metadata.gz: 58164f249aa46ce4fa584b251b06e1202010a9220d660483a5ac4f27fbaf2a4bee3c3ef442be1c844e71bc66a0659436a8a0405a2ef53c29c4dc92c2099cf998
7
- data.tar.gz: 74fbb545d21bce6c9b95f2b6be9431f48aea7d0047cafb6bbccb293c70b5fe908b662a22592876421286029b42e027ff85e47b37f2e3c51539016fc36d9b2c17
6
+ metadata.gz: 541986787a84faab7b0b8f534cc168e48dace877d12a556b9167da1ee216d4dbb8ab8db896223d229d05b14c0ad55fcd8b25c12a0dd75018992a92e756841853
7
+ data.tar.gz: 7d6f7048eab670d96cf8e72638f641f6bb4d10d0b4c22d45bc2e9f56b614029e1822c2dc0fafacf164018db59a15fb4e4f24e5f46cd777f646cce816ca42512b
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2026-04-19 00:23:48 UTC using RuboCop version 1.86.0.
3
+ # on 2026-04-20 06:58:18 UTC using RuboCop version 1.86.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -0,0 +1,82 @@
1
+ # TODO: `dir` attribute declared but not XML-mapped in V3Common
2
+
3
+ ## Severity: High (data loss on round-trip)
4
+
5
+ ## Problem
6
+
7
+ `V3Common` (`lib/mml/base/v3_common.rb`) declares `attribute :dir, :string` but never
8
+ calls `map_attribute "dir", to: :dir` in an `xml do...end` block. The attribute exists
9
+ as a Ruby property but is never populated from XML input and never serialized to XML
10
+ output. This means `dir="ltr"` or `dir="rtl"` is silently dropped during round-trip.
11
+
12
+ The only element with a working `dir` mapping is `Mspace` (`lib/mml/base/mspace.rb:33`),
13
+ which declares it independently.
14
+
15
+ ## Schema Evidence
16
+
17
+ All three schemas confirm `dir` is valid on these elements:
18
+
19
+ ### MathML 3 XSD (`schemas/mathml3/mathml3-presentation.xsd`)
20
+ - `TokenAtt` attribute group (line 624-631): `dir` on ALL token elements (mi, mn, mo, mtext, ms)
21
+ - `mrow.attributes` (line 713-720): `dir` on mrow
22
+ - `mstyle.generalattributes` (line 1010-1017): `dir` on mstyle
23
+ - `math.attributes` inherits mstyle.generalattributes
24
+
25
+ ### MathML 4 Core RNC (`schemas/mathml4/mathml4-core.rnc`)
26
+ - `MathMLPGlobalAttributes` (line 139): `attribute dir {"ltr" | "rtl"}?` — on ALL presentation elements
27
+
28
+ ### MathML 2 XSD (`schemas/mathml2/presentation/common-attribs.xsd`)
29
+ - Does NOT have `dir` (added in MathML 3)
30
+
31
+ ## Affected Elements (V3 + V4)
32
+
33
+ | Element | V3Common included? | dir mapped? |
34
+ |---------|-------------------|-------------|
35
+ | mi | yes | **NO** |
36
+ | mn | yes | **NO** |
37
+ | mo | yes | **NO** |
38
+ | mtext | yes | **NO** |
39
+ | ms | yes | **NO** |
40
+ | mrow | yes | **NO** |
41
+ | mstyle | yes | **NO** |
42
+ | math | yes | **NO** |
43
+ | mspace | no (independent) | yes |
44
+
45
+ ## Fix
46
+
47
+ Add an `xml do...end` block with the `dir` mapping to `V3Common`:
48
+
49
+ ```ruby
50
+ # lib/mml/base/v3_common.rb
51
+ module Mml
52
+ module Base
53
+ module V3Common
54
+ def self.included(klass)
55
+ klass.class_eval do
56
+ attribute :dir, :string
57
+ include V3PresentationAttributes
58
+
59
+ xml do
60
+ namespace Mml::Namespace
61
+ map_attribute "dir", to: :dir
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ ```
69
+
70
+ ## Test Case
71
+
72
+ ```xml
73
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
74
+ <mrow dir="rtl">
75
+ <mi dir="rtl">x</mi>
76
+ <mo>+</mo>
77
+ <mn>1</mn>
78
+ </mrow>
79
+ </math>
80
+ ```
81
+
82
+ The `dir` attributes are currently silently dropped during round-trip.
@@ -0,0 +1,69 @@
1
+ # TODO: `rspace` attribute missing from `mpadded` (MathML 4)
2
+
3
+ ## Severity: Medium (V4 data loss on round-trip)
4
+
5
+ ## Problem
6
+
7
+ `Base::Mpadded` (`lib/mml/base/mpadded.rb`) has `lspace` but not `rspace`.
8
+ In MathML 3, `mpadded` only has `lspace` — this was correct. But MathML 4
9
+ added `rspace` to `mpadded.attributes`, and the gem doesn't support it.
10
+
11
+ ## Schema Evidence
12
+
13
+ ### MathML 3 XSD (`schemas/mathml3/mathml3-presentation.xsd`, line 1491-1499)
14
+ ```xml
15
+ <xs:attributeGroup name="mpadded.attributes">
16
+ <xs:attribute name="height" type="m:mpadded-length"/>
17
+ <xs:attribute name="depth" type="m:mpadded-length"/>
18
+ <xs:attribute name="width" type="m:mpadded-length"/>
19
+ <xs:attribute name="lspace" type="m:mpadded-length"/>
20
+ <xs:attribute name="voffset" type="m:mpadded-length"/>
21
+ </xs:attributeGroup>
22
+ ```
23
+ No `rspace` — V3 is correct.
24
+
25
+ ### MathML 4 Core RNC (`schemas/mathml4/mathml4-core.rnc`, line 289-297)
26
+ ```
27
+ mpadded.attributes =
28
+ MathMLPGlobalAttributes,
29
+ attribute height {mpadded-length-percentage}?,
30
+ attribute depth {mpadded-length-percentage}?,
31
+ attribute width {mpadded-length-percentage}?,
32
+ attribute lspace {mpadded-length-percentage}?,
33
+ attribute rspace {mpadded-length-percentage}?, # <-- NEW IN V4
34
+ attribute voffset {mpadded-length-percentage}?
35
+ ```
36
+ `rspace` added in V4.
37
+
38
+ ## Current State
39
+
40
+ `lib/mml/base/mpadded.rb`:
41
+ ```ruby
42
+ attribute :lspace, :string # has lspace
43
+ # NO rspace
44
+ ```
45
+
46
+ ## Fix
47
+
48
+ Add `rspace` to `Base::Mpadded`:
49
+
50
+ ```ruby
51
+ # lib/mml/base/mpadded.rb
52
+ attribute :rspace, :string # add after lspace
53
+
54
+ # in xml do...end block:
55
+ map_attribute "rspace", to: :rspace # add after lspace mapping
56
+ ```
57
+
58
+ Since `Base::Mpadded` is shared by V3 and V4, adding `rspace` is harmless for V3
59
+ (the attribute will be accepted but wouldn't be generated by a spec-compliant V3 producer).
60
+
61
+ ## Test Case
62
+
63
+ ```xml
64
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
65
+ <mpadded rspace="0.5em"><mi>x</mi></mpadded>
66
+ </math>
67
+ ```
68
+
69
+ The `rspace` attribute is currently silently dropped during V4 round-trip.
@@ -0,0 +1,79 @@
1
+ # TODO: `lspace`/`rspace` on non-mo token elements (data fidelity, NOT spec)
2
+
3
+ ## Severity: Low (data fidelity enhancement, not a spec compliance bug)
4
+
5
+ ## Problem
6
+
7
+ Real-world MathML documents sometimes use `lspace` or `rspace` on non-`<mo>` token
8
+ elements (e.g., `<mi rspace="thickmathspace">`). The gem silently drops these
9
+ attributes during round-trip because they're only implemented on `Mml::Base::Mo`.
10
+
11
+ The original TODO report (`TODO-mml-missing-rspace.md`) claimed these are valid
12
+ on ALL token elements per the MathML spec. This claim is **incorrect**.
13
+
14
+ ## Schema Evidence: `lspace`/`rspace` are `mo`-only across ALL versions
15
+
16
+ ### MathML 2 XSD (`schemas/mathml2/presentation/common-attribs.xsd`)
17
+ - `Operator.attrib` (line 57-105): contains `lspace` and `rspace`
18
+ - Only `mo.attlist` references `Operator.attrib` (line 46-50)
19
+ - `mi.attlist`, `mn.attlist`, `mtext.attlist`, `ms.attlist` do NOT reference it
20
+
21
+ ### MathML 3 XSD (`schemas/mathml3/mathml3-presentation.xsd`)
22
+ - `mo.attributes` (line 203-204): `lspace`, `rspace` directly on mo
23
+ - `mi.attributes` (line 152-156): only CommonAtt + CommonPresAtt + TokenAtt — no lspace/rspace
24
+ - `mn.attributes` (line 163-167): same
25
+ - `mtext.attributes` (line 346-350): same
26
+ - `ms.attributes` (line 441-447): same + lquote/rquote
27
+
28
+ ### MathML 4 Core RNC (`schemas/mathml4/mathml4-core.rnc`)
29
+ - `mo.attributes` (line 228-229): `attribute lspace`, `attribute rspace`
30
+ - `mi.attributes` (line 217-218): only MathMLPGlobalAttributes
31
+ - `mn.attributes` (line 220-222): only MathMLPGlobalAttributes
32
+ - `mtext.attributes` (line 238-240): only MathMLPGlobalAttributes
33
+ - `ms.attributes` (line 249-251): only MathMLPGlobalAttributes
34
+
35
+ ## Conclusion
36
+
37
+ The TODO report's claim that `lspace`/`rspace` are defined on a "TokenEl type" and
38
+ apply to all token elements is fabricated. No such type exists in any schema version.
39
+ These are `mo`-specific operator spacing attributes, always have been.
40
+
41
+ ## Real-World Impact
42
+
43
+ 196 normative diffs in the Metanorma round-trip test suite — documents use
44
+ `<mi rspace="thickmathspace">` in practice. Even though the spec doesn't mandate
45
+ supporting this, the gem should preserve the attribute to prevent data loss.
46
+
47
+ ## Recommended Fix (Optional Enhancement)
48
+
49
+ If round-trip fidelity for these non-standard uses is desired, add `lspace` and
50
+ `rspace` to the non-mo token elements. This should be documented as a data
51
+ fidelity enhancement, not a spec compliance fix.
52
+
53
+ ```ruby
54
+ # Add to Mml::Base::Mi, Mml::Base::Mn, Mml::Base::Mtext, Mml::Base::Ms
55
+ attribute :lspace, :string
56
+ attribute :rspace, :string
57
+
58
+ # In xml do...end block:
59
+ map_attribute "lspace", to: :lspace
60
+ map_attribute "rspace", to: :rspace
61
+ ```
62
+
63
+ ## Test Case
64
+
65
+ ```xml
66
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
67
+ <mrow>
68
+ <mstyle mathvariant="normal"><mi>µmol</mi></mstyle>
69
+ <mi rspace="thickmathspace">⁢</mi>
70
+ <msup><mstyle mathvariant="normal"><mi>mol</mi></mstyle>
71
+ <mrow><mo>−</mo><mn>1</mn></mrow>
72
+ </msup>
73
+ </mrow>
74
+ </math>
75
+ ```
76
+
77
+ The `<mi rspace="thickmathspace">` currently loses its `rspace` during round-trip.
78
+ This is a data fidelity issue, NOT a spec violation — the input document is the one
79
+ not complying with the spec.
@@ -0,0 +1,80 @@
1
+ # Schema Audit Summary: Token Element Attributes
2
+
3
+ ## Audit Scope
4
+
5
+ Systematic comparison of token element attributes across:
6
+ - MathML 2 XSD (`schemas/mathml2/`)
7
+ - MathML 3 XSD (`schemas/mathml3/`)
8
+ - MathML 4 Core + Presentation RNC (`schemas/mathml4/`)
9
+ - mml gem implementation (`lib/mml/base/`, `lib/mml/v3/`, `lib/mml/v4/`)
10
+
11
+ ## Attribute Origin by Schema Version
12
+
13
+ ### V3 Token Element Attribute Composition
14
+
15
+ | Attribute Group | Attributes | Used by |
16
+ |----------------|-----------|---------|
17
+ | `CommonAtt` | id, xref, class, style, href | ALL elements |
18
+ | `CommonPresAtt` | mathcolor, mathbackground | ALL pres elements |
19
+ | `TokenAtt` | mathvariant, mathsize, dir | mi, mn, mo, mtext, ms |
20
+ | `DeprecatedTokenAtt` | fontfamily, fontweight, fontstyle, fontsize, color, background | tokens (V3 only) |
21
+ | mo-specific | form, fence, separator, lspace, rspace, stretchy, symmetric, maxsize, minsize, largeop, movablelimits, accent, linebreak*, indent* | mo only |
22
+ | ms-specific | lquote, rquote | ms only |
23
+
24
+ ### V4 Token Element Attribute Composition
25
+
26
+ | Attribute Group | Attributes | Used by |
27
+ |----------------|-----------|---------|
28
+ | `MathMLPGlobalAttributes` | id, class, style, dir, mathcolor, mathbackground, mathsize, mathvariant, displaystyle, scriptlevel, intent, arg | ALL elements |
29
+ | mo-specific (core) | form, lspace, rspace, stretchy, symmetric, maxsize, minsize, largeop, movablelimits | mo only |
30
+ | mo-specific (pres) | linebreak*, indent*, accent | mo only |
31
+ | ms-specific | lquote, rquote | ms only |
32
+
33
+ ## Gem Implementation Matrix
34
+
35
+ | Attribute | Mi | Mn | Mo | Mtext | Ms | Mspace | Source |
36
+ |-----------|----|----|-----|-------|----|--------|--------|
37
+ | mathcolor | G | G | G | G | G | B | UniversalPresentationAttributes |
38
+ | mathbackground | G | G | G | G | G | B | UniversalPresentationAttributes |
39
+ | mathsize | G | G | G | G | G | - | UniversalPresentationAttributes |
40
+ | mathvariant | B | B | B | B | B | B | Base::Mi/Mn/Mo/Mtext/Ms |
41
+ | displaystyle | G | G | G | G | G | - | UniversalPresentationAttributes |
42
+ | scriptlevel | G | G | G | G | G | - | UniversalPresentationAttributes |
43
+ | **dir** | **G** | **G** | **G** | **G** | **G** | **B** | **V3Common (UNMAPPED!)** |
44
+ | intent | V4 | V4 | V4 | V4 | V4 | - | V4OnlyAttributes |
45
+ | arg | V4 | V4 | V4 | V4 | V4 | - | V4OnlyAttributes |
46
+ | form | - | - | B | - | - | - | Base::Mo |
47
+ | lspace | - | - | B | - | - | - | Base::Mo |
48
+ | rspace | - | - | B | - | - | - | Base::Mo |
49
+ | stretchy | - | - | B | - | - | - | Base::Mo |
50
+ | symmetric | - | - | B | - | - | - | Base::Mo |
51
+ | maxsize | - | - | B | - | - | - | Base::Mo |
52
+ | minsize | - | - | B | - | - | - | Base::Mo |
53
+ | largeop | - | - | B | - | - | - | Base::Mo |
54
+ | movablelimits | - | - | B | - | - | - | Base::Mo |
55
+ | accent | - | - | B | - | - | - | Base::Mo |
56
+ | fence | - | - | V3O | - | - | - | V3Only::OperatorAttributes |
57
+ | separator | - | - | V3O | - | - | - | V3Only::OperatorAttributes |
58
+ | linebreak* | - | - | B | - | - | B | Base::Mo / Base::Mspace |
59
+ | indent* | - | - | B | - | - | B | Base::Mo / Base::Mspace |
60
+ | lquote | - | - | - | - | B | - | Base::Ms |
61
+ | rquote | - | - | - | - | B | - | Base::Ms |
62
+ | Deprecated font | V3 | V3 | V3 | V3 | V3 | - | DeprecatedFontAttributes |
63
+
64
+ **G** = from gem global modules, **B** = from base module, **V3O** = V3-only module, **V4** = V4-only
65
+
66
+ Legend: G=UniversalPresentationAttributes/V3Common, B=Base::*, V3O=V3Only, V4=V4Only
67
+
68
+ ## Issues Found
69
+
70
+ 1. **`dir` unmapped** (see `01-dir-unmapped-v3common.md`) — HIGH
71
+ 2. **`rspace` missing from mpadded** (see `02-rspace-missing-mpadded-v4.md`) — MEDIUM
72
+ 3. **`lspace`/`rspace` on non-mo tokens** (see `03-lspace-rspace-non-mo-tokens.md`) — LOW
73
+
74
+ ## What Was Already Correct
75
+
76
+ - `separator` on mo: correctly in `V3Only::OperatorAttributes`, only for V2/V3
77
+ - `fence` on mo: same module, same scoping
78
+ - Deprecated font attributes: correctly scoped to V3 only via `DeprecatedFontAttributes`
79
+ - `mspace` dir: correctly has both attribute + mapping independently
80
+ - All `mo`-specific attributes (form, stretchy, etc.) correctly scoped to Base::Mo only
@@ -9,8 +9,7 @@ module Mml
9
9
  attribute :type, :string
10
10
  attribute :definition_url, :string
11
11
  attribute :encoding_value, :string
12
- attribute :value, :string
13
-
12
+ attribute :value, :string, collection: true
14
13
  # Presentation elements that can appear inside ci
15
14
  attribute :msub_value, :msub, collection: true
16
15
  attribute :msup_value, :msup, collection: true
@@ -10,7 +10,7 @@ module Mml
10
10
  attribute :definition_url, :string
11
11
  attribute :enc, :string
12
12
  attribute :base, :string
13
- attribute :value, :string
13
+ attribute :value, :string, collection: true
14
14
  attribute :sep_value, :sep, collection: true
15
15
 
16
16
  xml do
@@ -10,8 +10,7 @@ module Mml
10
10
  attribute :definition_url, :string
11
11
  attribute :encoding_value, :string
12
12
  attribute :cd, :string
13
- attribute :value, :string
14
-
13
+ attribute :value, :string, collection: true
15
14
  # Presentation elements that can appear inside csymbol
16
15
  attribute :msub_value, :msub, collection: true
17
16
  attribute :msup_value, :msup, collection: true
data/lib/mml/base/math.rb CHANGED
@@ -8,6 +8,7 @@ module Mml
8
8
  def self.included(klass)
9
9
  klass.class_eval do
10
10
  attribute :display, :string
11
+ attribute :mode, :string
11
12
  attribute :alttext, :string
12
13
  attribute :decimalpoint, :string
13
14
  attribute :macros, :string
@@ -39,6 +40,7 @@ module Mml
39
40
  mixed_content
40
41
 
41
42
  map_attribute :display, to: :display
43
+ map_attribute "mode", to: :mode
42
44
  map_attribute "alttext", to: :alttext
43
45
  map_attribute "decimalpoint", to: :decimalpoint
44
46
  map_attribute :macros, to: :macros
@@ -10,7 +10,7 @@ module Mml
10
10
  attribute :mathbackground, :string
11
11
  attribute :separators, :string
12
12
  attribute :mathcolor, :string
13
- attribute :content, :string
13
+ attribute :content, :string, collection: true
14
14
  attribute :close, :string
15
15
  attribute :open, :string
16
16
 
data/lib/mml/base/mi.rb CHANGED
@@ -7,7 +7,7 @@ module Mml
7
7
  # Use fully qualified names (e.g., Mml::Namespace).
8
8
  def self.included(klass)
9
9
  klass.class_eval do
10
- attribute :value, :string
10
+ attribute :value, :string, collection: true
11
11
  attribute :mathcolor, :string
12
12
  attribute :mathbackground, :string
13
13
  attribute :mathsize, :string
data/lib/mml/base/mn.rb CHANGED
@@ -7,7 +7,7 @@ module Mml
7
7
  # Use fully qualified names (e.g., Mml::Namespace).
8
8
  def self.included(klass)
9
9
  klass.class_eval do
10
- attribute :value, :string
10
+ attribute :value, :string, collection: true
11
11
  attribute :mathcolor, :string
12
12
  attribute :mathbackground, :string
13
13
  attribute :mathvariant, :string
@@ -12,6 +12,7 @@ module Mml
12
12
  attribute :voffset, :string
13
13
  attribute :height, :string
14
14
  attribute :lspace, :string
15
+ attribute :rspace, :string
15
16
  attribute :depth, :string
16
17
  attribute :width, :string
17
18
 
@@ -25,6 +26,7 @@ module Mml
25
26
  map_attribute "voffset", to: :voffset
26
27
  map_attribute "height", to: :height
27
28
  map_attribute "lspace", to: :lspace
29
+ map_attribute "rspace", to: :rspace
28
30
  map_attribute "depth", to: :depth
29
31
  map_attribute "width", to: :width
30
32
  end
data/lib/mml/base/mrow.rb CHANGED
@@ -9,8 +9,7 @@ module Mml
9
9
  klass.class_eval do
10
10
  attribute :mathbackground, :string
11
11
  attribute :mathcolor, :string
12
- attribute :content, :string
13
-
12
+ attribute :content, :string, collection: true
14
13
  xml do
15
14
  namespace Mml::Namespace
16
15
  element "mrow"
data/lib/mml/base/ms.rb CHANGED
@@ -13,8 +13,7 @@ module Mml
13
13
  attribute :mathvariant, :string
14
14
  attribute :lquote, :string
15
15
  attribute :rquote, :string
16
- attribute :value, :string
17
-
16
+ attribute :value, :string, collection: true
18
17
  xml do
19
18
  namespace Mml::Namespace
20
19
  element "ms"
@@ -11,8 +11,7 @@ module Mml
11
11
  attribute :mathbackground, :string
12
12
  attribute :position, :integer
13
13
  attribute :shift, :integer
14
- attribute :msgroup_text, :string
15
-
14
+ attribute :msgroup_text, :string, collection: true
16
15
  xml do
17
16
  namespace Mml::Namespace
18
17
  element "msgroup"
@@ -10,7 +10,7 @@ module Mml
10
10
  attribute :mathbackground, :string
11
11
  attribute :accentunder, :string
12
12
  attribute :mathcolor, :string
13
- attribute :content, :string
13
+ attribute :content, :string, collection: true
14
14
  attribute :align, :string
15
15
 
16
16
  xml do
@@ -9,6 +9,11 @@ module Mml
9
9
  klass.class_eval do
10
10
  attribute :dir, :string
11
11
  include V3PresentationAttributes
12
+
13
+ xml do
14
+ namespace Mml::Namespace
15
+ map_attribute "dir", to: :dir
16
+ end
12
17
  end
13
18
  end
14
19
  end
data/lib/mml/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mml
4
- VERSION = "2.3.4"
4
+ VERSION = "2.3.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mml
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.4
4
+ version: 2.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-19 00:00:00.000000000 Z
11
+ date: 2026-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model
@@ -59,6 +59,10 @@ files:
59
59
  - Gemfile
60
60
  - README.adoc
61
61
  - Rakefile
62
+ - TODO.spacing-issues/01-dir-unmapped-v3common.md
63
+ - TODO.spacing-issues/02-rspace-missing-mpadded-v4.md
64
+ - TODO.spacing-issues/03-lspace-rspace-non-mo-tokens.md
65
+ - TODO.spacing-issues/04-schema-audit-summary.md
62
66
  - bin/console
63
67
  - bin/setup
64
68
  - lib/mml.rb