feat: add fixed submission-blocked Alpha tab
Deploy production / deploy (push) Successful in 53s

This commit is contained in:
yuxuanhui
2026-09-12 23:22:59 +08:00
parent 7547dbc565
commit bbf0e37130
11 changed files with 201 additions and 6 deletions
+6
View File
@@ -35,6 +35,7 @@ def snapshot_columns(settings, metrics, checks, *, checked=False):
"""
settings = settings if isinstance(settings, dict) else {}
metrics = metrics if isinstance(metrics, dict) else {}
blocked = submission_limits(checks)["status"] == "blocked"
checks, _ = split_checks(checks)
valid = [check for check in checks if isinstance(check, dict)]
failures = len(failed_checks(checks))
@@ -52,6 +53,7 @@ def snapshot_columns(settings, metrics, checks, *, checked=False):
neutralization = settings.get("neutralization")
return {
"check_type": check_type,
"submission_blocked": blocked,
"neutralization": neutralization if isinstance(neutralization, str) else None,
"pnl": number(metrics.get("pnl")),
"prod_correlation": prod_correlation,
@@ -189,6 +191,10 @@ def list_statement(filters):
query = select(Alpha, Research).join(Research, Research.alpha_id == Alpha.id)
if filters.submission:
query = query.where(submission_condition(filters.submission))
if filters.submission_blocked is not None:
query = query.where(Alpha.submission_blocked == filters.submission_blocked)
if filters.submission_blocked:
query = query.where(submission_condition("UNSUBMITTED"))
source_filters = {k: getattr(filters, k) for k in ("source", "source_reference", "research_id", "backtest_run_id")}
if any(source_filters.values()):
query = query.where(Alpha.id.in_(source_alpha_ids(**source_filters)))
+1
View File
@@ -87,6 +87,7 @@ class Alpha(Base):
pnl: Mapped[float | None] = mapped_column(Float)
neutralization: Mapped[str | None] = mapped_column(Text)
check_type: Mapped[str] = mapped_column(String(20), default="PENDING", server_default="PENDING", index=True)
submission_blocked: Mapped[bool] = mapped_column(Boolean, default=False, server_default=false(), index=True)
date_created: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), index=True)
date_submitted: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
synced_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=now)
+1
View File
@@ -69,6 +69,7 @@ class PreferencesInput(Contract):
class AlphaFilters(Contract):
submission_blocked: bool | None = None
submission: Submission | None = None
source: str | None = Field(default=None, max_length=100)
source_reference: str | None = Field(default=None, max_length=200)