Skip to content

FILED_RETURNS_SUMMARY_CONTEXT_HEADERS is exported and read by nothing #215

Description

@lamemustafa

What

FILED_RETURNS_SUMMARY_CONTEXT_HEADERS in src/connectors/gst/filed-returns-summary-sheet.ts:49 appears exactly once in the repository — its own declaration. No importer in src/, none in tests/, none in scripts/ or docs/.

It declares a CSV column order — context_type, context_key, field_label, field_path, value_text — for a CSV that is never emitted. The context rows it describes are real and alive: buildContextRows produces FiledReturnsSummaryContextRow[], and filed-returns-full-year-workbook.ts:72,96 consumes them to build the workbook's taxpayer identity header block. But that path never serialises them as CSV, so the header list has no reader.

It looks like a fossil from a time when context rows were emitted as a second CSV.

Why it is worth removing rather than leaving

AGENTS.md treats an unreferenced module as dead and asks for the scan to be re-run to a fixed point after any deletion. This is that rule one level down: an exported constant with no importer.

The specific harm is that it reads as a live contract. It surfaced during #214, where the question was whether the new financial_year column belonged in the context header too. Answering that required tracing the constant to discover it feeds nothing — a reviewer who took it at face value could reasonably have added a column to a schema with no consumer, widening an identity-bearing internal shape for no one.

Care needed

The type FiledReturnsSummaryContextRow is not dead and must stay — it is used in three places across the workbook and the sheet module. Only the header constant is unreferenced.

Per AGENTS.md, re-run the unreferenced-export scan to a fixed point after deleting: removing this may orphan something that was only reachable through it. And confirm by deletion plus a full suite run rather than by reading, since the constant could in principle be referenced by a computed name.

Not in scope

Any change to how context rows are built or consumed. This is the removal of one unused export.

Found while reviewing #214, which correctly declined to extend this constant.

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