Ready for first real test
This commit is contained in:
1 parent
acddf9135f
commit
b91c81ebdf
46 files changed
+34903
-26
No files matched your search
+22
-5
@@ -50,10 +50,19 @@ class Settings(BaseSettings):
|
||||
llm_max_tokens: int = 2048
|
||||
|
||||
# --- Budgets ---
|
||||
per_agent_wallclock_min: int = 130
|
||||
per_agent_step_budget: int = 60
|
||||
per_agent_min_steps: int = 25 # keep researching (nudge) until at least this many steps
|
||||
per_agent_wallclock_min: int = 130 # hard wall-clock cap per agent
|
||||
per_agent_min_minutes: int = 120 # TIME FLOOR: keep researching until at least this long
|
||||
per_agent_step_budget: int = 400 # high safety cap so steps don't cap before the time floor
|
||||
per_agent_min_steps: int = 25 # secondary floor (steps)
|
||||
hard_stop: str = "07:00" # local wall-clock HH:MM; nightly run must finish by this
|
||||
sandbox_timeout_s: int = 90 # run_analysis script wall-clock limit
|
||||
|
||||
# --- Email (daily report; use a Gmail App Password, never your real password) ---
|
||||
email_to: str = ""
|
||||
email_from: str = ""
|
||||
smtp_host: str = "smtp.gmail.com"
|
||||
smtp_port: int = 587
|
||||
email_app_password: str = ""
|
||||
|
||||
# --- Timezones ---
|
||||
market_tz: str = "America/New_York" # authoritative market clock
|
||||
@@ -76,6 +85,14 @@ class Settings(BaseSettings):
|
||||
def db_path(self) -> Path:
|
||||
return REPO_ROOT / "state" / "trading.db"
|
||||
|
||||
@property
|
||||
def reports_dir(self) -> Path:
|
||||
return REPO_ROOT / "state" / "reports"
|
||||
|
||||
@property
|
||||
def sandbox_dir(self) -> Path:
|
||||
return REPO_ROOT / "state" / "sandbox"
|
||||
|
||||
@property
|
||||
def llm_base_url(self) -> str:
|
||||
return f"http://{self.llm_host}:{self.llm_port}/v1"
|
||||
@@ -128,8 +145,8 @@ class Settings(BaseSettings):
|
||||
return self.alpaca_api_key, self.alpaca_secret_key
|
||||
|
||||
def ensure_dirs(self) -> None:
|
||||
self.output_dir.mkdir(parents=True, exist_ok=True)
|
||||
self.log_dir.mkdir(parents=True, exist_ok=True)
|
||||
for d in (self.output_dir, self.log_dir, self.reports_dir, self.sandbox_dir):
|
||||
d.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
@lru_cache
|
||||
|
||||
Reference in new issue
Block a user