fabricatio_improve.models.problem

A class representing a problem-solution pair identified during a review process.

Classes

Problem

Represents a problem identified during review.

Solution

Represents a proposed solution to a problem.

ProblemSolutions

Represents a problem-solution pair identified during a review process.

Module Contents

class fabricatio_improve.models.problem.Problem(/, **data: Any)

Bases: fabricatio_core.models.generic.SketchedAble, fabricatio_core.models.generic.WithBriefing

Represents a problem identified during review.

description: str = None

The cause of the problem, including the root cause, the context, and the impact, make detailed enough for engineer to understand the problem and its impact.

severity_level: int = None

Severity level of the problem, which is a number between 0 and 10, 0 means the problem is not severe, 10 means the problem is extremely severe.

location: str

Location where the problem was identified.

class fabricatio_improve.models.problem.Solution(/, **data: Any)

Bases: fabricatio_core.models.generic.SketchedAble, fabricatio_core.models.generic.WithBriefing

Represents a proposed solution to a problem.

description: str = None

Description of the solution, including a detailed description of the execution steps, and the mechanics, principle or fact.

execute_steps: List[str]

A list of steps to execute to implement the solution, which is expected to be able to finally solve the corresponding problem, and which should be an Idiot-proof tutorial.

feasibility_level: int = None

Feasibility level of the solution, which is a number between 0 and 10, 0 means the solution is not feasible, 10 means the solution is complete feasible.

impact_level: int = None

Impact level of the solution, which is a number between 0 and 10, 0 means the solution is not impactful, 10 means the solution is extremely impactful.

class fabricatio_improve.models.problem.ProblemSolutions(/, **data: Any)

Bases: fabricatio_core.models.generic.SketchedAble

Represents a problem-solution pair identified during a review process.

problem: Problem

The problem identified in the review.

solutions: List[Solution]

A collection of potential solutions, spread the thought, add more solution as possible.Do not leave this as blank

model_post_init(context: Any, /) None

Initialize the problem-solution pair with a problem and a list of solutions.

update_from_inner(other: Self) Self

Update the current instance with another instance’s attributes.

update_problem(problem: Problem) Self

Update the problem description.

update_solutions(solutions: List[Solution]) Self

Update the list of potential solutions.

has_solutions() bool

Check if the problem-solution pair has any solutions.

async edit_problem() Self

Interactively edit the problem description.

async edit_solutions() Self

Interactively edit the list of potential solutions.

decided() bool

Check if the improvement is decided.

final_solution(always_use_first: bool = False) Solution | None

Get the final solution.