Skip to content

v2 pre-flip: replace hardcoded raw/steps/summary column literals in utils and filters #538

Description

@jepegit

Context

Phase-3 flip prerequisite (native-headers plan Phase 0, item 2; hardcoded-column-headers-report §8 priority 2 + §9). Audited 2026-07-17 with .issueflows/00-tools/scan_hardcoded_headers.py; remaining HeadersNormal / HeadersStepTable / HeadersSummary findings:

File Findings
cellpy/utils/plotutils.py 26
cellpy/utils/helpers.py ~20 (non-journal subset)
cellpy/utils/ocv_rlx.py 8
cellpy/filters/summary.py 2 (the default rate_columns=("charge_c_rate", "discharge_c_rate") tuple — §9.2)

(ocv_rlx was ~25 and plotutils ~40 at report time — partially done already; this finishes the pass.)

Work

Mechanical 1:1 onto the canonical header objects (get_headers_normal() / get_headers_step_table() / get_headers_summary()), same pattern as the sibling journal issue. Out of scope: literals the scan attributes to the capacity-curve frame ("capacity", "voltage", "cycle", "direction", "q", "v", "dq") in easyplot/ica/collectors/plotutils — those belong to the CurveCols adoption issue, since fixing consumers before the producer just moves the hard-coding around (report §5).

Acceptance

  • Scan tool reports zero non-curve findings for the files above
  • Full suite green

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    v2cellpy v2.0 epic work - PRs should target the master branchyolo

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions