Skip to content

Add shared Gauge/GaugeNeedle fixtures for coverage guard (currently excluded) #429

Description

@jeremy

Summary

Gauge and GaugeNeedle both carry rich-text description_attachments
companion arrays (Gauge: optional non-nullable; GaugeNeedle: @required), but
neither has a shared JSON fixture under spec/fixtures/. They are exercised
only inline in go/pkg/basecamp/gauges_test.go.

Why it matters

The fixture-completeness guard (scripts/check-fixture-coverage.rb,
spec/fixtures/manifest.yaml) can only guarantee a schema keeps a validated
representative when that schema has ≥1 shared-fixture target. With no shared
fixture, Gauge / GaugeNeedle are recorded in the manifest's
excluded_schemas (reason + this issue) rather than covered_schemas — so a
future required-field change to either would not be caught by the guard.

Resolution options

  1. Add shared fixtures spec/fixtures/gauges/get.json (and/or a needle-bearing
    variant) with a populated description_attachments, then move Gauge /
    GaugeNeedle from excluded_schemas to covered_schemas with pointer
    targets (root `` → Gauge; `/needles/0` → `GaugeNeedle`).
  2. Or keep them excluded if the inline Go coverage is deemed sufficient and
    demand stays low — but then update this issue with that decision.

Low urgency; filed so the exclusion is tracked rather than silent.

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