Skip to content

Panel presets make full-year a Store-facing offer before its gates pass #180

Description

@lamemustafa

Raised as a P1 on #169. Filed rather than fixed there: the finding is correct, but how to gate it is
a product decision, and the mechanism does not exist yet.

What

src/entrypoints/panel/panel-presets.ts offers one whole-financial-year preset per return type. The
popup links to panel.html, and the package verifier now requires that page in every build — so a
Store package carries a full-year download offer for every return type, including GSTR-2B.

docs/PUBLICATION_READINESS.md holds full fiscal year as source-build alpha, limited to eligible
GSTR-3B/GSTR-1 periods, and states that Store-facing V0 must not advertise it until the exact-ZIP,
restart/resume, reconciliation and privacy gates are recorded. Those gates are not recorded.

My error, recorded

I ticked "Full fiscal year remains source-build alpha and is not part of the Chrome Web Store V0
listing" on #169's body. That claim is false for the PR as it stands, and I asserted it without
checking it against what the panel offers. The checkbox has been corrected.

The decision

There is no build-time gating mechanism in the repository today, so this needs one of:

  1. Restrict the presets to the scope the alpha already covers — eligible GSTR-3B/GSTR-1 periods —
    so the panel offers only what the readiness document permits. Smallest change; no new mechanism.
  2. Gate the panel entrypoint out of Store packages behind a build flag. Larger, and introduces a
    build-variant concept that does not exist and would need its own verification, since a package
    gate that silently fails open is worse than none.
  3. Record the gates, which is the real work and not a packaging change.

Option 1 is the cheapest honest outcome and keeps one build. Option 2 buys more but adds a mechanism
whose failure mode is exactly the kind this repository guards against.

Note for whoever takes this

The package verifier now requires panel.html, so removing the page from a build would fail
verification. Any gating approach has to update that expectation deliberately rather than tripping
over it.

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