fix: use categorical regime fundamentals
This commit is contained in:
+12
-5
@@ -1,7 +1,9 @@
|
||||
"""Market-level endpoints (benchmark regime + AI/Tech regime-change monitor)."""
|
||||
|
||||
from typing import Literal
|
||||
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.dependencies import get_db, require_access, require_admin
|
||||
@@ -55,8 +57,10 @@ class RegimeConfigUpdate(BaseModel):
|
||||
|
||||
|
||||
class RegimeFundamentalsUpdate(BaseModel):
|
||||
f1_score: float | None = None
|
||||
f3_score: float | None = None
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
capex: dict[str, Literal["raising", "holding", "cutting", "unknown"]] | None = None
|
||||
good_news_stock_down: Literal["yes", "no", "mixed"] | None = None
|
||||
locked: bool | None = None
|
||||
|
||||
|
||||
@@ -108,9 +112,12 @@ async def update_regime_fundamentals(
|
||||
_admin: User = Depends(require_admin),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
) -> APIEnvelope:
|
||||
"""Manually override F1/F3 (locks out the LLM refresh until unlocked)."""
|
||||
"""Manually override categorical F1/F3 observations."""
|
||||
data = await regime_monitor_service.set_fundamental_overrides(
|
||||
db, f1_score=body.f1_score, f3_score=body.f3_score, locked=body.locked
|
||||
db,
|
||||
capex=body.capex,
|
||||
good_news_stock_down=body.good_news_stock_down,
|
||||
locked=body.locked,
|
||||
)
|
||||
return APIEnvelope(status="success", data=data)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user