fabricatio_rule.capabilities.check

A class that provides the capability to check strings and objects against rules and guidelines.

Classes

Check

Class for validating strings/objects against predefined rules and guidelines.

Module Contents

class fabricatio_rule.capabilities.check.Check(/, **data: Any)

Bases: fabricatio_judge.capabilities.advanced_judge.EvidentlyJudge, fabricatio_core.capabilities.propose.Propose, abc.ABC

Class for validating strings/objects against predefined rules and guidelines.

This capability combines rule-based judgment and proposal generation to provide structured validation results with actionable improvement suggestions.

async draft_ruleset(ruleset_requirement: str, rule_count: int = 0, **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_rule.models.rule.Rule]]) fabricatio_rule.models.rule.RuleSet | None

Generate rule set based on requirement description.

Parameters:
  • ruleset_requirement (str) – Natural language description of desired ruleset characteristics

  • rule_count (int) – Number of rules to generate (0 for default count)

  • **kwargs – Validation parameters for rule generation

Returns:

Validated ruleset object or None if generation fails

Return type:

Optional[RuleSet]

Notes

  • Requires valid template configuration in configs.templates

  • Returns None if any step in rule generation fails

  • Uses alist_str for requirement breakdown and iterative rule proposal

async check_string_against_rule(input_text: str, rule: fabricatio_rule.models.rule.Rule, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) fabricatio_improve.models.improve.Improvement | None

Validate text against specific rule.

Parameters:
  • input_text (str) – Text content to validate

  • rule (Rule) – Rule instance for validation

  • reference (str) – Reference text for comparison (default: “”)

  • **kwargs – Configuration for validation process

Returns:

Suggested improvement if violation detected

Return type:

Optional[Improvement]

Notes

  • Uses evidently_judge to determine violation presence

  • Renders template using check_string_template for proposal

  • Proposes Improvement only when violation is confirmed

async check_obj_against_rule[M: (fabricatio_core.models.generic.Display, fabricatio_core.models.generic.WithBriefing)](obj: M, rule: fabricatio_rule.models.rule.Rule, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) fabricatio_improve.models.improve.Improvement | None

Validate object against rule using text representation.

Parameters:
  • obj (M) – Object implementing Display/WithBriefing interface

  • rule (Rule) – Validation rule

  • reference (str) – Reference text for comparison (default: “”)

  • **kwargs – Validation configuration parameters

Returns:

Improvement suggestion if issues found

Return type:

Optional[Improvement]

Notes

  • Requires obj to implement display() or briefing property

  • Raises TypeError for incompatible object types

  • Converts object to text before string validation

async check_string(input_text: str, ruleset: fabricatio_rule.models.rule.RuleSet, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) List[fabricatio_improve.models.improve.Improvement] | None

Validate text against full ruleset.

Parameters:
  • input_text (str) – Text content to validate

  • ruleset (RuleSet) – Collection of validation rules

  • reference (str) – Reference text for comparison

  • **kwargs – Validation configuration parameters

Returns:

First detected improvement

Return type:

Optional[Improvement]

Notes

  • Checks rules sequentially and returns first violation

  • Halts validation after first successful improvement proposal

  • Maintains rule execution order from ruleset.rules list

async check_obj[M: (fabricatio_core.models.generic.Display, fabricatio_core.models.generic.WithBriefing)](obj: M, ruleset: fabricatio_rule.models.rule.RuleSet, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) List[fabricatio_improve.models.improve.Improvement] | None

Validate object against full ruleset.

Parameters:
  • obj (M) – Object implementing Display/WithBriefing interface

  • ruleset (RuleSet) – Collection of validation rules

  • reference (str) – Reference text for comparison (default: “”)

  • **kwargs – Validation configuration parameters

Returns:

First detected improvement

Return type:

Optional[Improvement]

Notes

  • Uses check_obj_against_rule for individual rule checks

  • Maintains same early termination behavior as check_string

  • Validates object through text conversion mechanism