Changelog¶
This page mirrors release notes from CHANGELOG.md.
Unreleased¶
- Added unified data layer with
SourceAdapterprotocol,SourceAdapterBasemixin,FetchResult/CacheManifestvalue types, andCacheLayer(DuckDB-backed PIT/market cache). - Added built-in source adapters:
TiingoAdapter(market OHLCV),FREDSourceAdapter(macro PIT),CFTCAdapter(CoT positioning),DTCCAdapter(swap derivatives). - Added
alphaforge.source_adaptersentry-point group anddiscover_adapters()for plugin-style adapter registration. - Added
SourceAdapterPITCompatbridge allowing unifiedSourceAdapterinstances to be used through the legacyPITAdapterinterface. - Extended
DataContextwithadapters,default_sources,fetch(),fetch_many(),prefetch()— fully backward compatible. - Moved PIT transforms from positioning into
alphaforge.data.transforms(cot_pit,dtcc_pit,utils). - Fixed type annotation errors in
pit/accessor.pyandpit/models.py(staletype: ignorecomments, TypedDict narrowing, andast.Callattribute access error codes). - Added PIT contract version API (
PIT_CONTRACT_VERSION,get_pit_contract_version) and migration guide support. - Added ingestion policy modes for PIT upserts:
strict=\"error|warn|coerce\"(boolremains backward compatible). - Added release selection helpers:
list_release_stream(...)andresolve_release(...). - Added union-vintage utility:
list_union_vintages(..., mode=\"event|calendar\"). - Added expression graph APIs:
explain_expression_graph(...),preview_expression_graph(...),apply_expression_graph(...). - Added snapshot panel builder:
build_snapshot_panel(series_specs, asof, align=..., join=...). - Added PIT transform pipeline orchestration (
PITPipelineSpec,PITPipelineStep,preview_pipeline,apply_pipeline,explain_pipeline) with dependency-safe execution. - Added PIT pipeline metadata/run tracking tables and accessors (
list_pipelines,list_pipeline_runs) for reproducible run history. - Added incremental pipeline controls (
incremental,since_asof,since_run_id) and deterministic effective as-of anchor resolution. - Added PIT cross-series
op="binary"transforms (add/sub/mul/div) with deterministic lineage and causality-preserving execution. - Added cross-series transform lineage payloads with per-input source as-of timestamps and multi-input transform metadata.
- Expanded PIT task utilities with
revision_event_stream(...)andrevision_volatility(...). - Enhanced staleness helper output (
forward_fill_with_staleness) withsource_obs_dateandage. - Added CI-verified runnable PIT docs examples (
tests/test_docs_pit_examples.py) and a dedicateddocs-examplesCI job. - Added PR guard script (
scripts/check_pit_docs_sync.py) and CI job to enforce PIT docs + changelog updates when PIT public interfaces change. - Added PIT typed exception hierarchy for deterministic contract/error handling.
- Added strict PIT ingestion validation API (
PITValidationReport,validate_pit_observations) and made strict validation the default forupsert_pit_observations. - Tightened transform parameter contracts with per-operator key validation and canonical normalization.
- Added
PITAccessor.preview_transform(...)and dict-based transform spec compatibility. - Added explicit
allow_experimental=Truegating foraxis=\"revision_path\". - Updated transform engine contract so
autoprefers DuckDB for supported specs and falls back deterministically to Python when configured. - Expanded
PITTransformResultwith requested engine and fallback metadata. - Tightened
PITDataSourcequery contract (pit.snapshotrequiresasof; unsupported vintage modes now fail explicitly). - Added PIT query helpers:
PITDataSource.snapshot_query(...)andPITDataSource.observations_query(...). - Added canonical PIT table and PIT accessor for snapshot and revision timeline queries.
- Added reference period keys and PIT ref-based queries for snapshot ranges and revision timelines.
- Added PIT transform engine (
apply_transform,list_transforms) with lineage/run tables. - Added PIT safety toolkit (
ReleaseLagPolicy,effective_asof,pit_leakage_report). - Added
PITDataSourcewithpit.snapshotandpit.observationscontracts. - Added PIT helper tasks for vintage selection, revision analytics, staleness, and YoY/QoQ transforms.
- Added experimental
revision_pathtransforms fordiff,lag,rolling, andexpanding.