Schedules are Operations: json schema
In the technical meeting today, we agreed that a Schedule
is a special class of Operation
and should therefore inherit from it. When testing this, I found that we should think more about the json schemas to avoid clutter - simply inheriting would add pulse_info
etc. to the Schedule
data.
I propose that the following should be the only keys required for all operations:
- name
- duration (can be None, but exists)
- hash
- is_valid method
As @AdriaanRol put it, an Operation is a box in a Schedule, I think the above captures that relatively well.
I don't see a good way to resolve this without adding a large MR, comments would be very welcome.
An easy out would be to simply add pulse_info
and co to the schema of Schedule
.
See https://gitlab.com/quantify-os/quantify-scheduler/-/commits/schedule-is-operation and the failing tests here https://gitlab.com/quantify-os/quantify-scheduler/-/pipelines/1150105906