doxum 0.1.29 → 0.1.30

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/README.md CHANGED
@@ -599,8 +599,9 @@ Builds produce root `dist` ESM/CJS/declarations for `doxum`,
599
599
  The runtime shares one transaction lifecycle; complete mutation operations are
600
600
  organized by domain under `core/src/mutation/operations`, with access, first-touch
601
601
  recording and publication retaining their own responsibilities.
602
- The published [runtime skill](skills/doxum-runtime/SKILL.md) includes English and
603
- Chinese application guidance.
602
+ The published [runtime skill](skills/doxum-runtime/SKILL.md) is a source-free consumer
603
+ contract with complete public API routing, lifecycle guidance, recipes, integration
604
+ semantics and separate maintainer invariants.
604
605
 
605
606
  ## Release
606
607
 
package/dist/index.cjs CHANGED
@@ -3187,7 +3187,8 @@ function createKeyedGroupBy(source, dependenciesOrSelector, maybeSelector) {
3187
3187
  return;
3188
3188
  } else {
3189
3189
  for (const entry of change.removed) {
3190
- orderDirty ||= removeSourceKey(entry.key, affected);
3190
+ const changed = removeSourceKey(entry.key, affected);
3191
+ orderDirty ||= changed;
3191
3192
  dependencies.remove(entry.key);
3192
3193
  dirty.delete(entry.key);
3193
3194
  }
@@ -3200,7 +3201,10 @@ function createKeyedGroupBy(source, dependenciesOrSelector, maybeSelector) {
3200
3201
  }
3201
3202
  all ||= dependencies.collectInvalidated(evaluation.sources, dirty);
3202
3203
  if (all) for (const key of driver.read.ids()) dirty.add(key);
3203
- for (const key of dirty) orderDirty ||= selectGroups(driver, evaluation.sources, key, affected);
3204
+ for (const key of dirty) {
3205
+ const changed = selectGroups(driver, evaluation.sources, key, affected);
3206
+ orderDirty ||= changed;
3207
+ }
3204
3208
  if (structural) markAllGroups(output, affected);
3205
3209
  publishAffected(affected, output, orderDirty);
3206
3210
  dependencies.remember(evaluation.sources);