Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Tellimer/open-source
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: econify-v1.1.9
Choose a base ref
...
head repository: Tellimer/open-source
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: econify-v1.2.0
Choose a head ref
  • 5 commits
  • 9 files changed
  • 1 contributor

Commits on Sep 30, 2025

  1. feat(econify): add Employed Persons to stock patterns + E2E test

    - Added 'employed persons', 'employed', 'employment level', 'total employment', 'labour force' to STOCK_PATTERNS
    - Added comprehensive E2E test for Employed Persons indicator
    - Test verifies stock indicators do NOT get time conversion (periodicity is just release cadence)
    - Test covers quarterly and monthly data from Angola, Albania, Armenia
    - Validates that values stay unchanged (no division by time period)
    - Validates normalized units are 'Thousands' not 'thousands per month'
    - Documents that auto-targeting should skip time dimension for stock indicators
    
    All 409 tests passing ✅
    algoflows committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    89acaf7 View commit details
    Browse the repository at this point in the history
  2. feat(econify): smart auto-targeting - skip time dimension for stock/r…

    …ate indicators
    
    BREAKING CHANGE: Auto-targeting now intelligently skips time dimension for stock and rate indicators
    
    ## What Changed
    
    Auto-targeting now uses indicator classification to determine which dimensions to target:
    - **Stock indicators** (population, debt, reserves, employed persons) → Skip time dimension
    - **Rate indicators** (CPI, unemployment rate, inflation) → Skip time dimension
    - **Flow indicators** (GDP, exports, sales, revenue) → Include time dimension
    - **Non-monetary indicators** → Can participate in magnitude/time targeting when currency not in dimensions
    
    ## Why This Matters
    
    Previously, auto-targeting would apply time conversion to ALL indicators, including stocks:
    - ❌ "Employed Persons: 12,814 thousand" → divided by 3 → "4,271 thousand per month"
    - ❌ "Debt: 500 billion" → "500 billion per month" (nonsensical)
    
    Now it correctly handles each type:
    - ✅ "Employed Persons: 12,814 thousand" → stays "12,814 thousand" (snapshot)
    - ✅ "GDP: 300 million per quarter" → "100 million per month" (flow, converted)
    - ✅ "CPI: 105.2 points" → stays "105.2 points" (index, no time)
    
    ## Implementation
    
    1. **Auto-targeting classification**: Calls `classifyIndicator()` for each indicator group
    2. **Smart dimension selection**: Skips time dimension when `classification.type === 'stock' || 'rate'`
    3. **Non-monetary inclusion**: Only filters by `isMonetary` when currency is in `autoTargetDimensions`
    4. **Clear reasoning**: Explain metadata shows `time=skipped(stock indicator, no time dimension)`
    
    ## Test Updates
    
    - Added comprehensive E2E test for Employed Persons (stock indicator)
    - Updated auto-targeting tests to use flow indicators (Exports) instead of stock (Debt)
    - Added test for stock indicators automatically skipping time dimension
    - Updated tests to handle non-monetary indicators in magnitude/time targeting
    
    ## Files Changed
    
    - `src/normalization/auto_targets.ts` - Smart classification-based dimension selection
    - `src/workflows/e2e_comprehensive_test.ts` - E2E test for Employed Persons
    - `src/normalization/auto_targets_test.ts` - Updated tests for new behavior
    - `src/api/pipeline_api_test.ts` - Fixed tests to use flow indicators
    
    All 410 tests passing ✅
    algoflows committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    905a5c8 View commit details
    Browse the repository at this point in the history
  3. docs(econify): add comprehensive smart auto-targeting documentation

    ## Documentation Updates
    
    Added detailed documentation for the new smart auto-targeting feature that intelligently skips time dimension for stock/rate indicators.
    
    ### Changes
    
    1. **README.md**
       - Added Smart Auto-Targeting to Core Capabilities
       - Highlighted the prevention of incorrect conversions (e.g., employed persons ÷ 3)
    
    2. **docs/guides/per-indicator-normalization.md**
       - Added comprehensive "Smart Auto-Targeting: Indicator Classification" section
       - Documented all three indicator types (Stock, Flow, Rate) with examples
       - Showed before/after comparisons demonstrating the fix
       - Explained global configuration with smart targeting
       - Updated summary to include smart targeting benefits
    
    ### Key Documentation Points
    
    - **Stock Indicators**: Population, Debt, Employed Persons → Time dimension skipped
    - **Flow Indicators**: GDP, Exports, Revenue → Time dimension included
    - **Rate Indicators**: CPI, Inflation, Unemployment Rate → Time dimension skipped
    - **Real-world examples** showing correct vs incorrect behavior
    - **Configuration guidance** for using global autoTargetDimensions
    
    ### Examples Included
    
    - Employed Persons: 12,814 thousand stays 12,814 (not divided by 3)
    - GDP: 300M/quarter → 100M/month (correctly converted)
    - CPI: 105.2 points stays 105.2 (no conversion)
    
    This documentation helps users understand:
    1. Why their stock indicator data was being incorrectly converted
    2. How the new smart targeting fixes it automatically
    3. How to configure their pipeline to benefit from it
    algoflows committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    de4c261 View commit details
    Browse the repository at this point in the history
  4. docs(econify): add comprehensive smart auto-targeting documentation

    ## Documentation Updates
    
    Added detailed documentation for the new smart auto-targeting feature that intelligently skips time dimension for stock/rate indicators.
    
    ### Changes
    
    1. **README.md**
       - Added Smart Auto-Targeting to Core Capabilities
       - Highlighted the prevention of incorrect conversions (e.g., employed persons ÷ 3)
    
    2. **docs/guides/per-indicator-normalization.md**
       - Added comprehensive "Smart Auto-Targeting: Indicator Classification" section
       - Documented all three indicator types (Stock, Flow, Rate) with examples
       - Showed before/after comparisons demonstrating the fix
       - Explained global configuration with smart targeting
       - Updated summary to include smart targeting benefits
    
    ### Key Documentation Points
    
    - **Stock Indicators**: Population, Debt, Employed Persons → Time dimension skipped
    - **Flow Indicators**: GDP, Exports, Revenue → Time dimension included
    - **Rate Indicators**: CPI, Inflation, Unemployment Rate → Time dimension skipped
    - **Real-world examples** showing correct vs incorrect behavior
    - **Configuration guidance** for using global autoTargetDimensions
    
    ### Examples Included
    
    - Employed Persons: 12,814 thousand stays 12,814 (not divided by 3)
    - GDP: 300M/quarter → 100M/month (correctly converted)
    - CPI: 105.2 points stays 105.2 (no conversion)
    
    This documentation helps users understand:
    1. Why their stock indicator data was being incorrectly converted
    2. How the new smart targeting fixes it automatically
    3. How to configure their pipeline to benefit from it
    algoflows committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    a3df702 View commit details
    Browse the repository at this point in the history
  5. chore(econify): release v1.2.0 - Smart Auto-Targeting

    ## Version 1.2.0 Release
    
    Major feature release introducing Smart Auto-Targeting that fixes critical stock indicator conversion bugs.
    
    ### Highlights
    
    🎯 **Smart Auto-Targeting**
    - Automatically detects stock/flow/rate indicators
    - Skips time dimension for stock indicators (Population, Debt, Employed Persons)
    - Prevents incorrect conversions: "12,814 employed persons" no longer ÷ 3 → "4,271 per month"
    
    🐛 **Critical Bug Fix**
    - Stock indicators were incorrectly time-converted
    - Now correctly treats them as snapshots, not rates over time
    - Affects: Population, Debt, Reserves, Money Supply, Assets, Employed Persons, etc.
    
    📚 **Comprehensive Documentation**
    - Added Smart Auto-Targeting guide with real-world examples
    - Before/after comparisons showing the fix
    - Configuration guidance for global autoTargetDimensions
    
    ✅ **All 410 Tests Passing**
    
    ### Breaking Changes
    
    Auto-targeting behavior changed for stock/rate indicators - they now correctly skip time dimension normalization. This is a correctness fix for mathematically incorrect behavior.
    
    ### Files Changed
    
    - CHANGELOG.md - Added v1.2.0 release notes
    - deno.json - Bumped version to 1.2.0
    algoflows committed Sep 30, 2025
    Configuration menu
    Copy the full SHA
    45cf593 View commit details
    Browse the repository at this point in the history
Loading