(no commit message)

This commit is contained in:
2025-10-19 14:16:34 -05:00
parent d33cef379c
commit c1847586be
13 changed files with 884 additions and 1 deletions

View 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

View 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
View 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
View 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)