Jessica.ai / models.py
M0SSHEAD's picture
security patches
ee28c01
# Copyright (c) 2026 Zoro - Legal Auditor RL Project
from openenv.core.env_server.http_server import Action, Observation
from pydantic import Field
from typing import Optional
class LegalAuditorAction(Action):
"""
Actions the AI takes while auditing a contract.
0 = Safe (No Risk), 1 = Risk Detected (Flag).
"""
action: int = Field(..., ge=0, le=1, description="0 for Safe, 1 for High Risk Flag")
rationale: Optional[str] = Field(None, description="The deductive reasoning behind the classification")
class LegalAuditorObservation(Observation):
"""
Synchronized with LegalAuditorEnvironment.step() output.
Includes dual-grading metrics for both accuracy and confidence.
"""
clause_text: str = Field(..., description="The specific legal clause text currently under review")
clause_index: int = Field(..., description="The sequential index of the current clause")
# Dual-Grading Metrics (Must be in 0.0 - 1.0 range for validator)
agent_reliability: float = Field(..., ge=0.05, le=0.95, description="Normalized Accuracy (Oracle Grade)")
ai_analysis_grade: float = Field(..., ge=0.05, le=0.95, description="Normalized Confidence (Subjective AI Grade)")
is_risk_detected: bool = Field(default=False, description="Whether a risk was detected in this state")