v0.5.4 — seven MCP/ADT seam bug fixes
Seven bugs surfaced in one real-world ABAP refactor session against a ~147 KB class (/FGLR/CL_FLEET_TRANSFER) on on-prem E4D. All sat at the MCP↔ADT seam and were invisible to the pure-unit-test suite.
Full write-up: docs/bugfix-2026-05-15.md
Added
adt_set_source_chunked— multi-call write protocol for class bodies that don't fit in one MCP call (10-min TTL buffer, 4 MB cap, strict ordering, partial-source guard at commit).adt_get_source.firstLine/lastLine/onlyMethod— pagination + method-scope slicing withtotalLines/totalBytes/scope/truncatedmetadata.adt_set_source.acknowledgePartial— explicit bypass for the new partial-write guard.adt_activate.processRedoneOOSourceVersionOnly/preauditRequested— recover from "Object components locked in request and separate task" 403s.adt_lock.transport— forwarded ascorrNr=<TR>.adt_set_sourceandadt_delete_objectnow forwardtransportto the LOCK call as well.
Fixed
adt_set_sourcepartial-write guard —detectPartialSource()rejects input whose first non-comment line is not a recognised top-level ABAP keyword. PUT on ADT is atomic; previously a chunk sent as a "diff" silently deleted the rest of the include.parseAdtErrorno longer drops CTS diagnostics —LONGTEXTandT100KEY-V1..V4are extracted from both<entry key="…">and<property name="…">shapes, surfaced aserror.properties.longTextanderror.properties.t100.
Investigated
- Method-scope class URI does not exist server-side — ADT Eclipse fetches the full implementations include and slices client-side.
adt_get_source.onlyMethodis the practical equivalent.
Tests
54 new unit tests across test/source-guard.test.js, test/source-pagination.test.js, test/source-chunked.test.js, test/lifecycle-activate.test.js, test/lock.test.js, plus extensions to test/adt-error.test.js. Suite at 141/141.
Install: npm install claude-for-abap@0.5.4