chore(spec): deprecate redundant schema-model generation layer
schemas/generated/(174) + src/quant_engine/models/generated/(347) duplicated the existing runtime/python/core/formulas/generated/ formula-stub system with a generic metadata wrapper carrying no real computation, validated only by a file-count gate (validate_schema_model_generation_v1.py). Remove the generator scripts, generated files, and CI/DAG wiring; keep schemas/generated/gas_adapter_contract.schema.json, which serves an unrelated GAS-adapter contract check. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,121 +0,0 @@
|
||||
"""generate_models_from_schema.py — schema model generation
|
||||
|
||||
Mirrors schemas/generated/*.schema.json into src/quant_engine/models/generated
|
||||
as lightweight Python model descriptors.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
SCHEMA_DIR = ROOT / "schemas" / "generated"
|
||||
OUT_DIR = ROOT / "src" / "quant_engine" / "models" / "generated"
|
||||
|
||||
|
||||
def load_json(path: Path) -> dict[str, Any]:
|
||||
try:
|
||||
obj = json.loads(path.read_text(encoding="utf-8"))
|
||||
except Exception:
|
||||
return {}
|
||||
return obj if isinstance(obj, dict) else {}
|
||||
|
||||
|
||||
def to_module_name(path: Path) -> str:
|
||||
return path.stem.replace(".", "_").lower()
|
||||
|
||||
|
||||
def render_module(schema_path: Path, schema: dict[str, Any]) -> str:
|
||||
title = str(schema.get("title") or schema_path.stem)
|
||||
schema_id = str(schema.get("$id") or f"schema://{title}")
|
||||
schema_rel_path = str(schema_path.relative_to(ROOT)).replace("\\", "/")
|
||||
props = schema.get("properties") if isinstance(schema.get("properties"), dict) else {}
|
||||
required = schema.get("required") if isinstance(schema.get("required"), list) else []
|
||||
prop_names = list(props.keys())
|
||||
return (
|
||||
'"""Auto-generated schema model descriptor."""\n'
|
||||
"from __future__ import annotations\n\n"
|
||||
"from dataclasses import dataclass\n"
|
||||
"import json\n"
|
||||
"from pathlib import Path\n"
|
||||
"from typing import Any\n\n"
|
||||
f"SCHEMA_TITLE = {title!r}\n"
|
||||
f"SCHEMA_ID = {schema_id!r}\n"
|
||||
f"SCHEMA_PATH = {schema_rel_path!r}\n"
|
||||
f"SCHEMA_PROPERTIES = {prop_names!r}\n"
|
||||
f"SCHEMA_REQUIRED = {required!r}\n\n"
|
||||
"@dataclass(frozen=True)\n"
|
||||
"class SchemaModel:\n"
|
||||
" title: str\n"
|
||||
" schema_id: str\n"
|
||||
" path: str\n"
|
||||
" properties: list[str]\n"
|
||||
" required: list[str]\n\n"
|
||||
"def load_schema() -> dict[str, Any]:\n"
|
||||
" return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))\n\n"
|
||||
"def describe() -> SchemaModel:\n"
|
||||
" return SchemaModel(\n"
|
||||
" title=SCHEMA_TITLE,\n"
|
||||
" schema_id=SCHEMA_ID,\n"
|
||||
" path=SCHEMA_PATH,\n"
|
||||
" properties=list(SCHEMA_PROPERTIES),\n"
|
||||
" required=list(SCHEMA_REQUIRED),\n"
|
||||
" )\n"
|
||||
)
|
||||
|
||||
|
||||
def write_text(path: Path, text: str) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
path.write_text(text, encoding="utf-8")
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--schemas", default=str(SCHEMA_DIR))
|
||||
parser.add_argument("--out", default=str(OUT_DIR))
|
||||
parser.add_argument("--report", default=str(ROOT / "Temp" / "schema_model_generation_v1.json"))
|
||||
args = parser.parse_args()
|
||||
|
||||
schema_dir = Path(args.schemas)
|
||||
out_dir = Path(args.out)
|
||||
|
||||
schema_files = sorted(schema_dir.glob("*.schema.json"))
|
||||
modules = []
|
||||
for schema_file in schema_files:
|
||||
schema = load_json(schema_file)
|
||||
module_name = to_module_name(schema_file)
|
||||
modules.append(module_name)
|
||||
write_text(out_dir / f"{module_name}.py", render_module(schema_file, schema))
|
||||
write_text(out_dir / f"{module_name}.schema.json", json.dumps(schema, ensure_ascii=False, indent=2) + "\n")
|
||||
|
||||
write_text(out_dir / "__init__.py", '"""Auto-generated schema model package."""\n')
|
||||
write_text(
|
||||
out_dir.parent / "__init__.py",
|
||||
'"""Auto-generated quant_engine.models package."""\n',
|
||||
)
|
||||
write_text(
|
||||
out_dir.parent.parent / "__init__.py",
|
||||
'"""Canonical quant_engine package."""\n',
|
||||
)
|
||||
write_text(
|
||||
out_dir.parent.parent.parent / "__init__.py",
|
||||
'"""Canonical src package."""\n',
|
||||
)
|
||||
|
||||
report = {
|
||||
"status": "OK",
|
||||
"schema_count": len(schema_files),
|
||||
"generated_module_count": len(modules),
|
||||
"package_root": "src/quant_engine/models/generated",
|
||||
"report_path": str(Path(args.report).relative_to(ROOT)),
|
||||
}
|
||||
write_text(Path(args.report), json.dumps(report, ensure_ascii=False, indent=2) + "\n")
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -1 +0,0 @@
|
||||
"""Auto-generated schema model package."""
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ABSOLUTE_RISK_STOP_V1'
|
||||
SCHEMA_ID = 'schema://formula/ABSOLUTE_RISK_STOP_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/absolute_risk_stop_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ABSOLUTE_RISK_STOP_V1",
|
||||
"title": "ABSOLUTE_RISK_STOP_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ABSOLUTE_RISK_STOP_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"holdings",
|
||||
"df_map"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ALGORITHM_GUIDANCE_PROOF_V1'
|
||||
SCHEMA_ID = 'schema://formula/ALGORITHM_GUIDANCE_PROOF_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/algorithm_guidance_proof_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ALGORITHM_GUIDANCE_PROOF_V1",
|
||||
"title": "ALGORITHM_GUIDANCE_PROOF_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ALGORITHM_GUIDANCE_PROOF_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ALPHA_EVALUATION_WINDOW_V1'
|
||||
SCHEMA_ID = 'schema://formula/ALPHA_EVALUATION_WINDOW_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/alpha_evaluation_window_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ALPHA_EVALUATION_WINDOW_V1",
|
||||
"title": "ALPHA_EVALUATION_WINDOW_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ALPHA_EVALUATION_WINDOW_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"entry_date",
|
||||
"position_class",
|
||||
"t20_return_pct",
|
||||
"t60_return_pct",
|
||||
"benchmark_core_return_pct"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ALPHA_FEEDBACK_LOOP_V1'
|
||||
SCHEMA_ID = 'schema://formula/ALPHA_FEEDBACK_LOOP_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/alpha_feedback_loop_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,53 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ALPHA_FEEDBACK_LOOP_V1",
|
||||
"title": "ALPHA_FEEDBACK_LOOP_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ALPHA_FEEDBACK_LOOP_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"alpha_evaluation_window_json",
|
||||
"saqg_v1",
|
||||
"brt_verdict",
|
||||
"market_regime"
|
||||
],
|
||||
"x_formula_outputs": [
|
||||
{
|
||||
"field": "alpha_feedback_json",
|
||||
"subfields": [
|
||||
"eligible_t20_fail_rate",
|
||||
"eligible_t60_fail_rate",
|
||||
"recommended_filter_adjustments",
|
||||
"cases_analyzed"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ANTI_CHASE_V1'
|
||||
SCHEMA_ID = 'schema://formula/ANTI_CHASE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/anti_chase_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ANTI_CHASE_V1",
|
||||
"title": "ANTI_CHASE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ANTI_CHASE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ANTI_CHASING_VELOCITY_V1'
|
||||
SCHEMA_ID = 'schema://formula/ANTI_CHASING_VELOCITY_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/anti_chasing_velocity_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ANTI_CHASING_VELOCITY_V1",
|
||||
"title": "ANTI_CHASING_VELOCITY_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ANTI_CHASING_VELOCITY_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"close",
|
||||
"close_1d_ago",
|
||||
"close_5d_ago",
|
||||
"market_regime"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ANTI_LATE_ENTRY_GATE_V2'
|
||||
SCHEMA_ID = 'schema://formula/ANTI_LATE_ENTRY_GATE_V2'
|
||||
SCHEMA_PATH = 'schemas/generated/anti_late_entry_gate_v2.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ANTI_LATE_ENTRY_GATE_V2",
|
||||
"title": "ANTI_LATE_ENTRY_GATE_V2",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ANTI_LATE_ENTRY_GATE_V2"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ANTI_WHIPSAW_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/ANTI_WHIPSAW_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/anti_whipsaw_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ANTI_WHIPSAW_GATE_V1",
|
||||
"title": "ANTI_WHIPSAW_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ANTI_WHIPSAW_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"close_price",
|
||||
"ma20",
|
||||
"rsi14"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'ARTIFACT_FRESHNESS_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/ARTIFACT_FRESHNESS_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/artifact_freshness_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/ARTIFACT_FRESHNESS_GATE_V1",
|
||||
"title": "ARTIFACT_FRESHNESS_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "ARTIFACT_FRESHNESS_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'AUDIT_REPLAY_SNAPSHOT_V1'
|
||||
SCHEMA_ID = 'schema://formula/AUDIT_REPLAY_SNAPSHOT_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/audit_replay_snapshot_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/AUDIT_REPLAY_SNAPSHOT_V1",
|
||||
"title": "AUDIT_REPLAY_SNAPSHOT_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "AUDIT_REPLAY_SNAPSHOT_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'BENCHMARK_RELATIVE_TIMESERIES_V1'
|
||||
SCHEMA_ID = 'schema://formula/BENCHMARK_RELATIVE_TIMESERIES_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/benchmark_relative_timeseries_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/BENCHMARK_RELATIVE_TIMESERIES_V1",
|
||||
"title": "BENCHMARK_RELATIVE_TIMESERIES_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "BENCHMARK_RELATIVE_TIMESERIES_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"price.ret5D",
|
||||
"price.ret20D",
|
||||
"price.ret60D",
|
||||
"price.close",
|
||||
"high52w",
|
||||
"globalKospiRet5D_",
|
||||
"globalKospiRet20D_",
|
||||
"globalKospiRet60D_",
|
||||
"globalKospiDrawdown_"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'BLANK_CELL_AUDIT_V1'
|
||||
SCHEMA_ID = 'schema://formula/BLANK_CELL_AUDIT_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/blank_cell_audit_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/BLANK_CELL_AUDIT_V1",
|
||||
"title": "BLANK_CELL_AUDIT_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "BLANK_CELL_AUDIT_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"operational_report_json"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'BREAKEVEN_RATCHET_V1'
|
||||
SCHEMA_ID = 'schema://formula/BREAKEVEN_RATCHET_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/breakeven_ratchet_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/BREAKEVEN_RATCHET_V1",
|
||||
"title": "BREAKEVEN_RATCHET_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "BREAKEVEN_RATCHET_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"average_cost",
|
||||
"highest_price_since_entry"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'BREAKOUT_FAILURE_STOP_V1'
|
||||
SCHEMA_ID = 'schema://formula/BREAKOUT_FAILURE_STOP_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/breakout_failure_stop_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/BREAKOUT_FAILURE_STOP_V1",
|
||||
"title": "BREAKOUT_FAILURE_STOP_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "BREAKOUT_FAILURE_STOP_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"prior_high",
|
||||
"close_price",
|
||||
"days_since_breakout"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'BREAKOUT_QUALITY_GATE_V2'
|
||||
SCHEMA_ID = 'schema://formula/BREAKOUT_QUALITY_GATE_V2'
|
||||
SCHEMA_PATH = 'schemas/generated/breakout_quality_gate_v2.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/BREAKOUT_QUALITY_GATE_V2",
|
||||
"title": "BREAKOUT_QUALITY_GATE_V2",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "BREAKOUT_QUALITY_GATE_V2"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"close",
|
||||
"ma20",
|
||||
"ret_3d",
|
||||
"ret_1d",
|
||||
"disparity",
|
||||
"rsi14",
|
||||
"volume",
|
||||
"avg_volume_5d",
|
||||
"timing_score_exit",
|
||||
"distribution_risk_score",
|
||||
"late_chase_risk_score"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CANONICAL_ARTIFACT_RESOLVER_V1'
|
||||
SCHEMA_ID = 'schema://formula/CANONICAL_ARTIFACT_RESOLVER_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/canonical_artifact_resolver_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CANONICAL_ARTIFACT_RESOLVER_V1",
|
||||
"title": "CANONICAL_ARTIFACT_RESOLVER_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CANONICAL_ARTIFACT_RESOLVER_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CANONICAL_METRICS_V1'
|
||||
SCHEMA_ID = 'schema://formula/CANONICAL_METRICS_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/canonical_metrics_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CANONICAL_METRICS_V1",
|
||||
"title": "CANONICAL_METRICS_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CANONICAL_METRICS_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CAPITAL_STYLE_ALLOCATION_V1'
|
||||
SCHEMA_ID = 'schema://formula/CAPITAL_STYLE_ALLOCATION_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/capital_style_allocation_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CAPITAL_STYLE_ALLOCATION_V1",
|
||||
"title": "CAPITAL_STYLE_ALLOCATION_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CAPITAL_STYLE_ALLOCATION_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"smart_money_flow_signal_v2_json",
|
||||
"fundamental_multifactor_v3_json",
|
||||
"macro_event_ticker_impact_v1_json",
|
||||
"liquidity_flow_signal_v1_json"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_CREATION_PURPOSE_LOCK_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASH_CREATION_PURPOSE_LOCK_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_creation_purpose_lock_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_CREATION_PURPOSE_LOCK_V1",
|
||||
"title": "CASH_CREATION_PURPOSE_LOCK_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_CREATION_PURPOSE_LOCK_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"composite_verdict",
|
||||
"rs_verdict",
|
||||
"brt_verdict",
|
||||
"excess_drawdown_pctp",
|
||||
"recovery_ratio_20d",
|
||||
"sfg_v1"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_FLOOR_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASH_FLOOR_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_floor_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_FLOOR_V1",
|
||||
"title": "CASH_FLOOR_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_FLOOR_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"total_asset",
|
||||
"settlement_cash_d2_krw",
|
||||
"market_risk_score"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RAISE_PARETO_EXECUTOR_V2'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RAISE_PARETO_EXECUTOR_V2'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_raise_pareto_executor_v2.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RAISE_PARETO_EXECUTOR_V2",
|
||||
"title": "CASH_RAISE_PARETO_EXECUTOR_V2",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RAISE_PARETO_EXECUTOR_V2"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RAISE_VALUE_OPTIMIZER_V3'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RAISE_VALUE_OPTIMIZER_V3'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_raise_value_optimizer_v3.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RAISE_VALUE_OPTIMIZER_V3",
|
||||
"title": "CASH_RAISE_VALUE_OPTIMIZER_V3",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RAISE_VALUE_OPTIMIZER_V3"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RATIOS_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RATIOS_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_ratios_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RATIOS_V1",
|
||||
"title": "CASH_RATIOS_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RATIOS_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"settlement_cash",
|
||||
"reserved_order_amount",
|
||||
"planned_buy_amount",
|
||||
"sell_cash_proceeds_d2",
|
||||
"total_asset"
|
||||
],
|
||||
"x_formula_outputs": {
|
||||
"settlement_cash_ratio": "settlement_cash / total_asset * 100",
|
||||
"total_cash_ratio": "settlement_cash / total_asset * 100",
|
||||
"buy_power_cash": "settlement_cash - reserved_order_amount",
|
||||
"buy_power_ratio": "(settlement_cash - reserved_order_amount) / total_asset * 100",
|
||||
"post_trade_total_cash_ratio": "(settlement_cash - planned_buy_amount + sell_cash_proceeds_d2) / total_asset * 100"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RECOVERY_OPTIMIZER_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RECOVERY_OPTIMIZER_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_recovery_optimizer_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RECOVERY_OPTIMIZER_V1",
|
||||
"title": "CASH_RECOVERY_OPTIMIZER_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RECOVERY_OPTIMIZER_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"cash_shortfall_target_krw",
|
||||
"cash_shortfall_min_krw",
|
||||
"sell_candidates_json",
|
||||
"immediate_sell_qty",
|
||||
"sell_limit_price",
|
||||
"holding_qty"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RECOVERY_OPTIMIZER_V4'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RECOVERY_OPTIMIZER_V4'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_recovery_optimizer_v4.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RECOVERY_OPTIMIZER_V4",
|
||||
"title": "CASH_RECOVERY_OPTIMIZER_V4",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RECOVERY_OPTIMIZER_V4"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASH_RECOVERY_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASH_RECOVERY_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cash_recovery_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASH_RECOVERY_V1",
|
||||
"title": "CASH_RECOVERY_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASH_RECOVERY_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASHFLOW_QUALITY_SIGNAL_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASHFLOW_QUALITY_SIGNAL_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cashflow_quality_signal_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASHFLOW_QUALITY_SIGNAL_V1",
|
||||
"title": "CASHFLOW_QUALITY_SIGNAL_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASHFLOW_QUALITY_SIGNAL_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CASHFLOW_STABILITY_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/CASHFLOW_STABILITY_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cashflow_stability_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CASHFLOW_STABILITY_GATE_V1",
|
||||
"title": "CASHFLOW_STABILITY_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CASHFLOW_STABILITY_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"operating_cf_krw",
|
||||
"free_cf_krw",
|
||||
"accrual_ratio_pct"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CLA_REGIME_EXIT_CONDITION_V1'
|
||||
SCHEMA_ID = 'schema://formula/CLA_REGIME_EXIT_CONDITION_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cla_regime_exit_condition_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CLA_REGIME_EXIT_CONDITION_V1",
|
||||
"title": "CLA_REGIME_EXIT_CONDITION_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CLA_REGIME_EXIT_CONDITION_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"ticker",
|
||||
"rs_verdict",
|
||||
"brt_verdict",
|
||||
"frg_5d_sh",
|
||||
"volume",
|
||||
"avg_volume_5d",
|
||||
"market_regime"
|
||||
],
|
||||
"x_formula_outputs": [
|
||||
{
|
||||
"field": "cla_exit_status",
|
||||
"unit": "enum [CLA_ACTIVE,CLA_EXIT_WARNING,CLA_EXIT_CONFIRMED]"
|
||||
},
|
||||
{
|
||||
"field": "cla_exit_signals_triggered",
|
||||
"unit": "list"
|
||||
},
|
||||
{
|
||||
"field": "cla_exit_total_weight",
|
||||
"unit": "int"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'COMPLETION_GAP_V1'
|
||||
SCHEMA_ID = 'schema://formula/COMPLETION_GAP_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/completion_gap_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/COMPLETION_GAP_V1",
|
||||
"title": "COMPLETION_GAP_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "COMPLETION_GAP_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'COMPOSITE_VERDICT_V1'
|
||||
SCHEMA_ID = 'schema://formula/COMPOSITE_VERDICT_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/composite_verdict_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/COMPOSITE_VERDICT_V1",
|
||||
"title": "COMPOSITE_VERDICT_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "COMPOSITE_VERDICT_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"ss001_grade",
|
||||
"rs_verdict"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'COMPREHENSIVE_PROPOSAL_V1'
|
||||
SCHEMA_ID = 'schema://formula/COMPREHENSIVE_PROPOSAL_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/comprehensive_proposal_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/COMPREHENSIVE_PROPOSAL_V1",
|
||||
"title": "COMPREHENSIVE_PROPOSAL_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "COMPREHENSIVE_PROPOSAL_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CONSECUTIVE_STREAK_V1'
|
||||
SCHEMA_ID = 'schema://formula/CONSECUTIVE_STREAK_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/consecutive_streak_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CONSECUTIVE_STREAK_V1",
|
||||
"title": "CONSECUTIVE_STREAK_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CONSECUTIVE_STREAK_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"daily_close_changes"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CONTINUOUS_EVALUATION_DASHBOARD_V1'
|
||||
SCHEMA_ID = 'schema://formula/CONTINUOUS_EVALUATION_DASHBOARD_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/continuous_evaluation_dashboard_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CONTINUOUS_EVALUATION_DASHBOARD_V1",
|
||||
"title": "CONTINUOUS_EVALUATION_DASHBOARD_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CONTINUOUS_EVALUATION_DASHBOARD_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'CROSS_SECTION_CONSISTENCY_V1'
|
||||
SCHEMA_ID = 'schema://formula/CROSS_SECTION_CONSISTENCY_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/cross_section_consistency_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/CROSS_SECTION_CONSISTENCY_V1",
|
||||
"title": "CROSS_SECTION_CONSISTENCY_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "CROSS_SECTION_CONSISTENCY_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_INTEGRITY_100_LOCK_V1'
|
||||
SCHEMA_ID = 'schema://formula/DATA_INTEGRITY_100_LOCK_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/data_integrity_100_lock_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_INTEGRITY_100_LOCK_V1",
|
||||
"title": "DATA_INTEGRITY_100_LOCK_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_INTEGRITY_100_LOCK_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_INTEGRITY_100_LOCK_V2'
|
||||
SCHEMA_ID = 'schema://formula/DATA_INTEGRITY_100_LOCK_V2'
|
||||
SCHEMA_PATH = 'schemas/generated/data_integrity_100_lock_v2.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_INTEGRITY_100_LOCK_V2",
|
||||
"title": "DATA_INTEGRITY_100_LOCK_V2",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_INTEGRITY_100_LOCK_V2"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_INTEGRITY_SCORE_V1'
|
||||
SCHEMA_ID = 'schema://formula/DATA_INTEGRITY_SCORE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/data_integrity_score_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_INTEGRITY_SCORE_V1",
|
||||
"title": "DATA_INTEGRITY_SCORE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_INTEGRITY_SCORE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_MATURITY_TRUTH_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/DATA_MATURITY_TRUTH_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/data_maturity_truth_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_MATURITY_TRUTH_GATE_V1",
|
||||
"title": "DATA_MATURITY_TRUTH_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_MATURITY_TRUTH_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1'
|
||||
SCHEMA_ID = 'schema://formula/DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/data_maturity_truth_gate_validator_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1",
|
||||
"title": "DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_QUALITY_GATE_V2_PY'
|
||||
SCHEMA_ID = 'schema://formula/DATA_QUALITY_GATE_V2_PY'
|
||||
SCHEMA_PATH = 'schemas/generated/data_quality_gate_v2_py.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_QUALITY_GATE_V2_PY",
|
||||
"title": "DATA_QUALITY_GATE_V2_PY",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_QUALITY_GATE_V2_PY"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DATA_QUALITY_GATE_V3'
|
||||
SCHEMA_ID = 'schema://formula/DATA_QUALITY_GATE_V3'
|
||||
SCHEMA_PATH = 'schemas/generated/data_quality_gate_v3.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DATA_QUALITY_GATE_V3",
|
||||
"title": "DATA_QUALITY_GATE_V3",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DATA_QUALITY_GATE_V3"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DETERMINISTIC_ROUTING_ENGINE_V1'
|
||||
SCHEMA_ID = 'schema://formula/DETERMINISTIC_ROUTING_ENGINE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/deterministic_routing_engine_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DETERMINISTIC_ROUTING_ENGINE_V1",
|
||||
"title": "DETERMINISTIC_ROUTING_ENGINE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DETERMINISTIC_ROUTING_ENGINE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"harness_context"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DISTRIBUTION_SELL_DETECTOR_V1'
|
||||
SCHEMA_ID = 'schema://formula/DISTRIBUTION_SELL_DETECTOR_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/distribution_sell_detector_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DISTRIBUTION_SELL_DETECTOR_V1",
|
||||
"title": "DISTRIBUTION_SELL_DETECTOR_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DISTRIBUTION_SELL_DETECTOR_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"close",
|
||||
"high52w",
|
||||
"avg_volume_5d",
|
||||
"volume",
|
||||
"ret5d",
|
||||
"flow_credit",
|
||||
"frg_5d_sh",
|
||||
"inst_5d_sh",
|
||||
"rsi14",
|
||||
"obv_slope_20d"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DIVERGENCE_SCORE_V1'
|
||||
SCHEMA_ID = 'schema://formula/DIVERGENCE_SCORE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/divergence_score_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DIVERGENCE_SCORE_V1",
|
||||
"title": "DIVERGENCE_SCORE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DIVERGENCE_SCORE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"close_price",
|
||||
"ma20",
|
||||
"frg_5d_sh",
|
||||
"inst_5d_sh",
|
||||
"flow_credit",
|
||||
"frg_20d_sh"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DRAWDOWN_GUARD_V1'
|
||||
SCHEMA_ID = 'schema://formula/DRAWDOWN_GUARD_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/drawdown_guard_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DRAWDOWN_GUARD_V1",
|
||||
"title": "DRAWDOWN_GUARD_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DRAWDOWN_GUARD_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"win_loss_streak_state",
|
||||
"win_loss_streak_buy_scale"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'DYNAMIC_HEAT_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/DYNAMIC_HEAT_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/dynamic_heat_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/DYNAMIC_HEAT_GATE_V1",
|
||||
"title": "DYNAMIC_HEAT_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "DYNAMIC_HEAT_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"market_regime",
|
||||
"total_heat_pct"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'EARNINGS_GROWTH_QUALITY_GATE_V1'
|
||||
SCHEMA_ID = 'schema://formula/EARNINGS_GROWTH_QUALITY_GATE_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/earnings_growth_quality_gate_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/EARNINGS_GROWTH_QUALITY_GATE_V1",
|
||||
"title": "EARNINGS_GROWTH_QUALITY_GATE_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "EARNINGS_GROWTH_QUALITY_GATE_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [
|
||||
"eps_growth_qoq_pct",
|
||||
"eps_growth_yoy_pct"
|
||||
],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
"""Auto-generated schema model descriptor."""
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
SCHEMA_TITLE = 'EARNINGS_QUALITY_SIGNAL_V1'
|
||||
SCHEMA_ID = 'schema://formula/EARNINGS_QUALITY_SIGNAL_V1'
|
||||
SCHEMA_PATH = 'schemas/generated/earnings_quality_signal_v1.schema.json'
|
||||
SCHEMA_PROPERTIES = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
SCHEMA_REQUIRED = ['formula_id', 'owner', 'status', 'inputs', 'outputs']
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SchemaModel:
|
||||
title: str
|
||||
schema_id: str
|
||||
path: str
|
||||
properties: list[str]
|
||||
required: list[str]
|
||||
|
||||
def load_schema() -> dict[str, Any]:
|
||||
return json.loads(Path(__file__).with_suffix('.schema.json').read_text(encoding='utf-8'))
|
||||
|
||||
def describe() -> SchemaModel:
|
||||
return SchemaModel(
|
||||
title=SCHEMA_TITLE,
|
||||
schema_id=SCHEMA_ID,
|
||||
path=SCHEMA_PATH,
|
||||
properties=list(SCHEMA_PROPERTIES),
|
||||
required=list(SCHEMA_REQUIRED),
|
||||
)
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "schema://formula/EARNINGS_QUALITY_SIGNAL_V1",
|
||||
"title": "EARNINGS_QUALITY_SIGNAL_V1",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"formula_id": {
|
||||
"const": "EARNINGS_QUALITY_SIGNAL_V1"
|
||||
},
|
||||
"owner": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"inputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"formula_id",
|
||||
"owner",
|
||||
"status",
|
||||
"inputs",
|
||||
"outputs"
|
||||
],
|
||||
"x_formula_inputs": [],
|
||||
"x_formula_outputs": []
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user