The workspaces in this build do not all support the same toolchain versions. Implement the compatibility check so it chooses a version every workspace can use, or reports that there is no common choice.
Build the implementation in C++ 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 is a list of workspaces, each with a versions list of nonnegative integer toolchain IDs. Return the largest common ID, or null for no workspaces or no intersection. Duplicate IDs have no effect. Reject noninteger, boolean and negative IDs.
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.