Compare commits
2 Commits
main
...
gemini/iss
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
393cf3a2e1 | ||
|
|
0331e0e5bb |
@@ -16,6 +16,8 @@ from datetime import UTC, datetime
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from src.config import settings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -102,7 +104,7 @@ class EventBus:
|
|||||||
self._persistence_db_path.parent.mkdir(parents=True, exist_ok=True)
|
self._persistence_db_path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
with closing(sqlite3.connect(str(self._persistence_db_path))) as conn:
|
with closing(sqlite3.connect(str(self._persistence_db_path))) as conn:
|
||||||
conn.execute("PRAGMA journal_mode=WAL")
|
conn.execute("PRAGMA journal_mode=WAL")
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
conn.executescript(_EVENTS_SCHEMA)
|
conn.executescript(_EVENTS_SCHEMA)
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
@@ -114,7 +116,7 @@ class EventBus:
|
|||||||
return
|
return
|
||||||
with closing(sqlite3.connect(str(self._persistence_db_path))) as conn:
|
with closing(sqlite3.connect(str(self._persistence_db_path))) as conn:
|
||||||
conn.row_factory = sqlite3.Row
|
conn.row_factory = sqlite3.Row
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
yield conn
|
yield conn
|
||||||
|
|
||||||
def _persist_event(self, event: Event) -> None:
|
def _persist_event(self, event: Event) -> None:
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ from datetime import UTC, datetime
|
|||||||
from enum import StrEnum
|
from enum import StrEnum
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from src.config import settings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
DB_PATH = Path("data/swarm.db")
|
DB_PATH = Path("data/swarm.db")
|
||||||
@@ -68,7 +70,7 @@ def _get_conn() -> Generator[sqlite3.Connection, None, None]:
|
|||||||
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
||||||
conn.row_factory = sqlite3.Row
|
conn.row_factory = sqlite3.Row
|
||||||
conn.execute("PRAGMA journal_mode=WAL")
|
conn.execute("PRAGMA journal_mode=WAL")
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
conn.execute("""
|
conn.execute("""
|
||||||
CREATE TABLE IF NOT EXISTS custom_models (
|
CREATE TABLE IF NOT EXISTS custom_models (
|
||||||
name TEXT PRIMARY KEY,
|
name TEXT PRIMARY KEY,
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ from dataclasses import dataclass
|
|||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from src.config import settings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
DB_PATH = Path("data/spark.db")
|
DB_PATH = Path("data/spark.db")
|
||||||
@@ -47,7 +49,7 @@ def _get_conn() -> Generator[sqlite3.Connection, None, None]:
|
|||||||
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
||||||
conn.row_factory = sqlite3.Row
|
conn.row_factory = sqlite3.Row
|
||||||
conn.execute("PRAGMA journal_mode=WAL")
|
conn.execute("PRAGMA journal_mode=WAL")
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
conn.execute("""
|
conn.execute("""
|
||||||
CREATE TABLE IF NOT EXISTS spark_predictions (
|
CREATE TABLE IF NOT EXISTS spark_predictions (
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ from dataclasses import dataclass
|
|||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from src.config import settings
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
DB_PATH = Path("data/spark.db")
|
DB_PATH = Path("data/spark.db")
|
||||||
@@ -63,7 +65,7 @@ def _get_conn() -> Generator[sqlite3.Connection, None, None]:
|
|||||||
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
with closing(sqlite3.connect(str(DB_PATH))) as conn:
|
||||||
conn.row_factory = sqlite3.Row
|
conn.row_factory = sqlite3.Row
|
||||||
conn.execute("PRAGMA journal_mode=WAL")
|
conn.execute("PRAGMA journal_mode=WAL")
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
conn.execute("""
|
conn.execute("""
|
||||||
CREATE TABLE IF NOT EXISTS spark_events (
|
CREATE TABLE IF NOT EXISTS spark_events (
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ from dataclasses import dataclass
|
|||||||
import httpx
|
import httpx
|
||||||
|
|
||||||
from config import settings
|
from config import settings
|
||||||
|
from timmy.research_tools import get_llm_client, google_web_search
|
||||||
from timmy.research_triage import triage_research_report
|
from timmy.research_triage import triage_research_report
|
||||||
from timmy.research_tools import google_web_search, get_llm_client
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from config import settings
|
|
||||||
from serpapi import GoogleSearch
|
from serpapi import GoogleSearch
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import time
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from src.config import settings
|
||||||
from infrastructure.db_pool import ConnectionPool
|
from src.infrastructure.db_pool import ConnectionPool
|
||||||
|
|
||||||
|
|
||||||
class TestConnectionPoolInit:
|
class TestConnectionPoolInit:
|
||||||
@@ -330,9 +330,9 @@ class TestPragmaApplication:
|
|||||||
"""busy_timeout pragma set on a pooled connection persists."""
|
"""busy_timeout pragma set on a pooled connection persists."""
|
||||||
pool = ConnectionPool(tmp_path / "test.db")
|
pool = ConnectionPool(tmp_path / "test.db")
|
||||||
conn = pool.get_connection()
|
conn = pool.get_connection()
|
||||||
conn.execute("PRAGMA busy_timeout=5000")
|
conn.execute(f"PRAGMA busy_timeout={settings.db_busy_timeout_ms}")
|
||||||
timeout = conn.execute("PRAGMA busy_timeout").fetchone()[0]
|
timeout = conn.execute("PRAGMA busy_timeout").fetchone()[0]
|
||||||
assert timeout == 5000
|
assert timeout == settings.db_busy_timeout_ms
|
||||||
pool.close_connection()
|
pool.close_connection()
|
||||||
|
|
||||||
def test_pragmas_apply_per_connection(self, tmp_path):
|
def test_pragmas_apply_per_connection(self, tmp_path):
|
||||||
|
|||||||
@@ -9,10 +9,8 @@ import json
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
import scripts.export_trajectories as et
|
import scripts.export_trajectories as et
|
||||||
|
|
||||||
|
|
||||||
# ── Fixtures ──────────────────────────────────────────────────────────────────
|
# ── Fixtures ──────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
||||||
@@ -236,7 +234,9 @@ def test_export_training_data_writes_jsonl(simple_session: Path, tmp_path: Path)
|
|||||||
count = et.export_training_data(logs_dir=simple_session, output_path=output)
|
count = et.export_training_data(logs_dir=simple_session, output_path=output)
|
||||||
assert count == 2
|
assert count == 2
|
||||||
assert output.exists()
|
assert output.exists()
|
||||||
lines = [json.loads(l) for l in output.read_text().splitlines() if l.strip()]
|
lines = [
|
||||||
|
json.loads(line) for line in output.read_text().splitlines() if line.strip()
|
||||||
|
]
|
||||||
assert len(lines) == 2
|
assert len(lines) == 2
|
||||||
for line in lines:
|
for line in lines:
|
||||||
assert "messages" in line
|
assert "messages" in line
|
||||||
|
|||||||
@@ -9,19 +9,15 @@ Refs: #1105
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import tempfile
|
|
||||||
from datetime import UTC, datetime, timedelta
|
from datetime import UTC, datetime, timedelta
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
|
||||||
|
|
||||||
from timmy_automations.retrain.quality_filter import QualityFilter, TrajectoryQuality
|
from timmy_automations.retrain.quality_filter import QualityFilter, TrajectoryQuality
|
||||||
from timmy_automations.retrain.retrain import RetrainOrchestrator
|
from timmy_automations.retrain.retrain import RetrainOrchestrator
|
||||||
from timmy_automations.retrain.training_dataset import TrainingDataset
|
from timmy_automations.retrain.training_dataset import TrainingDataset
|
||||||
from timmy_automations.retrain.training_log import CycleMetrics, TrainingLog
|
from timmy_automations.retrain.training_log import CycleMetrics, TrainingLog
|
||||||
from timmy_automations.retrain.trajectory_exporter import Trajectory, TrajectoryExporter
|
from timmy_automations.retrain.trajectory_exporter import Trajectory, TrajectoryExporter
|
||||||
|
|
||||||
|
|
||||||
# ── Fixtures ─────────────────────────────────────────────────────────────────
|
# ── Fixtures ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
||||||
@@ -382,7 +378,7 @@ class TestTrainingDataset:
|
|||||||
ds = TrainingDataset(repo_root=tmp_path)
|
ds = TrainingDataset(repo_root=tmp_path)
|
||||||
ds.append([self._make_result()], "2026-W12")
|
ds.append([self._make_result()], "2026-W12")
|
||||||
with open(ds.dataset_path) as f:
|
with open(ds.dataset_path) as f:
|
||||||
lines = [l.strip() for l in f if l.strip()]
|
lines = [line.strip() for line in f if line.strip()]
|
||||||
assert len(lines) == 1
|
assert len(lines) == 1
|
||||||
record = json.loads(lines[0])
|
record = json.loads(lines[0])
|
||||||
assert "messages" in record
|
assert "messages" in record
|
||||||
|
|||||||
Reference in New Issue
Block a user