Skip to content

Deferred review findings from the overnight run #178

Description

@lamemustafa

Four findings raised on #145 and #169 that were read and assessed but deliberately not fixed. With
an hour left in an unattended session they would have landed unreviewed, and review found something
real in nearly every round that night — including in four fixes made during it.

Each is genuine. None blocks its PR.

1. Numeric-looking strings may reach the exact total — #145

src/connectors/gst/filed-returns-full-year-workbook.ts:120. A mapped amount arriving as a
numeric-looking JSON string (txval: "100") is correctly marked Non-numeric value in its month,
but may still pass its value into the exact-total computation.

Related to, but distinct from, the array-count fix: that covered a row whose numeric column held a
count. This is a row whose value is a string that parses.

Should reuse the same marked-cell treatment so the month and the total agree.

2. CSV rows carry no financial year — #145

src/connectors/gst/filed-returns-summary-sheet.ts:35. full-year-summary.csv has a fixed filename
and its rows identify period, return type and artifact — but not the financial year. Extracted from
its ZIP, or handed to the machine consumer the README describes, the file cannot say which year it
covers.

This is a schema change to a published artifact, so it needs a deliberate decision about column
order and whether anything already parses the current shape.

3. Bundle-reference parsing is narrower than HTML allows — #169

scripts/verify-extension-package.mjs:317. The regexes added for the page-bundle check match only
double-quoted attributes and require a stylesheet's rel to precede its href. Single-quoted or
reordered attributes would slip past the check.

The current build emits double-quoted, rel-first markup, so the gate works today — but a guard
that depends on the emitter's formatting is not a guard. Worth parsing rather than pattern-matching.

4. Presets keep an April basis if the page stays mounted — #169

src/entrypoints/panel/panel-surface.tsx:29. Presets are memoised with an empty dependency list, so
a panel page mounted in April keeps April-normalised presets into May.

Same family as the portal-context staleness already fixed: the panel is long-lived where the popup
was not. The fix needs a recompute trigger that does not reintroduce a timer.

Sequencing

None of these is urgent. 1 and 2 touch the summary artifact and should land together with their own
verification; 3 and 4 are independent.

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