diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md
index 27bd9cec..ad412cc2 100644
--- a/.claude/CLAUDE.md
+++ b/.claude/CLAUDE.md
@@ -231,3 +231,13 @@ After `runAnalysis()`, check:
- Use `createJaspTable()`, `createJaspPlot()`, `createJaspHtml()` for output elements
- Always set `$dependOn()` for proper caching and state management
- Use containers for grouping related elements, state objects for reusing computed results
+
+## Compact Instructions
+
+When context is compacted, preserve:
+- Current workflow stage (from /workspace/.openclaw-run/current_stage)
+- Implementation plan (from /workspace/.openclaw-run/PLAN.md)
+- The module name and original task description
+- What git changes have been made so far
+
+After compaction, re-read /workspace/.openclaw-run/RECOVERY.md to re-orient.
diff --git a/R/doeFactorial.R b/R/doeFactorial.R
index 742566a6..47a8a05d 100644
--- a/R/doeFactorial.R
+++ b/R/doeFactorial.R
@@ -355,7 +355,9 @@ doeFactorial <- function(jaspResults, dataset, options, ...) {
seed = seed
)
} else if (options[["factorialType"]] == "factorialTypeSpecify") {
- whichHow <- strsplit(gsub(" ", "", strsplit(options[["factorialTypeSpecifyGenerators"]], ",")[[1]], fixed = TRUE), "=")
+ # Normalize different delimiters (semicolon, newline, tab) to comma before parsing
+ generators_normalized <- gsub("[;\n\t]", ",", options[["factorialTypeSpecifyGenerators"]])
+ whichHow <- strsplit(gsub(" ", "", strsplit(generators_normalized, ",")[[1]], fixed = TRUE), "=")
if (length(whichHow) == 0) {
return()
}
diff --git a/tests/testthat/_snaps/example-Type1InstrumentCapability/analysis-1-figure-1-bias-histogram.new.svg b/tests/testthat/_snaps/example-Type1InstrumentCapability/analysis-1-figure-1-bias-histogram.new.svg
new file mode 100644
index 00000000..0b696f60
--- /dev/null
+++ b/tests/testthat/_snaps/example-Type1InstrumentCapability/analysis-1-figure-1-bias-histogram.new.svg
@@ -0,0 +1,253 @@
+
+
diff --git a/tests/testthat/_snaps/msaType1Gauge/1-bias-histogram.new.svg b/tests/testthat/_snaps/msaType1Gauge/1-bias-histogram.new.svg
new file mode 100644
index 00000000..f28037c6
--- /dev/null
+++ b/tests/testthat/_snaps/msaType1Gauge/1-bias-histogram.new.svg
@@ -0,0 +1,253 @@
+
+
diff --git a/tests/testthat/_snaps/msaType1Gauge/2-bias-histogram.new.svg b/tests/testthat/_snaps/msaType1Gauge/2-bias-histogram.new.svg
new file mode 100644
index 00000000..0e215eaf
--- /dev/null
+++ b/tests/testthat/_snaps/msaType1Gauge/2-bias-histogram.new.svg
@@ -0,0 +1,247 @@
+
+
diff --git a/tests/testthat/_snaps/msaType1Gauge/3-bias-histogram.new.svg b/tests/testthat/_snaps/msaType1Gauge/3-bias-histogram.new.svg
new file mode 100644
index 00000000..e07d4ebb
--- /dev/null
+++ b/tests/testthat/_snaps/msaType1Gauge/3-bias-histogram.new.svg
@@ -0,0 +1,248 @@
+
+
diff --git a/tests/testthat/_snaps/msaType1Gauge/4-bias-histogram.new.svg b/tests/testthat/_snaps/msaType1Gauge/4-bias-histogram.new.svg
new file mode 100644
index 00000000..3c9b9602
--- /dev/null
+++ b/tests/testthat/_snaps/msaType1Gauge/4-bias-histogram.new.svg
@@ -0,0 +1,176 @@
+
+