Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cac4110
Key changes:
bmfmancini Jul 13, 2026
1bc424c
R1/Phase 1: Complete typed adapter migration
bmfmancini Jul 13, 2026
c029136
R1/Phase 1: Add regression fixtures and failure-state tests
bmfmancini Jul 13, 2026
7b62603
R1/Phase 1: Rename mislabeled perform_rolling_origin_validation
bmfmancini Jul 13, 2026
3a666b7
R1/Phase 1: Update implementation status with completed work
bmfmancini Jul 13, 2026
5f74cab
R1/Phase 1: Harden nullable metric consumers
bmfmancini Jul 13, 2026
9660a99
R1/Phase 1: Fix AttributeError on trend access and fixture name misma…
bmfmancini Jul 13, 2026
1bb69c8
Implement Phase 1 honest forecasting evaluation
bmfmancini Jul 13, 2026
ca6f60d
implement statistical forecasting phases 2 through 5
bmfmancini Jul 13, 2026
404e587
refine remaining statistical forecasting work
bmfmancini Jul 13, 2026
177805f
Correct statistical methods
bmfmancini Jul 13, 2026
68655e0
Correct statistical methods
bmfmancini Jul 13, 2026
4ad65cb
Correct statistical methods
bmfmancini Jul 13, 2026
3b98722
Correct statistical methods
bmfmancini Jul 13, 2026
37d015a
Correct statistical methods phase 3 (Model selection enhancements)
bmfmancini Jul 14, 2026
7eb9a45
move embedding model to a setting
bmfmancini Jul 14, 2026
59b5823
Merge pull request #56 from bmfmancini/mariadb_support
bmfmancini Jul 14, 2026
39091d3
Delete implementation_phases.md
bmfmancini Jul 14, 2026
1698f79
fix holt winters test
bmfmancini Jul 14, 2026
f3899f8
Merge pull request #58 from bmfmancini/mariadb_support
bmfmancini Jul 14, 2026
d2b3e4d
address code rabbit concerns
bmfmancini Jul 16, 2026
7925707
Merge pull request #59 from bmfmancini/mariadb_support
bmfmancini Jul 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions data_forecaster/backend/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3
OLLAMA_API_KEY=


# Sentence-transformers model for RAG embeddings (HuggingFace model ID).
EMBED_MODEL=sentence-transformers/all-MiniLM-L6-v2

# --- Backend Configuration ---
MAX_UPLOAD_MB=100
ALLOWED_EXTENSIONS=csv,xlsx,json
Expand Down
7 changes: 2 additions & 5 deletions data_forecaster/backend/agents/data_validation_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from core.logging_config import get_logger
from prompts.data_validation_prompt import DATA_VALIDATION_PROMPT
from schemas import ValidationResult
from utils.data_cleaning import audit_series, validate_schema
from utils.data_cleaning import audit_series, time_index_quality, validate_schema
from utils.token_tracking import estimate_input_text, extract_token_usage

logger = get_logger(__name__)
Expand Down Expand Up @@ -51,12 +51,9 @@ def run_validation_agent(
series = df.set_index(date_col)[value_col]

# ── Compute structured values directly ───────────────────────────────────
diffs = series.index.to_series().diff().dropna()
mode_diff = diffs.mode()[0] if len(diffs) > 0 else None
missing_ts = int((diffs > mode_diff * 1.5).sum()) if mode_diff is not None else 0
missing_ts, is_regular, _ = time_index_quality(series.index, freq)
duplicate_ts = int(df[date_col].duplicated().sum())
missing_vals = int(series.isna().sum())
is_regular = (diffs.nunique() == 1) if len(diffs) > 0 else True

issues: list[str] = []
if missing_ts > 0:
Expand Down
Loading
Loading