Use when one Java `ActionSet.newAction(...)` write path in this project still calls a shared `m_*_merge` upsert-like query, and you want to replace that single `actionId(queryId)` with a dedicated `update` query after tracing which DB-read values actually change. This skill is specific to the project's Java service plus SQL XML mapper flow and enforces a mandatory coverage gate before code edits.
Use this skill for one narrow legacy write refactor in this project:
actionId(queryId)ActionSet.newAction(...)update queryThe purpose is to remove wasteful "read row, copy row back, overwrite a few fields, call shared merge" behavior without changing shared callers.
Read references/pattern.md before editing anything.
m_*_merge query but only a few columns truly change.parms.update.ActionSet + ActionactionId(queryId).merge query unchanged.update query for the selected use case.actionId(queryId) and one use case.ActionSet.newAction(...) usagem_<entity>_<usecase>_update querySETWHERESET or stop and ask.NOW(), the new path must not lose that behavior.NOW() in the new path, usually from LocalDateTime.now().merge query to fit the new path.<!-- C# BO 원본: ActionManager.cs:4124-4126 m_delivery_merge (공유 upsert에서 분리) -->// C# BO 원본: ActionManager.cs:4124-4126 m_delivery_merge → m_delivery_partial_cancel_update로 분리Stop and ask the user if any of the following is true:
In the final response, include:
updateWHERE keys used