Dagger Dogfood Migration Report

Generated May 22, 2026. Migrations were run with Dagger built from dagger/dagger workspace commit 992e1a48fdab.

Branch used for pushed migration work: codex/migrate-1.0. Full committed diffs are expanded inline in the table.

14pushed migration branches
2already migrated / no diff
3skipped, no module config
1failed without force

Branch Links And Diffs

Repository Status Branch Commit Result Full Diff
dagger/PsScriptAnalyzer Pushed codex/migrate-1.0 23ba0fe71f77 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/biomejs Pushed codex/migrate-1.0 ac5eb6773dd2 Added workspace config and migration report.
.dagger/config.toml         |  7 +++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 17 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..5d85c08
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,7 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules.typescript-sdk]
+source = "github.com/dagger/typescript-sdk"
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/eslint Pushed codex/migrate-1.0 471d6214a626 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/go Pushed codex/migrate-1.0 2052ed3083c1 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/go-sdk Pushed codex/migrate-1.0 aaefdaa1be7b Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/helm Pushed codex/migrate-1.0 6c9725dfbc22 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/jest Pushed codex/migrate-1.0 19741629bc88 Added root workspace files and migrated tests/log_output_toolchain_local fixture.
.dagger/config.toml                                  |  6 ++++++
 .dagger/migration-report.md                          | 10 ++++++++++
 tests/log_output_toolchain_local/.dagger/config.toml |  5 +++++
 .../.dagger/migration-report.md                      | 20 ++++++++++++++++++++
 tests/log_output_toolchain_local/dagger.json         | 16 ----------------
 5 files changed, 41 insertions(+), 16 deletions(-)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
diff --git a/tests/log_output_toolchain_local/.dagger/config.toml b/tests/log_output_toolchain_local/.dagger/config.toml
new file mode 100644
index 0000000..37fa6d0
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/config.toml
@@ -0,0 +1,5 @@
+[modules.jest]
+source = "../../.."
+legacy-default-path = true
+# settings.baseImageAddress = ""
+# settings.packageManager = ""
diff --git a/tests/log_output_toolchain_local/.dagger/migration-report.md b/tests/log_output_toolchain_local/.dagger/migration-report.md
new file mode 100644
index 0000000..f1feda2
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/migration-report.md
@@ -0,0 +1,20 @@
+# Migration Report
+
+Dagger migrated `dagger.json`, but some old settings need a manual check.
+
+ACTION: Review each item below. If your project still relies on it, add the setting back manually.
+
+Legacy config: `dagger.json`
+
+## 1. `jest` needs a manual check
+
+Dagger could not migrate this setting automatically: constructor arg "source" has 'defaultPath', which workspace settings do not support
+
+Original setting:
+
+```json
+{
+  "argument": "source",
+  "defaultPath": "/tests/log_output_toolchain_local"
+}
+```
diff --git a/tests/log_output_toolchain_local/dagger.json b/tests/log_output_toolchain_local/dagger.json
deleted file mode 100644
index 24bb1ad..0000000
--- a/tests/log_output_toolchain_local/dagger.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "name": "jest-log-output",
-  "engineVersion": "v0.19.10",
-  "toolchains": [
-    {
-      "name": "jest",
-      "source": "../../",
-      "customizations": [
-        {
-          "argument": "source",
-          "defaultPath": "/tests/log_output_toolchain_local"
-        }
-      ]
-    }
-  ]
-}
dagger/node Pushed codex/migrate-1.0 c840e4f23987 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/prettier Pushed codex/migrate-1.0 d17f10d11230 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/pytest Pushed codex/migrate-1.0 02b88f84ee46 Added root workspace files and migrated tests/log_output_toolchain_local fixture.
.dagger/config.toml                                  |  6 ++++++
 .dagger/migration-report.md                          | 10 ++++++++++
 tests/log_output_toolchain_local/.dagger/config.toml |  7 +++++++
 .../.dagger/migration-report.md                      | 20 ++++++++++++++++++++
 tests/log_output_toolchain_local/dagger.json         | 16 ----------------
 5 files changed, 43 insertions(+), 16 deletions(-)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
diff --git a/tests/log_output_toolchain_local/.dagger/config.toml b/tests/log_output_toolchain_local/.dagger/config.toml
new file mode 100644
index 0000000..42b47ce
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/config.toml
@@ -0,0 +1,7 @@
+[modules.pytest]
+source = "../../.."
+legacy-default-path = true
+# Optional: The source directory containing your Python project
+# settings.source = "./path"
+# Optional: A custom container with Python and uv installed.
+# settings.container = "alpine:latest"
diff --git a/tests/log_output_toolchain_local/.dagger/migration-report.md b/tests/log_output_toolchain_local/.dagger/migration-report.md
new file mode 100644
index 0000000..7ba561d
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/migration-report.md
@@ -0,0 +1,20 @@
+# Migration Report
+
+Dagger migrated `dagger.json`, but some old settings need a manual check.
+
+ACTION: Review each item below. If your project still relies on it, add the setting back manually.
+
+Legacy config: `dagger.json`
+
+## 1. `pytest` needs a manual check
+
+Dagger could not migrate this setting automatically: constructor arg "source" has 'defaultPath', which workspace settings do not support
+
+Original setting:
+
+```json
+{
+  "argument": "source",
+  "defaultPath": "/tests/log_output_toolchain_local"
+}
+```
diff --git a/tests/log_output_toolchain_local/dagger.json b/tests/log_output_toolchain_local/dagger.json
deleted file mode 100644
index 430cf71..0000000
--- a/tests/log_output_toolchain_local/dagger.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "name": "pytest-log-output",
-  "engineVersion": "v0.20.6",
-  "toolchains": [
-    {
-      "name": "pytest",
-      "source": "../../",
-      "customizations": [
-        {
-          "argument": "source",
-          "defaultPath": "/tests/log_output_toolchain_local"
-        }
-      ]
-    }
-  ]
-}
dagger/sdk-sdk Pushed codex/migrate-1.0 3e53755e8b48 Added workspace config and a longer migration report with settings hints.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 28 ++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..33c9297
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,28 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
+
+## mod-test requires explicit loading
+
+`mod-test` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m mod-test call --help`
+- **This no longer works**: `cd mod-test; dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of `mod-test`, change them to use explicit loading.
+
+## polyfill requires explicit loading
+
+`polyfill` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m polyfill call --help`
+- **This no longer works**: `cd polyfill; dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of `polyfill`, change them to use explicit loading.
dagger/setup Pushed codex/migrate-1.0 6ad1e5c6f8a7 Added root workspace files and migrated test fixture.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 test/.dagger/config.toml    |  3 +++
 test/dagger.json            | 10 ----------
 4 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
diff --git a/test/.dagger/config.toml b/test/.dagger/config.toml
new file mode 100644
index 0000000..06d354e
--- /dev/null
+++ b/test/.dagger/config.toml
@@ -0,0 +1,3 @@
+[modules.setup]
+source = "../.."
+legacy-default-path = true
diff --git a/test/dagger.json b/test/dagger.json
deleted file mode 100644
index 8d90e6d..0000000
--- a/test/dagger.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "test",
-  "engineVersion": "v0.20.6",
-  "toolchains": [
-    {
-      "name": "setup",
-      "source": ".."
-    }
-  ]
-}
dagger/shellcheck Pushed codex/migrate-1.0 44477f0c1f19 Added workspace config and migration report.
.dagger/config.toml         |  6 ++++++
 .dagger/migration-report.md | 10 ++++++++++
 2 files changed, 16 insertions(+)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
dagger/vitest Pushed codex/migrate-1.0 49497891bdfc Added root workspace files and migrated tests/hello_world_toolchain_local and tests/log_output_toolchain_local fixtures.
.dagger/config.toml                                  |  6 ++++++
 .dagger/migration-report.md                          | 10 ++++++++++
 .../hello_world_toolchain_local/.dagger/config.toml  |  5 +++++
 .../.dagger/migration-report.md                      | 20 ++++++++++++++++++++
 tests/hello_world_toolchain_local/dagger.json        | 16 ----------------
 tests/log_output_toolchain_local/.dagger/config.toml |  5 +++++
 .../.dagger/migration-report.md                      | 20 ++++++++++++++++++++
 tests/log_output_toolchain_local/dagger.json         | 16 ----------------
 8 files changed, 66 insertions(+), 32 deletions(-)
diff --git a/.dagger/config.toml b/.dagger/config.toml
new file mode 100644
index 0000000..97b6dd4
--- /dev/null
+++ b/.dagger/config.toml
@@ -0,0 +1,6 @@
+# Dagger workspace configuration
+# Install modules with: dagger install <module>
+# Example:
+#   dagger install github.com/dagger/dagger/modules/wolfi
+
+[modules]
diff --git a/.dagger/migration-report.md b/.dagger/migration-report.md
new file mode 100644
index 0000000..4b9eddb
--- /dev/null
+++ b/.dagger/migration-report.md
@@ -0,0 +1,10 @@
+# Migration Report
+
+## Root module requires explicit loading
+
+The root `dagger.json` is still a valid module, but it must be loaded explicitly.
+
+- **This works**: `dagger -m . call --help`
+- **This no longer works**: `dagger call --help`
+
+ACTION: If your scripts rely on implicit loading of the root module, change them to use explicit loading.
diff --git a/tests/hello_world_toolchain_local/.dagger/config.toml b/tests/hello_world_toolchain_local/.dagger/config.toml
new file mode 100644
index 0000000..ff62e6f
--- /dev/null
+++ b/tests/hello_world_toolchain_local/.dagger/config.toml
@@ -0,0 +1,5 @@
+[modules.vitest]
+source = "../../.."
+legacy-default-path = true
+# settings.baseImageAddress = ""
+# settings.packageManager = ""
diff --git a/tests/hello_world_toolchain_local/.dagger/migration-report.md b/tests/hello_world_toolchain_local/.dagger/migration-report.md
new file mode 100644
index 0000000..7603c93
--- /dev/null
+++ b/tests/hello_world_toolchain_local/.dagger/migration-report.md
@@ -0,0 +1,20 @@
+# Migration Report
+
+Dagger migrated `dagger.json`, but some old settings need a manual check.
+
+ACTION: Review each item below. If your project still relies on it, add the setting back manually.
+
+Legacy config: `dagger.json`
+
+## 1. `vitest` needs a manual check
+
+Dagger could not migrate this setting automatically: constructor arg "source" has 'defaultPath', which workspace settings do not support
+
+Original setting:
+
+```json
+{
+  "argument": "source",
+  "defaultPath": "/tests/hello_world_toolchain_local"
+}
+```
diff --git a/tests/hello_world_toolchain_local/dagger.json b/tests/hello_world_toolchain_local/dagger.json
deleted file mode 100644
index b53fc72..0000000
--- a/tests/hello_world_toolchain_local/dagger.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "name": "hello_world",
-  "engineVersion": "v0.19.10",
-  "toolchains": [
-    {
-      "name": "vitest",
-      "source": "../../",
-      "customizations": [
-        {
-          "argument": "source",
-          "defaultPath": "/tests/hello_world_toolchain_local"
-        }
-      ]
-    }
-  ]
-}
diff --git a/tests/log_output_toolchain_local/.dagger/config.toml b/tests/log_output_toolchain_local/.dagger/config.toml
new file mode 100644
index 0000000..ff62e6f
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/config.toml
@@ -0,0 +1,5 @@
+[modules.vitest]
+source = "../../.."
+legacy-default-path = true
+# settings.baseImageAddress = ""
+# settings.packageManager = ""
diff --git a/tests/log_output_toolchain_local/.dagger/migration-report.md b/tests/log_output_toolchain_local/.dagger/migration-report.md
new file mode 100644
index 0000000..ba54472
--- /dev/null
+++ b/tests/log_output_toolchain_local/.dagger/migration-report.md
@@ -0,0 +1,20 @@
+# Migration Report
+
+Dagger migrated `dagger.json`, but some old settings need a manual check.
+
+ACTION: Review each item below. If your project still relies on it, add the setting back manually.
+
+Legacy config: `dagger.json`
+
+## 1. `vitest` needs a manual check
+
+Dagger could not migrate this setting automatically: constructor arg "source" has 'defaultPath', which workspace settings do not support
+
+Original setting:
+
+```json
+{
+  "argument": "source",
+  "defaultPath": "/tests/log_output_toolchain_local"
+}
+```
diff --git a/tests/log_output_toolchain_local/dagger.json b/tests/log_output_toolchain_local/dagger.json
deleted file mode 100644
index 5fa428c..0000000
--- a/tests/log_output_toolchain_local/dagger.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "name": "vitest-log-output",
-  "engineVersion": "v0.19.10",
-  "toolchains": [
-    {
-      "name": "vitest",
-      "source": "../../",
-      "customizations": [
-        {
-          "argument": "source",
-          "defaultPath": "/tests/log_output_toolchain_local"
-        }
-      ]
-    }
-  ]
-}
dagger/python-sdk No change main aad6453 Already had workspace config; dagger migrate -y produced no diff. No migration diff.
dagger/typescript-sdk No change main 736a8e5 Already had workspace config; dagger migrate -y produced no diff. No migration diff.
dagger/bun Skipped repository No dagger.json, dagger.jsonnet, or workspace config found locally. No migration run.
dagger/dang-sdk Skipped repository No dagger.json, dagger.jsonnet, or workspace config found locally. No migration run.
dagger/mochajs Skipped repository No dagger.json, dagger.jsonnet, or workspace config found locally. No migration run.
dagger/dagger.io Failed local branch only dagger migrate -y failed because ../infra/previews/dagger.json is missing; the command suggests rerunning with --force. No committed diff.

The common migration output is an empty workspace module table plus a report warning that root modules now require explicit loading. For example, scripts should use dagger -m . call ... where they previously depended on implicit dagger call ....