(no commit message)
This commit is contained in:
11
contracts/assumption_v1.py
Normal file
11
contracts/assumption_v1.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import List, Optional
|
||||
|
||||
class AssumptionV1(BaseModel):
|
||||
model_config = ConfigDict(extra='forbid', frozen=True, strict=True)
|
||||
assumption_id: str
|
||||
text: str
|
||||
level: int = Field(ge=1, le=3, description="1=observed,2=educated,3=strategic")
|
||||
confidence: float = Field(ge=0.0, le=1.0)
|
||||
evidence: List[str] = []
|
||||
validation_exp_id: Optional[str] = None
|
||||
7
contracts/innovation_layer_v1.py
Normal file
7
contracts/innovation_layer_v1.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
class InnovationLayerV1(BaseModel):
|
||||
model_config = ConfigDict(extra='forbid', frozen=True, strict=True)
|
||||
layer_id: str
|
||||
type: str
|
||||
trigger: str
|
||||
effect: str
|
||||
8
contracts/job_v1.py
Normal file
8
contracts/job_v1.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Dict, List
|
||||
|
||||
class JobV1(BaseModel):
|
||||
model_config = ConfigDict(extra='forbid', frozen=True, strict=True)
|
||||
job_id: str
|
||||
statement: str
|
||||
forces: Dict[str, List[str]] # push/pull/anxiety/inertia
|
||||
14
contracts/scorecard_v1.py
Normal file
14
contracts/scorecard_v1.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
from typing import List
|
||||
|
||||
class Criterion(BaseModel):
|
||||
name: str
|
||||
score: float = Field(ge=0, le=10)
|
||||
rationale: str
|
||||
|
||||
class ScorecardV1(BaseModel):
|
||||
model_config = ConfigDict(extra='forbid', frozen=True, strict=True)
|
||||
target_id: str
|
||||
scheme: str = "v1"
|
||||
criteria: List[Criterion]
|
||||
total: float = Field(ge=0, le=10)
|
||||
Reference in New Issue
Block a user