6#include "reusex/core/stage_contract.hpp"
63 std::vector<ValidationIssue> &out);
67 std::vector<ValidationIssue> &out);
71 std::vector<ValidationIssue> &out);
76 std::vector<ValidationIssue> &out);
104 std::vector<ValidationIssue> &out,
ValidationReport validate_project(const ProjectDB &db)
Run every check and aggregate the findings.
ValidationReport validate_stage(const ProjectDB &db, PipelineStage stage, const ArtifactOverrides &overrides={})
Run check_stage_inputs for a single stage and aggregate the findings.
PipelineStage
Pipeline stages that have an input contract.
void check_orphaned_passports(const ProjectDB &db, std::vector< ValidationIssue > &out)
Material passports not referenced by any instance_materials link.
void check_stage_inputs(const ProjectDB &db, PipelineStage stage, std::vector< ValidationIssue > &out, const ArtifactOverrides &overrides={})
Assert that stage's input clouds/tables exist in db and are index-aligned, per the contract in core/s...
std::map< std::string, std::string, std::less<> > ArtifactOverrides
Runtime substitutions for artifact names, for the flags that let a stage be pointed at a differently-...
void check_sibling_cloud_sizes(const ProjectDB &db, std::vector< ValidationIssue > &out)
Parallel/sibling clouds (cloud, labels, normals, planes, rooms, instances) whose point counts disagre...
void check_dangling_instance_materials(const ProjectDB &db, std::vector< ValidationIssue > &out)
instance_materials rows whose instance row or passport is missing.
void error(fmt::format_string< Args... > format, Args &&...args)
ValidationSeverity
Severity of a single validation finding.
void check_instances_without_label_defs(const ProjectDB &db, std::vector< ValidationIssue > &out)
instances rows with no corresponding label_definitions entry.
One problem discovered by a validation check.
std::string message
Human-readable description.
std::vector< std::string > commands
The same resolution as hint, as an ordered list of commands rather than prose.
std::string check
Machine-readable check id (e.g. "orphaned_passport").
std::string artifact
The pipeline artifact this issue is about, when it is about one; empty otherwise.
ValidationSeverity severity
std::string hint
What the user should run to fix it, or empty when there is no mechanical resolution.
Aggregate result of running all validation checks over a project.
std::vector< ValidationIssue > issues
size_t warning_count() const
size_t error_count() const
bool ok() const
True when no error-severity issue was found.