@proposit/proposit-core 0.12.1 → 1.0.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.
Files changed (175) hide show
  1. package/README.md +104 -93
  2. package/dist/cli/commands/premises.d.ts.map +1 -1
  3. package/dist/cli/commands/premises.js +28 -24
  4. package/dist/cli/commands/premises.js.map +1 -1
  5. package/dist/cli/commands/repair.d.ts.map +1 -1
  6. package/dist/cli/commands/repair.js +4 -2
  7. package/dist/cli/commands/repair.js.map +1 -1
  8. package/dist/cli/commands/validate.d.ts.map +1 -1
  9. package/dist/cli/commands/validate.js +7 -1
  10. package/dist/cli/commands/validate.js.map +1 -1
  11. package/dist/cli/engine.d.ts.map +1 -1
  12. package/dist/cli/engine.js +7 -25
  13. package/dist/cli/engine.js.map +1 -1
  14. package/dist/cli/import.d.ts.map +1 -1
  15. package/dist/cli/import.js +66 -28
  16. package/dist/cli/import.js.map +1 -1
  17. package/dist/cli/schemata.d.ts.map +1 -1
  18. package/dist/cli/schemata.js +4 -3
  19. package/dist/cli/schemata.js.map +1 -1
  20. package/dist/extensions/basics/schemata.d.ts +56 -2
  21. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  22. package/dist/extensions/basics/schemata.js +54 -23
  23. package/dist/extensions/basics/schemata.js.map +1 -1
  24. package/dist/lib/core/argument-engine.d.ts +275 -10
  25. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  26. package/dist/lib/core/argument-engine.js +442 -82
  27. package/dist/lib/core/argument-engine.js.map +1 -1
  28. package/dist/lib/core/argument-library.d.ts +5 -1
  29. package/dist/lib/core/argument-library.d.ts.map +1 -1
  30. package/dist/lib/core/argument-library.js +7 -3
  31. package/dist/lib/core/argument-library.js.map +1 -1
  32. package/dist/lib/core/claim-axiom-library.d.ts +3 -3
  33. package/dist/lib/core/claim-axiom-library.d.ts.map +1 -1
  34. package/dist/lib/core/claim-axiom-library.js +2 -2
  35. package/dist/lib/core/claim-axiom-library.js.map +1 -1
  36. package/dist/lib/core/claim-citation-library.d.ts +3 -3
  37. package/dist/lib/core/claim-citation-library.d.ts.map +1 -1
  38. package/dist/lib/core/claim-citation-library.js +2 -2
  39. package/dist/lib/core/claim-citation-library.js.map +1 -1
  40. package/dist/lib/core/expression-manager.d.ts +68 -73
  41. package/dist/lib/core/expression-manager.d.ts.map +1 -1
  42. package/dist/lib/core/expression-manager.js +242 -762
  43. package/dist/lib/core/expression-manager.js.map +1 -1
  44. package/dist/lib/core/fork.d.ts +5 -1
  45. package/dist/lib/core/fork.d.ts.map +1 -1
  46. package/dist/lib/core/fork.js +16 -6
  47. package/dist/lib/core/fork.js.map +1 -1
  48. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +68 -7
  49. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  50. package/dist/lib/core/interfaces/library.interfaces.d.ts +9 -6
  51. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  52. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +50 -47
  53. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
  54. package/dist/lib/core/premise-engine.d.ts +80 -11
  55. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  56. package/dist/lib/core/premise-engine.js +232 -80
  57. package/dist/lib/core/premise-engine.js.map +1 -1
  58. package/dist/lib/core/proposit-core.d.ts +5 -5
  59. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  60. package/dist/lib/core/proposit-core.js +13 -3
  61. package/dist/lib/core/proposit-core.js.map +1 -1
  62. package/dist/lib/grammar/an-rules.d.ts +158 -0
  63. package/dist/lib/grammar/an-rules.d.ts.map +1 -0
  64. package/dist/lib/grammar/an-rules.js +778 -0
  65. package/dist/lib/grammar/an-rules.js.map +1 -0
  66. package/dist/lib/grammar/auto-normalize.d.ts +14 -0
  67. package/dist/lib/grammar/auto-normalize.d.ts.map +1 -0
  68. package/dist/lib/grammar/auto-normalize.js +35 -0
  69. package/dist/lib/grammar/auto-normalize.js.map +1 -0
  70. package/dist/lib/grammar/bounded-subtree.d.ts +30 -0
  71. package/dist/lib/grammar/bounded-subtree.d.ts.map +1 -0
  72. package/dist/lib/grammar/bounded-subtree.js +74 -0
  73. package/dist/lib/grammar/bounded-subtree.js.map +1 -0
  74. package/dist/lib/grammar/naked-q.d.ts +20 -0
  75. package/dist/lib/grammar/naked-q.d.ts.map +1 -0
  76. package/dist/lib/grammar/naked-q.js +58 -0
  77. package/dist/lib/grammar/naked-q.js.map +1 -0
  78. package/dist/lib/grammar/normalize.d.ts +12 -0
  79. package/dist/lib/grammar/normalize.d.ts.map +1 -0
  80. package/dist/lib/grammar/normalize.js +45 -0
  81. package/dist/lib/grammar/normalize.js.map +1 -0
  82. package/dist/lib/grammar/populate-from.d.ts +25 -0
  83. package/dist/lib/grammar/populate-from.d.ts.map +1 -0
  84. package/dist/lib/grammar/populate-from.js +252 -0
  85. package/dist/lib/grammar/populate-from.js.map +1 -0
  86. package/dist/lib/grammar/repair.d.ts +65 -0
  87. package/dist/lib/grammar/repair.d.ts.map +1 -0
  88. package/dist/lib/grammar/repair.js +251 -0
  89. package/dist/lib/grammar/repair.js.map +1 -0
  90. package/dist/lib/grammar/types.d.ts +17 -0
  91. package/dist/lib/grammar/types.d.ts.map +1 -0
  92. package/dist/lib/grammar/types.js +82 -0
  93. package/dist/lib/grammar/types.js.map +1 -0
  94. package/dist/lib/grammar/validate.d.ts +4 -0
  95. package/dist/lib/grammar/validate.d.ts.map +1 -0
  96. package/dist/lib/grammar/validate.js +28 -0
  97. package/dist/lib/grammar/validate.js.map +1 -0
  98. package/dist/lib/grammar/validators/context.d.ts +11 -0
  99. package/dist/lib/grammar/validators/context.d.ts.map +1 -0
  100. package/dist/lib/grammar/validators/context.js +5 -0
  101. package/dist/lib/grammar/validators/context.js.map +1 -0
  102. package/dist/lib/grammar/validators/derivable.d.ts +63 -0
  103. package/dist/lib/grammar/validators/derivable.d.ts.map +1 -0
  104. package/dist/lib/grammar/validators/derivable.js +502 -0
  105. package/dist/lib/grammar/validators/derivable.js.map +1 -0
  106. package/dist/lib/grammar/validators/evaluable.d.ts +48 -0
  107. package/dist/lib/grammar/validators/evaluable.d.ts.map +1 -0
  108. package/dist/lib/grammar/validators/evaluable.js +226 -0
  109. package/dist/lib/grammar/validators/evaluable.js.map +1 -0
  110. package/dist/lib/grammar/validators/presentable.d.ts +45 -0
  111. package/dist/lib/grammar/validators/presentable.d.ts.map +1 -0
  112. package/dist/lib/grammar/validators/presentable.js +231 -0
  113. package/dist/lib/grammar/validators/presentable.js.map +1 -0
  114. package/dist/lib/grammar/validators/structural.d.ts +103 -0
  115. package/dist/lib/grammar/validators/structural.d.ts.map +1 -0
  116. package/dist/lib/grammar/validators/structural.js +602 -0
  117. package/dist/lib/grammar/validators/structural.js.map +1 -0
  118. package/dist/lib/index.d.ts +4 -3
  119. package/dist/lib/index.d.ts.map +1 -1
  120. package/dist/lib/index.js +2 -2
  121. package/dist/lib/index.js.map +1 -1
  122. package/dist/lib/parsing/argument-parser.d.ts +8 -5
  123. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  124. package/dist/lib/parsing/argument-parser.js +204 -42
  125. package/dist/lib/parsing/argument-parser.js.map +1 -1
  126. package/dist/lib/parsing/clamp-max-lengths.d.ts.map +1 -1
  127. package/dist/lib/parsing/clamp-max-lengths.js +10 -4
  128. package/dist/lib/parsing/clamp-max-lengths.js.map +1 -1
  129. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
  130. package/dist/lib/parsing/prompt-builder.js +13 -15
  131. package/dist/lib/parsing/prompt-builder.js.map +1 -1
  132. package/dist/lib/parsing/schemata.d.ts +0 -3
  133. package/dist/lib/parsing/schemata.d.ts.map +1 -1
  134. package/dist/lib/parsing/schemata.js +25 -13
  135. package/dist/lib/parsing/schemata.js.map +1 -1
  136. package/dist/lib/parsing/types.d.ts +1 -1
  137. package/dist/lib/parsing/types.d.ts.map +1 -1
  138. package/dist/lib/schemata/claim.d.ts +8 -0
  139. package/dist/lib/schemata/claim.d.ts.map +1 -1
  140. package/dist/lib/schemata/claim.js +17 -7
  141. package/dist/lib/schemata/claim.js.map +1 -1
  142. package/dist/lib/schemata/import.d.ts.map +1 -1
  143. package/dist/lib/schemata/import.js +2 -5
  144. package/dist/lib/schemata/import.js.map +1 -1
  145. package/dist/lib/schemata/index.d.ts +0 -2
  146. package/dist/lib/schemata/index.d.ts.map +1 -1
  147. package/dist/lib/schemata/index.js +0 -2
  148. package/dist/lib/schemata/index.js.map +1 -1
  149. package/dist/lib/types/evaluation.d.ts +1 -1
  150. package/dist/lib/types/evaluation.d.ts.map +1 -1
  151. package/dist/lib/types/fork.d.ts +12 -3
  152. package/dist/lib/types/fork.d.ts.map +1 -1
  153. package/dist/lib/types/validation.d.ts +0 -6
  154. package/dist/lib/types/validation.d.ts.map +1 -1
  155. package/dist/lib/types/validation.js +23 -6
  156. package/dist/lib/types/validation.js.map +1 -1
  157. package/dist/lib/utils/lookup.d.ts +2 -2
  158. package/dist/lib/utils/lookup.js +2 -2
  159. package/package.json +1 -1
  160. package/dist/lib/core/managed-derivation-premise-engine.d.ts +0 -172
  161. package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +0 -1
  162. package/dist/lib/core/managed-derivation-premise-engine.js +0 -550
  163. package/dist/lib/core/managed-derivation-premise-engine.js.map +0 -1
  164. package/dist/lib/schemata/claim-axiom.d.ts +0 -11
  165. package/dist/lib/schemata/claim-axiom.d.ts.map +0 -1
  166. package/dist/lib/schemata/claim-axiom.js +0 -9
  167. package/dist/lib/schemata/claim-axiom.js.map +0 -1
  168. package/dist/lib/schemata/claim-citation.d.ts +0 -11
  169. package/dist/lib/schemata/claim-citation.d.ts.map +0 -1
  170. package/dist/lib/schemata/claim-citation.js +0 -9
  171. package/dist/lib/schemata/claim-citation.js.map +0 -1
  172. package/dist/lib/types/grammar.d.ts +0 -83
  173. package/dist/lib/types/grammar.d.ts.map +0 -1
  174. package/dist/lib/types/grammar.js +0 -24
  175. package/dist/lib/types/grammar.js.map +0 -1
@@ -26,15 +26,15 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
26
26
  * Adds an expression to this premise's tree.
27
27
  *
28
28
  * If the expression has `parentId: null` it becomes the root; only one
29
- * root is permitted per premise. All structural rules (`implies`/`iff`
30
- * root-only, child limits, position uniqueness) are enforced.
29
+ * root is permitted per premise. All Structural rules (`implies`/`iff`
30
+ * root-only, child limits, position uniqueness, derivation root
31
+ * operator) are enforced at mutation time.
31
32
  *
32
- * When the `wrapInsertFormula` flag is enabled (either directly via
33
- * `TAutoNormalizeConfig` or via `autoNormalize: true`), operator nesting
34
- * violations are auto-corrected by inserting a `formula` buffer between
35
- * the parent operator and the non-`not` operator child, rather than
36
- * throwing. The same flag also controls auto-insertion in
37
- * `insertExpression` and `wrapExpression`.
33
+ * As of v1.0 (D2) P-1 (non-not operator under operator) is **not**
34
+ * enforced at mutation time the AN-1 post-hook in assistive
35
+ * behavior inserts the formula buffer; in permissive behavior the
36
+ * un-buffered state stays and surfaces via
37
+ * `engine.validate('presentable')`.
38
38
  *
39
39
  * @param expression - The expression to add, including position and
40
40
  * parent assignment.
@@ -44,8 +44,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
44
44
  * @throws If the expression's parent does not exist in this premise.
45
45
  * @throws If the expression is a variable reference and the variable
46
46
  * has not been registered.
47
- * @throws If a non-not operator would become a direct child of another
48
- * operator expression (when `wrapInsertFormula` is disabled).
49
47
  */
50
48
  addExpression(expression: TExpressionInput<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
51
49
  /**
@@ -53,8 +51,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
53
51
  * position computed automatically. If `parentId` is `null`, the
54
52
  * expression becomes the root.
55
53
  *
56
- * When the `repositionOnCollision` auto-normalize flag is enabled,
57
- * sibling positions are automatically redistributed if the computed
54
+ * Composite-mutation behavior (spec §8 / S-9): sibling positions
55
+ * are always shifted as part of the bundled op when the computed
58
56
  * position would collide with an existing sibling. Repositioned
59
57
  * siblings appear in `changes.expressions.modified`.
60
58
  *
@@ -64,19 +62,17 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
64
62
  * @throws If the premise already has a root and `parentId` is `null`.
65
63
  * @throws If the expression is a variable reference and the variable
66
64
  * has not been registered.
67
- * @throws If a non-not operator would become a direct child of another
68
- * operator expression.
69
65
  */
70
66
  appendExpression(parentId: string | null, expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
71
67
  /**
72
68
  * Adds an expression immediately before or after an existing sibling,
73
69
  * with position computed automatically.
74
70
  *
75
- * When the `repositionOnCollision` auto-normalize flag is enabled,
76
- * sibling positions are automatically redistributed if the computed
77
- * midpoint position would collide with an existing sibling. Only the
78
- * minimal set of nodes is repositioned. Repositioned siblings appear
79
- * in `changes.expressions.modified`.
71
+ * Composite-mutation behavior (spec §8 / S-9): sibling positions
72
+ * are always shifted as part of the bundled op when the computed
73
+ * midpoint position would collide with an existing sibling. Only
74
+ * the minimal set of nodes is repositioned. Repositioned siblings
75
+ * appear in `changes.expressions.modified`.
80
76
  *
81
77
  * @param siblingId - The ID of the existing sibling expression.
82
78
  * @param relativePosition - Whether to insert `"before"` or `"after"`
@@ -86,8 +82,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
86
82
  * @throws If the sibling does not exist in this premise.
87
83
  * @throws If the expression is a variable reference and the variable
88
84
  * has not been registered.
89
- * @throws If a non-not operator would become a direct child of another
90
- * operator expression.
91
85
  */
92
86
  addExpressionRelative(siblingId: string, relativePosition: "before" | "after", expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
93
87
  /**
@@ -102,14 +96,18 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
102
96
  */
103
97
  updateExpression(expressionId: string, updates: TExpressionUpdate): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
104
98
  /**
105
- * Removes an expression and optionally its entire descendant subtree,
106
- * then collapses any ancestor operators with fewer than two children.
99
+ * Removes an expression and optionally its entire descendant subtree.
100
+ *
101
+ * As of v1.0 (D2) the pre-mutation 0/1-child collapse cascade is gone —
102
+ * AN-3 (post-mutation hook in assistive mode) handles 0/1-child
103
+ * operator/formula collapse on the surviving parent.
107
104
  *
108
105
  * @param expressionId - The ID of the expression to remove.
109
106
  * @param deleteSubtree - Whether to remove all descendants as well.
110
107
  * @returns The removed root expression, or `undefined` if not found.
111
- * @throws If removal would promote a non-not operator as a direct
112
- * child of another operator expression.
108
+ * @throws If `deleteSubtree` is false and the single surviving
109
+ * child is a root-only operator (`implies`/`iff`) that would be
110
+ * placed in a non-root position (S-5).
113
111
  */
114
112
  removeExpression(expressionId: string, deleteSubtree: boolean): TCoreMutationResult<TExpr | undefined, TExpr, TVar, TPremise, TArg>;
115
113
  /**
@@ -117,6 +115,12 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
117
115
  * expression inherits the tree slot of the anchor node
118
116
  * (`leftNodeId ?? rightNodeId`).
119
117
  *
118
+ * As of v1.0 (D2) P-1 (non-not operator under operator) is **not**
119
+ * enforced at mutation time — the AN-1 post-hook in assistive
120
+ * behavior inserts the formula buffer; in permissive behavior the
121
+ * un-buffered state stays and surfaces via
122
+ * `engine.validate('presentable')`.
123
+ *
120
124
  * @param expression - The expression to insert, including position and
121
125
  * parent assignment.
122
126
  * @param leftNodeId - The existing node to become the left child of
@@ -126,8 +130,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
126
130
  * @returns The inserted expression (with checksum) and changeset.
127
131
  * @throws If the expression is a variable reference and the variable
128
132
  * has not been registered.
129
- * @throws If a non-not operator would become a direct child of another
130
- * operator expression.
131
133
  */
132
134
  insertExpression(expression: TExpressionInput<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
133
135
  /**
@@ -139,6 +141,12 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
139
141
  * Exactly one of `leftNodeId` / `rightNodeId` must be provided — it
140
142
  * identifies the existing node and which child slot it occupies.
141
143
  *
144
+ * As of v1.0 (D2) P-1 (non-not operator under operator) is **not**
145
+ * enforced at mutation time — the AN-1 post-hook in assistive
146
+ * behavior inserts the formula buffer; in permissive behavior the
147
+ * un-buffered state stays and surfaces via
148
+ * `engine.validate('presentable')`.
149
+ *
142
150
  * @param operator - The new operator expression to wrap with.
143
151
  * @param newSibling - The new sibling expression to add alongside the
144
152
  * existing node.
@@ -147,8 +155,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
147
155
  * @returns The inserted operator (with checksum) and changeset.
148
156
  * @throws If the new sibling is a variable reference and the variable
149
157
  * has not been registered.
150
- * @throws If a non-not operator would become a direct child of another
151
- * operator expression.
152
158
  */
153
159
  wrapExpression(operator: TExpressionWithoutPosition<TExpr>, newSibling: TExpressionWithoutPosition<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
154
160
  /**
@@ -156,14 +162,13 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
156
162
  * NOT operator, removes the NOT (promoting the expression). Otherwise,
157
163
  * wraps the expression with a new NOT operator.
158
164
  *
159
- * When the target is already a NOT expression and `collapseDoubleNegation`
160
- * is enabled, removes the existing NOT (promoting its child) instead of
161
- * wrapping in another NOT preventing NOT(NOT(x)).
162
- *
163
- * When the target is a non-not operator and `negationInsertFormula` is
164
- * enabled, auto-inserts a formula buffer between the new NOT and the
165
- * target to satisfy the operator nesting restriction. Throws if the flag
166
- * is disabled and `enforceFormulaBetweenOperators` is `true`.
165
+ * As of v1.0 (D2) P-1 (non-not operator under operator) and P-2
166
+ * (NOT(NOT(x)) double-negation) are **not** enforced at mutation
167
+ * time. The post-mutation AN hook handles them in assistive
168
+ * behavior: AN-1 inserts the formula buffer between NOT and a
169
+ * non-not operator child; AN-2 collapses NOT(NOT(x)) x. In
170
+ * permissive behavior both states stay and surface via
171
+ * `engine.validate('presentable')`.
167
172
  *
168
173
  * @param expressionId - The ID of the expression to toggle negation on.
169
174
  * @param extraFields - Optional additional fields to merge into newly
@@ -173,8 +178,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
173
178
  * @returns The new NOT expression when adding negation, or `null` when
174
179
  * removing it, along with the changeset.
175
180
  * @throws If the expression does not exist in this premise.
176
- * @throws If `negationInsertFormula` is disabled and the target is a
177
- * non-not operator (would create operator-under-operator).
178
181
  */
179
182
  toggleNegation(expressionId: string, extraFields?: Partial<TExpr>): TCoreMutationResult<TExpr | null, TExpr, TVar, TPremise, TArg>;
180
183
  /**
@@ -188,7 +191,10 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
188
191
  * reparents its children under the parent.
189
192
  * - **Split:** The operator has >2 children. Extracts `sourceChildId` and
190
193
  * `targetChildId` into a new sub-operator of type `newOperator`,
191
- * inserting a formula buffer if required by grammar enforcement.
194
+ * inserting a formula buffer between the parent and the new
195
+ * sub-operator (the buffer is part of the bundled composite mutation
196
+ * so the resulting tree satisfies P-1 regardless of the engine's
197
+ * `behavior` setting).
192
198
  *
193
199
  * @param expressionId The operator expression to change.
194
200
  * @param newOperator The target operator type.
@@ -207,12 +213,6 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
207
213
  * @throws If sourceChildId/targetChildId are not children of expressionId.
208
214
  */
209
215
  changeOperator(expressionId: string, newOperator: TCoreLogicalOperatorType, sourceChildId?: string, targetChildId?: string, extraFields?: Partial<TExpr>): TCoreMutationResult<TExpr | null, TExpr, TVar, TPremise, TArg>;
210
- /**
211
- * Performs a full normalization sweep on this premise's expression tree.
212
- * Collapses unjustified formulas, operators with 0/1 children, and inserts
213
- * formula buffers where needed. Works regardless of `autoNormalize` setting.
214
- */
215
- normalizeExpressions(): TCoreMutationResult<void, TExpr, TVar, TPremise, TArg>;
216
216
  }
217
217
  /**
218
218
  * Single-premise expression tree reads.
@@ -293,7 +293,10 @@ export interface TVariableReferences<TArg extends TCoreArgument = TCoreArgument,
293
293
  getReferencedVariableIds(): Set<string>;
294
294
  /**
295
295
  * Deletes all expressions that reference the given variable ID,
296
- * including their subtrees. Operator collapse runs after each removal.
296
+ * including their subtrees. As of v1.0 (D2) the pre-mutation operator
297
+ * collapse cascade is gone — AN-3 (post-mutation hook in assistive
298
+ * behavior) handles 0/1-child operator/formula collapse on the
299
+ * surviving parents.
297
300
  *
298
301
  * @param variableId - The variable ID whose referencing expressions
299
302
  * should be removed.
@@ -1 +1 @@
1
- {"version":3,"file":"premise-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/premise-engine.interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"premise-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/premise-engine.interfaces.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { type TCoreArgument, type TCoreLogicalOperatorType, type TCorePremise, type TCorePropositionalExpression, type TCorePropositionalVariable, type TOptionalChecksum } from "../schemata/index.js";
2
+ import { type TCorePositionConfig } from "../utils/position.js";
2
3
  import type { TCoreExpressionAssignment, TCorePremiseEvaluationResult, TCoreValidationResult } from "../types/evaluation.js";
3
4
  import type { TCoreMutationResult } from "../types/mutation.js";
4
5
  import type { TInvariantValidationResult } from "../types/validation.js";
5
6
  import { type TLogicEngineOptions } from "./argument-engine.js";
6
- import { type TGrammarConfig } from "../types/grammar.js";
7
7
  import type { TExpressionInput, TExpressionManagerSnapshot, TExpressionWithoutPosition, TExpressionUpdate } from "./expression-manager.js";
8
8
  import { ExpressionManager } from "./expression-manager.js";
9
9
  import { VariableManager } from "./variable-manager.js";
@@ -22,7 +22,6 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
22
22
  private expressionsByVariableId;
23
23
  private argument;
24
24
  private checksumConfig?;
25
- protected grammarConfig: TGrammarConfig;
26
25
  private checksumDirty;
27
26
  private cachedMetaChecksum;
28
27
  private cachedDescendantChecksum;
@@ -41,11 +40,15 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
41
40
  expressionIndex?: Map<string, string>;
42
41
  }, config?: TLogicEngineOptions);
43
42
  /**
44
- * Overrides the grammar config for both this premise engine and its
45
- * internal expression manager. Used by restoration paths when the
46
- * caller's grammar config should override the snapshot's config.
43
+ * Returns the position config in effect for this premise engine.
44
+ * Used by in-package helpers (notably the native AN-4 absorption
45
+ * pass in `src/lib/grammar/an-rules.ts`) that need the position
46
+ * range boundaries when computing target positions for absorbed
47
+ * children.
48
+ *
49
+ * @internal
47
50
  */
48
- setGrammarConfig(grammarConfig: TGrammarConfig): void;
51
+ getPositionConfig(): TCorePositionConfig;
49
52
  setOnMutate(callback: (() => void) | undefined): void;
50
53
  setCircularityCheck(check: ((variableId: string, premiseId: string) => boolean) | undefined): void;
51
54
  setEmptyBoundPremiseCheck(check: ((variableId: string) => boolean) | undefined): void;
@@ -63,11 +66,77 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
63
66
  insertExpression(expression: TExpressionInput<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
64
67
  wrapExpression(operator: TExpressionWithoutPosition<TExpr>, newSibling: TExpressionWithoutPosition<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
65
68
  /**
66
- * Performs a full normalization sweep on this premise's expression tree.
67
- * Collapses unjustified formulas, operators with 0/1 children, and inserts
68
- * formula buffers where needed. Works regardless of `autoNormalize` setting.
69
+ * Reparent an existing expression onto a new parent at the given
70
+ * position. Bundled-composite mutation per spec §8 the parent
71
+ * reference, position field, and checksum-dirty propagation update
72
+ * atomically in a single call. No transient orphan state is
73
+ * externally observable.
74
+ *
75
+ * Enforces Structural rules only (S-1 FK soundness, S-4 no-cycles,
76
+ * entity-not-found, and S-9 logical sibling-position uniqueness at
77
+ * the bundled-composite level — same-position collisions with the
78
+ * moved expression's own prior slot are tolerated as transient,
79
+ * since the move atomically frees that slot). Higher-tier violations
80
+ * never throw here — Evaluable/Derivable/Presentable issues surface
81
+ * through `validate(tier)` per spec §7.1.
82
+ *
83
+ * Used by the native AN-1 (formula-buffer insertion) and AN-4
84
+ * (same-operator absorption) passes in `src/lib/grammar/an-rules.ts`,
85
+ * and available to repair primitives and future composite ops that
86
+ * need a public reparent surface (e.g. `removeOrphanOperators`).
87
+ *
88
+ * @throws If `expressionId` or `newParentId` does not exist in this
89
+ * premise.
90
+ * @throws S-1: if `newParent` is not an `operator` or `formula` (a
91
+ * variable cannot be a parent — parity with `addExpression`
92
+ * at em.ts:418-422).
93
+ * @throws S-1: arity — if reparenting would push `newParent`'s
94
+ * child count past its operator-specific limit (unary `not`
95
+ * max 1; binary `implies`/`iff` max 2). Same-parent moves
96
+ * leave count unchanged and bypass this check.
97
+ * @throws S-4: if `newParentId === expressionId` or `newParentId` is
98
+ * a descendant of `expressionId`.
99
+ * @throws S-9: if another sibling (NOT the expression being moved)
100
+ * already occupies `newPosition` under `newParentId`.
101
+ *
102
+ * @since 1.0.0
69
103
  */
70
- normalizeExpressions(): TCoreMutationResult<void, TExpr, TVar, TPremise, TArg>;
104
+ reparentExpression(expressionId: string, newParentId: string, newPosition: number): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
105
+ /**
106
+ * Wrap an existing expression in a freshly-minted `formula` node
107
+ * atomically. The formula takes the child's original parent slot
108
+ * (parentId + position); the child becomes the formula's sole
109
+ * child at position 0. Bundled-composite mutation per spec §8.
110
+ *
111
+ * Used by the native AN-1 (formula-buffer insertion) pass in
112
+ * `src/lib/grammar/an-rules.ts`. Composing this from
113
+ * `addExpression` + `reparentExpression` is not possible: the
114
+ * intermediate state would either (a) violate S-9 with the child
115
+ * still occupying the formula's target slot, or (b) trip the
116
+ * parent's `assertChildLimit` (unary `not`, binary
117
+ * `implies`/`iff`) even though the *net* child count of the parent
118
+ * is unchanged after the wrap.
119
+ *
120
+ * The new formula's id is minted via the engine's `idGenerator`
121
+ * accessor and returned in the mutation result. Argument fields
122
+ * (`argumentId`, `argumentVersion`, `premiseId`) are inherited
123
+ * from the source child.
124
+ *
125
+ * @throws If `childId` does not exist in this premise.
126
+ * @throws If `childId` is at the root (no parent to insert a
127
+ * buffer beneath).
128
+ * @throws S-10: if `formulaId` is already used by an existing
129
+ * expression in this premise (entity-ID uniqueness).
130
+ *
131
+ * @since 1.0.0
132
+ */
133
+ wrapInFormula(childId: string, formulaId: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
134
+ /**
135
+ * Returns true iff `candidateId` is a descendant of `ancestorId` in
136
+ * this premise's expression tree. Used by `reparentExpression` for
137
+ * the S-4 no-cycles check.
138
+ */
139
+ private isDescendantOf;
71
140
  toggleNegation(expressionId: string, extraFields?: Partial<TExpr>): TCoreMutationResult<TExpr | null, TExpr, TVar, TPremise, TArg>;
72
141
  changeOperator(expressionId: string, newOperator: TCoreLogicalOperatorType, sourceChildId?: string, targetChildId?: string, extraFields?: Partial<TExpr>): TCoreMutationResult<TExpr | null, TExpr, TVar, TPremise, TArg>;
73
142
  getExpression(id: string): TExpr | undefined;
@@ -119,7 +188,7 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
119
188
  private operatorSymbol;
120
189
  snapshot(): TPremiseEngineSnapshot<TPremise, TExpr>;
121
190
  /** Creates a new PremiseEngine from a previously captured snapshot. */
122
- static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(snapshot: TPremiseEngineSnapshot<TPremise, TExpr>, argument: TOptionalChecksum<TArg>, variables: VariableManager<TVar>, expressionIndex?: Map<string, string>, grammarConfig?: TGrammarConfig, generateId?: () => string): PremiseEngine<TArg, TPremise, TExpr, TVar>;
191
+ static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(snapshot: TPremiseEngineSnapshot<TPremise, TExpr>, argument: TOptionalChecksum<TArg>, variables: VariableManager<TVar>, expressionIndex?: Map<string, string>, generateId?: () => string): PremiseEngine<TArg, TPremise, TExpr, TVar>;
123
192
  /**
124
193
  * Flushes hierarchical expression checksums and rebuilds the changeset
125
194
  * so that added/modified expressions carry correct `descendantChecksum`
@@ -1 +1 @@
1
- {"version":3,"file":"premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}