Skip to content

Scale parameter thresholds don't support uprating #390

@MaxGhenis

Description

@MaxGhenis

Issue Description

Scale parameters (marginal_rate type) don't properly support uprating for thresholds. Neither the threshold_uprating field in the scale metadata nor the uprating field in individual threshold metadata work to extend threshold values beyond explicitly defined years.

Current Behavior

When defining a scale parameter with thresholds that should be uprated, the thresholds remain fixed at the last defined value instead of being uprated for future years.

Expected Behavior

Thresholds in scale parameters should be uprated according to the specified uprating parameter, similar to how simple parameters work.

Example

# This doesn't work - thresholds stay at 2025 values for 2030+
description: PIA formula factors
metadata:
  type: marginal_rate
  threshold_unit: currency-USD
  rate_unit: /1
  threshold_uprating: gov.ssa.uprating  # Doesn't work
brackets:
  - threshold:
      2024-01-01: 1_174
      2025-01-01: 1_226
    rate:
      1979-01-01: 0.32
    metadata:
      threshold:
        uprating: gov.ssa.uprating  # Also doesn't work

Use Case

Social Security PIA calculation uses bend points that are indexed to wage growth. Tax brackets and many other scale-based calculations also need threshold uprating.

Related Issues

Proposed Solution

Support uprating for scale thresholds through either:

  1. threshold_uprating in the scale metadata (applies to all thresholds)
  2. uprating in individual threshold metadata (per-threshold control)
  3. Both (with individual metadata overriding scale-level default)

This would match the behavior of simple parameters and amount uprating in scales.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions