Repository navigation
[ML] Convert encodeIds flag in TreeEncoder to configuration property - #806
novatechflow merged 1 commit into
Conversation
|
@zkaoudi Needed your review here. |
|
Thanks, two issues:
Reproduced both with focused Java 17 checks. Always preserve user settings, fix shorthand resolution, and add regression tests covering plugin registration. |
ab207d3 to
43f2185
Compare
|
Thanks for the review @novatechflow ! Both issues are fixed and tested on Java 17:
|
|
The original issues are fixed and covered by regression tests, great progress! One edge remains: a job-level Reproduced on Java 17. Please add parent/child override tests. |
43f2185 to
f352aab
Compare
|
@novatechflow all your requirements have been added. A job-level |
|
Java 17 probes show the resolver confuses explicit settings with cached inherited values:
The value-comparison heuristic needs reliable tracking of explicit versus cached properties. |
f352aab to
b561752
Compare
|
@novatechflow Replaced the value-comparison heuristic with explicit property tracking in
|
|
Great progress - you picked a really tricky one, btw. One remaining part: plugin registration ignores explicit settings on Reproduce with Java 17: set the global model path to When reading the code I think the hierarchy scan stops before checking the global configuration. It should include that level’s explicit properties and add a regression test. Thoughts? |
b561752 to
41baf3b
Compare
|
Spot on and thanks for catching that! The loop stopped right before inspecting
|
novatechflow
left a comment
There was a problem hiding this comment.
Java 17 checks pass: five provider tests, four new global-setting regressions, and the previous override/cache probes. Global model paths are preserved, and child overrides still work.
Thanks @AliRana30 for your contribution!
Summary of Changes
final boolean encodeIds = false;inTreeEncoderwithwayang.ml.encoding.encode-ids(defaulting tofalse, with shorthandwayang.ml.encode-idssupported).TreeEncoder(mappings, configuration)constructor, getter/setter for configuration, and overloadedencodemethods that resolveencodeIdsfromOptimizationContextor local configuration.wayang-ml-defaults.propertiesinMachineLearning.plugin().setProperties(Configuration)and declaredwayang.ml.encoding.encode-ids = false.TreeEncoderTestverifying default behavior, enabled ID encoding via configuration, and plugin properties loading.Closes #776.