Refresh of docs/SMOKE-TEST-2026-04-25.md after this afternoon's commits:
e862846 + eee8ce2 connect_to_device login probe + loginWaitSeconds
010811b + 64906c4 write_variable: SP22 prepare-then-write API
b3bf4a8 download_to_device: same login probe + loginWait
All five previously-failing device-side ops (connect/read/write/start_stop/
download/disconnect) now PASS verified end-to-end against:
- SP22 Patch 1
- Control Win V3 runtime up on port 11740
- Test project MCPTest with the user's manual cleanup applied (one
dup library + one rename-without-callers reference fixed by hand
after the morning sweep)
Five upstream bugs remain, each tracked as a separate item with the
proposed cross-reference path to the official scripting docs at
content.helpme-codesys.com:
- create_folder kwarg mismatch
- compile_project / get_compile_messages JSON long serialisation
- list_project_libraries returns empty after successful add_library
- add_library duplicates instead of dedupe / placeholder
- rename_object partial refactor (own decl yes, callers no)
Diff vs morning baseline: 17 -> 22 PASS, 8 -> 5 FAIL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Verifies the watcher fix end-to-end: every passing tool used to
return the same execute_on_primary_thread marshal error and now
runs cleanly. Documents 5 unrelated pre-existing upstream bugs
exposed by the test (create_folder keyword mismatch, JSON long
serialisation in compile_project / get_compile_messages, online
API drift in connect/download/write_variable, orphaned CODESYS
on shutdown_codesys, library list/add inconsistency).
Test ran on SP21 Patch 5 due to MCP child orphaning during
re-registration churn; same architecture means SP22 is expected
to behave identically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cite the CODESYS Forge thread, the official scripting docs index,
the Schneider Electric mirror with the historical signature, the
SP21 Patch 5 release notes, and the local ScriptSystem.pyi stub
that is the primary evidence for the API removal.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Investigation of the system.execute_on_primary_thread removal:
- Confirmed gone in SP21 Patch 5 (no entry in ScriptSystem.pyi stubs).
- Single call site is watcher.py:195, structural to the bg-thread design.
- Proposes single-threaded primary-thread loop with system.delay() for
message-pump time. No Node/TypeScript changes needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>