Skip to content

FastFEC outputs year fields as floats (2025.00 vs 2025) #16

Description

@asg017

Note

Much of this ticket was composed with Claude

In F3X/F3P cover records, the col_b_year field contains a 4-digit year value (e.g. 2025). FastFEC outputs this as 2025.00 (treating it as a float), while libfec correctly passes through the raw value 2025.

This is a FastFEC bug, not a libfec bug. The raw FEC data contains 2025 as a plain integer string, and libfec's passthrough is correct.

Documenting here for completeness since it causes a diff between the two tools.

Affected Filing

Filing ID: 1935668 (237KB, Chevron PAC F3XN filing)

Reproduction

libfec fastfec ~/.cache/libfec/cache/1935668.fec /tmp/out_libfec
fastfec --no-stdin ~/.cache/libfec/cache/1935668.fec /tmp/out_fastfec

Observe the Difference

# Extract the col_b_year field (field 51 in F3XN):
diff \
  <(sed -n '2p' /tmp/out_libfec/1935668/F3XN.csv | tr ',' '\n' | sed -n '51p') \
  <(sed -n '2p' /tmp/out_fastfec/1935668/F3XN.csv | tr ',' '\n' | sed -n '51p')
# < 2025
# ---
# > 2025.00

# Verify the raw FEC file has the integer form:
# (uses ASCII 28 / 0x1C as delimiter)
cat ~/.cache/libfec/cache/1935668.fec | tr '\x1c' '\n' | head -100 | grep -n '^2025$'
# Shows "2025" without decimal

Decision

No action needed on the libfec side - libfec's output is correct. This is a FastFEC quirk where it parses all numeric-looking values as floats.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions