Per the project rule (check helpme-codesys.com first / cross-reference
before any scripting fix), each of the 5 open bugs from
SMOKE-TEST-2026-04-25-v2.md gets:
- Empirical failure as observed today on SP22 Patch 1
- Relevant docs URL on content.helpme-codesys.com
- What the docs confirm (or fail to surface -- many pages are index-
only with method bodies rendered by JS, not WebFetch'able)
- Proposed fix path with rationale and approximate effort
Findings summarised:
1. create_folder kwarg mismatch -> try positional 'create_folder("name")'
(~10 LOC, high-probability fix)
2. compile_project / get_compile_messages JSON long ->
pre-process the dict to coerce IronPython long to int/str before
json.dumps; belt-and-suspenders default=str (~15 LOC, single helper)
3. list_project_libraries returns empty ->
use ScriptLibManObject.get_libraries() (canonical), reuse the
same Library Manager discovery pattern that add_library already
succeeds with (~30 LOC)
4. add_library duplicates / not placeholder ->
pre-check via get_libraries() to dedupe; default to add_placeholder()
to match Standard template convention; opt-in 'direct=true' for
the old behaviour (~40 LOC, mildly breaking)
5. rename_object partial refactor ->
no documented refactor variant in scriptengine; brute-force walk
of every POU + word-boundary regex replace, gated behind
updateReferences=true flag (~80 LOC, biggest fix)
Order-of-attack ranking included. Each fix is its own commit per the
project rule, with the relevant docs URL cited inline in the commit
message.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>