TaskValidator.Core.ValidationError (TaskValidator v0.9.3)

View Source

Represents a validation error with structured information.

This struct provides a consistent format for validation errors throughout the system, including error type, message, context, and location information.

Summary

Functions

Creates an error for duplicate task ID.

Formats the error for display.

Creates an error for incomplete error handling documentation.

Creates an error for invalid dependency reference.

Creates an error for invalid task ID format.

Creates an error for invalid priority value.

Creates an error for invalid status value.

Creates an error for missing error handling documentation.

Creates an error for missing reference definition.

Creates an error for missing review rating in completed subtask.

Creates an error for missing required section.

Creates an error for missing subtasks in "In Progress" task.

Creates a new validation error.

Types

error_type()

@type error_type() ::
  :invalid_id_format
  | :invalid_status
  | :invalid_priority
  | :missing_section
  | :missing_error_handling
  | :incomplete_error_handling
  | :missing_subtasks
  | :invalid_subtask_prefix
  | :missing_review_rating
  | :invalid_dependency
  | :kpi_violation
  | :invalid_category
  | :missing_category_section
  | :missing_completion_details
  | :missing_reference
  | :duplicate_task_id
  | :invalid_table_format
  | :unknown_error
  | :missing_required_section
  | :invalid_section_format
  | :missing_subtasks_for_in_progress
  | :invalid_subtask_id
  | :mixed_prefixes
  | :invalid_review_rating
  | :incomplete_completed_task

severity()

@type severity() :: :error | :warning | :critical

t()

@type t() :: %TaskValidator.Core.ValidationError{
  context: map(),
  line_number: non_neg_integer() | nil,
  message: String.t(),
  section: String.t() | nil,
  severity: severity(),
  task_id: String.t() | nil,
  type: error_type()
}

Functions

duplicate_task_id(task_id, opts \\ [])

@spec duplicate_task_id(
  String.t(),
  keyword()
) :: t()

Creates an error for duplicate task ID.

format(error)

@spec format(t()) :: String.t()

Formats the error for display.

incomplete_error_handling(task_id, missing_sections, opts \\ [])

@spec incomplete_error_handling(String.t(), [String.t()], keyword()) :: t()

Creates an error for incomplete error handling documentation.

invalid_dependency(task_id, dependency_id, opts \\ [])

@spec invalid_dependency(String.t(), String.t(), keyword()) :: t()

Creates an error for invalid dependency reference.

invalid_id_format(task_id, opts \\ [])

@spec invalid_id_format(
  String.t(),
  keyword()
) :: t()

Creates an error for invalid task ID format.

invalid_priority(task_id, priority, opts \\ [])

@spec invalid_priority(String.t(), String.t(), keyword()) :: t()

Creates an error for invalid priority value.

invalid_status(task_id, status, opts \\ [])

@spec invalid_status(String.t(), String.t(), keyword()) :: t()

Creates an error for invalid status value.

invalid_subtask_prefix(subtask_id, expected_prefix, actual_prefix, opts \\ [])

@spec invalid_subtask_prefix(String.t(), String.t(), String.t(), keyword()) :: t()

Creates an error for invalid subtask prefix.

kpi_violation(task_id, kpi_name, actual_value, max_value, opts \\ [])

@spec kpi_violation(String.t(), String.t(), any(), any(), keyword()) :: t()

Creates an error for KPI violation.

missing_error_handling(task_id, opts \\ [])

@spec missing_error_handling(
  String.t(),
  keyword()
) :: t()

Creates an error for missing error handling documentation.

missing_reference(reference_name, opts \\ [])

@spec missing_reference(
  String.t(),
  keyword()
) :: t()

Creates an error for missing reference definition.

missing_review_rating(task_id, opts \\ [])

@spec missing_review_rating(
  String.t(),
  keyword()
) :: t()

Creates an error for missing review rating in completed subtask.

missing_section(task_id, section_name, opts \\ [])

@spec missing_section(String.t(), String.t(), keyword()) :: t()

Creates an error for missing required section.

missing_subtasks(task_id, opts \\ [])

@spec missing_subtasks(
  String.t(),
  keyword()
) :: t()

Creates an error for missing subtasks in "In Progress" task.

new(type, message, opts \\ [])

@spec new(error_type(), String.t(), keyword()) :: t()

Creates a new validation error.