jssm 5.158.0 → 5.158.2

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.
@@ -22542,11 +22542,19 @@ function compile_rule_handler(rule) {
22542
22542
  const decl_id = rule.__decl_id; // TODO FIXME no any
22543
22543
  const source_group = rule.__source_group; // TODO FIXME no any
22544
22544
  const specificity = rule.__specificity; // TODO FIXME no any
22545
- edges.forEach((edge) => {
22546
- if (edge.from === rule.from) {
22547
- edge_decl_meta.set(edge, { decl_id, source_group, specificity });
22548
- }
22549
- });
22545
+ // Group-free machines (registry.size === 0) reach here with UNTAGGED
22546
+ // nodes resolve_group_refs passes them through untouched — and their
22547
+ // conflict arbitration is skipped outright, so the metadata would never
22548
+ // be read. Skipping the per-edge WeakMap.set removes the one remaining
22549
+ // unconditional per-edge construction cost the side-table refactor added
22550
+ // (the week-over-week trail showed construct paying for it).
22551
+ if (decl_id !== undefined) {
22552
+ edges.forEach((edge) => {
22553
+ if (edge.from === rule.from) {
22554
+ edge_decl_meta.set(edge, { decl_id, source_group, specificity });
22555
+ }
22556
+ });
22557
+ }
22550
22558
  return { agg_as: 'transition', val: edges };
22551
22559
  }
22552
22560
  if (rule.key === 'machine_language') {
@@ -23686,7 +23694,7 @@ function fslSemanticSpans(text) {
23686
23694
  * Useful for runtime diagnostics and for embedding in serialized machine
23687
23695
  * snapshots so that deserializers can detect version-skew.
23688
23696
  */
23689
- const version = "5.158.0";
23697
+ const version = "5.158.2";
23690
23698
 
23691
23699
  /**
23692
23700
  * The FSL Markdown fence convention parser — pure, host-agnostic logic that