Skip to content

The public PAYG estimator bills included usage and overstates the contracted price #399

Description

@MicroMilo

Summary

The public PAYG estimator charges all usage from the first unit. A minimized selection of one investigation and no telemetry displays $1.50 even though the canonical plan and deployed billing configuration include five investigations, making the contract price $0.00.

Validation source commit: 3f190be0a21732c675c8869b4ec338ff6467b5bd.

Code path

  • packages/billing/src/pricing.ts:1-12: Canonical billing model declares itself the shared pricing source of truth.
  • packages/billing/src/pricing.ts:73-86: PAYG includes five credits and the universal telemetry allowance, billing only beyond them.
  • autumn.config.ts:80-93: Deployed Autumn configuration independently grants the same PAYG allowances.
  • apps/web/src/Pricing.tsx:425-441: Public estimator charges gross investigations and telemetry without subtracting any allowance.
  • apps/web/src/Pricing.tsx:444-500: Estimator renders that gross total as the estimated monthly bill.

Steps to reproduce

This report is based on a source-control-flow validation against the commit above.

  1. Check out the source commit listed in this report.
  2. Inspect the code path and contract anchors listed above.
  3. Exercise the described boundary/state path: The public PAYG estimator bills included usage and overstates the contracted price.
  4. Compare the observed behavior with the expected contract below.

Validation note: The validation binds itself to the Pricing.tsx gross-total expression, imports the canonical pricing module, and evaluates one investigation with zero telemetry. Exit 0 output: displayedEstimate=1.5, contractPrice=0, overstatement=1.5, violation=true.

Expected behavior

The implementation should preserve the repository contract described by the documentation, public type, parser, serializer, or sibling implementation anchors above.

Actual behavior

The public PAYG estimator charges all usage from the first unit. A minimized selection of one investigation and no telemetry displays $1.50 even though the canonical plan and deployed billing configuration include five investigations, making the contract price $0.00.

Existing coverage

I did not find an existing issue or PR title that appears to cover this exact root cause in the pre-submission check.

Suggested fix

Compute the public PAYG estimate using the canonical included credits and telemetry allowances.

Suggested tests

  • Add a regression test for: The public PAYG estimator bills included usage and overstates the contracted price.
  • Include the boundary value or state transition described above so the old behavior fails before the fix.

Submitted with Codex.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions