We need a deterministic judge for a completed card trick. Implement winner selection so the lead suit, optional trump suit and tie rule are applied in the required order.
Build the implementation in Java under /app, with /app/run.sh as its entry point. Read one JSON request from standard input and write one JSON result to standard output. Input has trump null or S/H/D/C and a nonempty ordered cards list with unique player name, suit S/H/D/C and integer rank 1..13. Lead suit is the first card suit. If any trump card appears, highest trump wins; otherwise highest lead-suit card wins. Equal winning ranks favor earliest play. Return the player. This adjudicates supplied cards without validating a deck or hands. Reject invalid fields or duplicate players.
Reject inputs that violate an explicit validation rule with exit status 2, no standard output, and {"error":"invalid_input"} on standard error. For valid input, exit with status 0. Keep the implementation reusable for new inputs; it must work offline and must not depend on the example data being the only data it receives.
Repair or replace the unfinished /app/run.sh and add source files under /app. Malformed JSON must use the same invalid-input response. Do not read /tests or /oracle from the application.