Providers of tables to the LSP-facing database(s) and TAP service(s) need to be able to provide the input to the TAP_SCHEMA metadata required for successful service of these tables.
In the DM design this input is provided in Felis form.
Currently it's possible to validate that Felis files are syntactically correct, but not that they contain appropriate information for use as TAP_SCHEMA.
The task here is to provide a tool that reads Felis files and applies some rules to give feedback on the semantic validity and usefulness of the information provided, e.g.:
- Are table_index values present, non-zero, and unique within a schema?
- Have a subset of columns been designated as "principal"?
- Are the "description" fields non-empty?
The messages could be characterized by severity levels depending on whether they are purely cosmetic issues or ones likely to affect functionality.
Here's the first set of errors based on just the three checks listed above: https://github.com/lsst/sdm_schemas/actions/runs/3796505481/jobs/6456657330