Summary
JuLC's Java CEK VM (julc-vm-java) does not thread the protocol major version into evaluation. JavaVmProvider.setCostModelParams(...) receives protocolMajorVersion but uses it only to pick cost-model parameters (CostModelParser.parse) and then drops it — CekMachine has no protocol-version field. As a result the Java VM enforces no protocol-version–gated semantics and is more permissive than the chain (and than our Scalus backend). The user-visible risk is false-positive validation: a script the Java VM accepts/evaluates on a PV10 chain that the live node (and Scalus) would reject.
Summary
JuLC's Java CEK VM (julc-vm-java) does not thread the protocol major version into evaluation. JavaVmProvider.setCostModelParams(...) receives protocolMajorVersion but uses it only to pick cost-model parameters (CostModelParser.parse) and then drops it — CekMachine has no protocol-version field. As a result the Java VM enforces no protocol-version–gated semantics and is more permissive than the chain (and than our Scalus backend). The user-visible risk is false-positive validation: a script the Java VM accepts/evaluates on a PV10 chain that the live node (and Scalus) would reject.