Skip to content

Per-period evidence can read "Saved" when one selected artifact was unavailable #208

Description

@lamemustafa

Raised on #207 and filed rather than guessed at.

What

requireFullFiscalYearArtifactsStaged leaves a step as downloaded when one artifact of a multi-artifact selection is staged and another is explicitly unavailable, because an unavailable artifact counts as a resolved outcome. The new per-period evidence list maps downloaded to Saved, so an all-formats GSTR-1 or GSTR-2B run can show a period as saved while the ZIP summary records an artifact that was not.

Why it is not fixed in #207

The signal that would distinguish the case, filed-return-artifact-unavailable:<TYPE>, lives on the flow step, not on the ledger target. toFullFiscalYearSummary receives one current step and the ledger; neither carries per-target artifact detail. So the information needed to say "partially saved" for a specific period is not available where the outcome is derived.

Guessing at it would go wrong in both directions. Marking every period partial when the run carries the signal anywhere would defame periods that were complete; ignoring it leaves the overstatement in place.

What a fix needs

  • The ledger target to record which selected artifacts were staged and which were unavailable, so the outcome can be derived per period rather than per run.
  • A fifth outcome, or a qualifier on saved — the current vocabulary has no word for "the portal gave us some of what you asked for".
  • A test with a mixed multi-artifact period, since a single-artifact fixture cannot express the case at all.

Related

The overstatement is bounded: the ZIP summary already records the unavailable artifact, so the evidence is present in the download even when the panel overstates it. This is a display defect, not a lost fact.

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