plaans / aries

Toolbox for automated planning and combinatorial solving.
MIT License
39 stars 5 forks source link

Validator #85

Closed Shi-Raida closed 1 year ago

Shi-Raida commented 1 year ago

The failed test is due to an error in unified planning problems. I created a pull request to fix it if you can check it.

The validator is not complete yet, I have to check the constraints in the initial task network. Moreover, some constraints are not supported for the moment such as the valid domain of a variable, e.g., (up:or (up:equals final_loc l1) (up:equals final_loc l2))

arbimo commented 1 year ago

The upstream PR was merged. I updated the submodule and it now works. I corrected a bug in the implementation: the protobuf schema should be allowed to evolve in a backward compatible way (addition of fields or enum values). This caused a crash after the update as a feature was added upstream.

As a result of the upstream change, not all problems are supported anymore by the validator. I have added support for bulk-testing the correctness of UP problems here: https://github.com/aiplan4eu/planning-test-cases/pull/11 It notably shows how to check the compatibility of an engine with a problem/plan, for selecting the relevant problems. aries-val passed all tests. At some point we should probably rely on this repository for running our integration tests directly in a python script.

Appart from these problems, it looks good to me. I have not deeply checked the implementation details of the validator itself as it is completely independent from the rest of the code.

arbimo commented 1 year ago

Also, it is fine if the validator does not support everything as long as it does not claim to. Its supported features can be extended later on.