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
- 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`).
- 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.
Summary
GaugeandGaugeNeedleboth carry rich-textdescription_attachmentscompanion arrays (Gauge: optional non-nullable; GaugeNeedle:
@required), butneither has a shared JSON fixture under
spec/fixtures/. They are exercisedonly 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 validatedrepresentative when that schema has ≥1 shared-fixture target. With no shared
fixture,
Gauge/GaugeNeedleare recorded in the manifest'sexcluded_schemas(reason + this issue) rather thancovered_schemas— so afuture required-field change to either would not be caught by the guard.
Resolution options
spec/fixtures/gauges/get.json(and/or a needle-bearingvariant) with a populated
description_attachments, then moveGauge/GaugeNeedlefromexcluded_schemastocovered_schemaswith pointertargets (root `` →
Gauge; `/needles/0` → `GaugeNeedle`).demand stays low — but then update this issue with that decision.
Low urgency; filed so the exclusion is tracked rather than silent.