Skip to content

Gate: measure api/services coverage with floors for the three loaders #194

Closed

Description

@amar-python

Decision by the product owner, 4 Nov 2026: move the DB-backed api/services coverage into the gate, with floors for the three loaders.

What the code shows (verified at c7bebd1)

  • Makefile test-gate runs the database-free markers with --cov=build/csv --cov=evals. api/ is not measured by the gate.
  • A full run against a deployed PostgreSQL (365 passed, 0 failed) measured:
    • api/services/csv_parse.py: 79.5%
    • api/services/dynamic_loader.py: 84.2%
    • api/services/te_loader.py: 96.2%
  • These figures come from a local run, not from CI.

Proposed

  • Add --cov=api/services to the gate job that has PostgreSQL (the quality-gate.yml integration job), not to the database-free job.
  • Set per-file floors at the measured values rounded down: csv_parse.py 79, dynamic_loader.py 84, te_loader.py 96. The product owner to confirm the values.
  • The gate fails when a loader drops below its floor.

Done when

  • A CI run of the gate job shows the coverage table for api/services, with the three floors enforced.
  • A deliberate test removal in a scratch branch makes the gate fail (mutation check), with the run attached.

Generated by Claude Code

Activity

  1. amar-python commented on Nov 9, 2026

    @amar-python
    OwnerAuthor

    Fixed in #202 (merged as 203c8ae).


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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