class_docstr: Runs query validation rules after query resolution is complete.
class_docstr_tok: ["Runs","query","validation","rules","after","query","resolution","is","complete","."]
code: def __init__(
      self, manifest_lookup: SemanticManifestLookup
  ) -> None:  # noqa: D
      self._manifest_lookup = manifest_lookup
      self._validation_rules = (
          MetricTimeQueryValidationRule(self._manifest_lookup),
          DuplicateMetricValidationRule(self._manifest_lookup),
      )
  
imports: from __future__ import annotations
  from typing import Sequence
  from typing_extensions import override
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.query.group_by_item.candidate_push_down.push_down_visitor import DagTraversalPathTracker
  from metricflow.query.group_by_item.resolution_dag.dag import GroupByItemResolutionDag
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.base_node import GroupByItemResolutionNode, GroupByItemResolutionNodeVisitor
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.measure_source_node import MeasureGroupByItemSourceNode
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.metric_resolution_node import MetricGroupByItemResolutionNode
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.no_metrics_query_source_node import NoMetricsGroupByItemSourceNode
  from metricflow.query.group_by_item.resolution_dag.resolution_nodes.query_resolution_node import QueryGroupByItemResolutionNode
  from metricflow.query.issues.issues_base import MetricFlowQueryResolutionIssueSet
  from metricflow.query.resolver_inputs.query_resolver_inputs import ResolverInputForQuery
  from metricflow.query.validation_rules.base_validation_rule import PostResolutionQueryValidationRule
  from metricflow.query.validation_rules.duplicate_metric import DuplicateMetricValidationRule
  from metricflow.query.validation_rules.metric_time_requirements import MetricTimeQueryValidationRule
label_desc: Use image node_id 1 to create a new PostResolutionQueryValidator object  with example: obj = PostResolutionQueryValidator(manifest_lookup)