ADAM October 2026 source release: PixelRow, INRFlow, Wan Video, Oasis player and field guide
Browse filesUpdate the September 5 source snapshot with current desktop workflows and plugins. Add clean default configuration, fresh screenshots, public architecture map, interactive guide, source ZIP, release notes and validation (322 passing tests across 33 isolated modules). Personal data, credentials, checkpoints, external trainer folders and build outputs are excluded.
- .gitattributes +0 -1
- ADAM-source-2026-10-01.zip +2 -2
- ADAM.spec +1 -1
- SHA256SUMS.txt +1 -1
- config/settings.example.json +41 -0
- docs/releases/2026-10-01-manifest.json +7 -7
- docs/releases/2026-10-01-validation.md +3 -0
- main.py +2 -0
.gitattributes
CHANGED
|
@@ -36,4 +36,3 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 36 |
assets/adam_atom.ico filter=lfs diff=lfs merge=lfs -text
|
| 37 |
assets/adam_atom.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
docs/screenshots/command-center.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
-
docs/field-guide/adam-map.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 36 |
assets/adam_atom.ico filter=lfs diff=lfs merge=lfs -text
|
| 37 |
assets/adam_atom.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
docs/screenshots/command-center.png filter=lfs diff=lfs merge=lfs -text
|
|
|
ADAM-source-2026-10-01.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9e8bfec2156858a50eaff398a4754a17e3d49f73bd1f8958e6fe5a684a9afdb0
|
| 3 |
+
size 1727090
|
ADAM.spec
CHANGED
|
@@ -16,7 +16,7 @@ a = Analysis(
|
|
| 16 |
datas=[
|
| 17 |
("assets/adam_atom.png", "assets"),
|
| 18 |
("config/tools.json", "config"),
|
| 19 |
-
("config/settings.json", "config"),
|
| 20 |
("config/external_tools.json", "config"),
|
| 21 |
],
|
| 22 |
hiddenimports=hiddenimports,
|
|
|
|
| 16 |
datas=[
|
| 17 |
("assets/adam_atom.png", "assets"),
|
| 18 |
("config/tools.json", "config"),
|
| 19 |
+
("config/settings.example.json", "config"),
|
| 20 |
("config/external_tools.json", "config"),
|
| 21 |
],
|
| 22 |
hiddenimports=hiddenimports,
|
SHA256SUMS.txt
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
|
|
|
|
| 1 |
+
9e8bfec2156858a50eaff398a4754a17e3d49f73bd1f8958e6fe5a684a9afdb0 ADAM-source-2026-10-01.zip
|
config/settings.example.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"provider": "ollama",
|
| 3 |
+
"ollama_url": "http://localhost:11434",
|
| 4 |
+
"ollama_model": "qwen2.5:1.5b",
|
| 5 |
+
"ollama_chat_max_tokens": 1024,
|
| 6 |
+
"ollama_chat_response_length": "automatic",
|
| 7 |
+
"ollama_proposed_actions": true,
|
| 8 |
+
"web_search_enabled": true,
|
| 9 |
+
"web_link_reading_enabled": true,
|
| 10 |
+
"command_center_mode": "trainer",
|
| 11 |
+
"desktop_notifications": true,
|
| 12 |
+
"sound_notifications": false,
|
| 13 |
+
"ask_before_long_tasks": true,
|
| 14 |
+
"atlas_warning_temperature": 82,
|
| 15 |
+
"atlas_critical_temperature": 90,
|
| 16 |
+
"atlas_warning_disk_gb": 10,
|
| 17 |
+
"atlas_critical_disk_gb": 1,
|
| 18 |
+
"atlas_stall_minutes": 30,
|
| 19 |
+
"trusted_dataset_ddpm_automation": false,
|
| 20 |
+
"demo_step_delay": 0.24,
|
| 21 |
+
"max_dataset_images_without_confirmation": 100,
|
| 22 |
+
"training_presets": {},
|
| 23 |
+
"remote_access": {
|
| 24 |
+
"enabled": false,
|
| 25 |
+
"bind_address": "127.0.0.1",
|
| 26 |
+
"port": 8765,
|
| 27 |
+
"token": "",
|
| 28 |
+
"allow_job_control": false,
|
| 29 |
+
"auto_approve_training": false
|
| 30 |
+
},
|
| 31 |
+
"tool_folders": {
|
| 32 |
+
"dataset_collector": "",
|
| 33 |
+
"caption_generator": "",
|
| 34 |
+
"lora_trainer": "",
|
| 35 |
+
"ddpm_trainer": "",
|
| 36 |
+
"flow_trainer": "",
|
| 37 |
+
"oasis_trainer": "",
|
| 38 |
+
"wan_video_trainer": "",
|
| 39 |
+
"preview_generator": ""
|
| 40 |
+
}
|
| 41 |
+
}
|
docs/releases/2026-10-01-manifest.json
CHANGED
|
@@ -20,8 +20,8 @@
|
|
| 20 |
},
|
| 21 |
{
|
| 22 |
"path": "ADAM.spec",
|
| 23 |
-
"bytes":
|
| 24 |
-
"sha256": "
|
| 25 |
},
|
| 26 |
{
|
| 27 |
"path": "Build ADAM.exe.ps1",
|
|
@@ -614,7 +614,7 @@
|
|
| 614 |
"sha256": "8b58f6b913fdfee5afbc5b8192a652c67bef9f92579b4025171b9a56b9de7fdf"
|
| 615 |
},
|
| 616 |
{
|
| 617 |
-
"path": "config/settings.json",
|
| 618 |
"bytes": 1188,
|
| 619 |
"sha256": "6cbca26bdfe6336fb62a45461ea9aceb2749630f80019ed471fe63bb0ee2e45c"
|
| 620 |
},
|
|
@@ -655,8 +655,8 @@
|
|
| 655 |
},
|
| 656 |
{
|
| 657 |
"path": "docs/releases/2026-10-01-validation.md",
|
| 658 |
-
"bytes":
|
| 659 |
-
"sha256": "
|
| 660 |
},
|
| 661 |
{
|
| 662 |
"path": "docs/releases/2026-10-01.md",
|
|
@@ -680,8 +680,8 @@
|
|
| 680 |
},
|
| 681 |
{
|
| 682 |
"path": "main.py",
|
| 683 |
-
"bytes":
|
| 684 |
-
"sha256": "
|
| 685 |
},
|
| 686 |
{
|
| 687 |
"path": "models/__init__.py",
|
|
|
|
| 20 |
},
|
| 21 |
{
|
| 22 |
"path": "ADAM.spec",
|
| 23 |
+
"bytes": 1680,
|
| 24 |
+
"sha256": "ad49137c37ed1d8d13d80fda2de28bba32fa84b5f3d19d06f28437b3391fbc5e"
|
| 25 |
},
|
| 26 |
{
|
| 27 |
"path": "Build ADAM.exe.ps1",
|
|
|
|
| 614 |
"sha256": "8b58f6b913fdfee5afbc5b8192a652c67bef9f92579b4025171b9a56b9de7fdf"
|
| 615 |
},
|
| 616 |
{
|
| 617 |
+
"path": "config/settings.example.json",
|
| 618 |
"bytes": 1188,
|
| 619 |
"sha256": "6cbca26bdfe6336fb62a45461ea9aceb2749630f80019ed471fe63bb0ee2e45c"
|
| 620 |
},
|
|
|
|
| 655 |
},
|
| 656 |
{
|
| 657 |
"path": "docs/releases/2026-10-01-validation.md",
|
| 658 |
+
"bytes": 1728,
|
| 659 |
+
"sha256": "c840f1e54a58bea418d356e255c379d4f2b6f160705c340cc72e576db0b81ca6"
|
| 660 |
},
|
| 661 |
{
|
| 662 |
"path": "docs/releases/2026-10-01.md",
|
|
|
|
| 680 |
},
|
| 681 |
{
|
| 682 |
"path": "main.py",
|
| 683 |
+
"bytes": 3421,
|
| 684 |
+
"sha256": "a535ec1e0d10b4fcc936a73334a324d5656a496927e6eceb9475e0127cf1383c"
|
| 685 |
},
|
| 686 |
{
|
| 687 |
"path": "models/__init__.py",
|
docs/releases/2026-10-01-validation.md
CHANGED
|
@@ -11,6 +11,9 @@
|
|
| 11 |
asynchronous asset discovery before checking the model list.
|
| 12 |
- The clean release desktop and model-creation assistant opened successfully;
|
| 13 |
fresh screenshots were captured without personal connections or history.
|
|
|
|
|
|
|
|
|
|
| 14 |
- The public HTML guide was checked in a browser: all 18 component selections,
|
| 15 |
four distinct mechanism illustrations, canvas rendering and pause control
|
| 16 |
passed.
|
|
|
|
| 11 |
asynchronous asset discovery before checking the model list.
|
| 12 |
- The clean release desktop and model-creation assistant opened successfully;
|
| 13 |
fresh screenshots were captured without personal connections or history.
|
| 14 |
+
- The public default template is `config/settings.example.json`. Packaged
|
| 15 |
+
startup seeds settings from that template when needed and preserves existing
|
| 16 |
+
user settings. Both behaviors were checked with isolated temporary folders.
|
| 17 |
- The public HTML guide was checked in a browser: all 18 component selections,
|
| 18 |
four distinct mechanism illustrations, canvas rendering and pause control
|
| 19 |
passed.
|
main.py
CHANGED
|
@@ -37,6 +37,8 @@ def prepare_portable_config(app_root: Path, resource_root: Path) -> None:
|
|
| 37 |
bundled_config = resource_root / "config"
|
| 38 |
for name in ("tools.json", "settings.json", "external_tools.json"):
|
| 39 |
source = bundled_config / name
|
|
|
|
|
|
|
| 40 |
destination = config_dir / name
|
| 41 |
if source.is_file() and not destination.exists():
|
| 42 |
shutil.copy2(source, destination)
|
|
|
|
| 37 |
bundled_config = resource_root / "config"
|
| 38 |
for name in ("tools.json", "settings.json", "external_tools.json"):
|
| 39 |
source = bundled_config / name
|
| 40 |
+
if name == "settings.json" and not source.is_file():
|
| 41 |
+
source = bundled_config / "settings.example.json"
|
| 42 |
destination = config_dir / name
|
| 43 |
if source.is_file() and not destination.exists():
|
| 44 |
shutil.copy2(source, destination)
|