Troubleshooting and local CLI handoff

Start with the task ID, resolved platforms/features, task status, server error message, and a checksum of the exact input and output artifacts. A FAILED or CANCELLED task is terminal; do not retry the original POST automatically. For 429, 502, 503, or 504 while polling, follow the bounded GET retry policy. For unknown states, malformed responses, or deadline expiry, fail closed and inspect the dashboard/build history.

If the protected artifact fails its smoke test, stop signing and publication. Reproduce locally with the exact original JAR, the same explicit targets, and the exact feature set before trying a minimized set. Do not treat native-unsafe plus native-llvm-direct-call as an invalid combination: both may be enabled together and the combination has been validated with the existing Java 8 workloads. That evidence is not exhaustive across every JVM, platform, or input, so verify that the selected methods are eligible and test target-native behavior on every requested platform.

When hosted service limits, data-handling requirements, or incident response require local control, hand off the exact input JAR, explicit feature/platform list, smoke command, and failure evidence to the local Nativify CLI workflow. Keep the same release invariant: smoke the original bytes, protect, smoke the protected bytes on every target, then sign and publish those exact protected bytes.

From a built repository checkout, start with this explicit local command and preserve it in the incident handoff. Add only the minimal required --enable list after reproducing the baseline:

bash
dist/bin/nativify -i exact-input.jar -o exact-output.jar --compile-for windows-x86_64