Skip to content

feat(vehicles): add holder_count and order_winner_count; deprecate awardee_count - #23

Draft
makegov-mark[bot] wants to merge 1 commit into
mainfrom
feat/vehicle-company-counts
Draft

makegov-mark[bot] wants to merge 1 commit into
mainfrom
feat/vehicle-company-counts

Conversation

@makegov-mark

@makegov-mark makegov-mark Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

What

Adds the two vehicle company counts introduced in Tango API 5.8.0 and deprecates the old one.

  • holder_count: number of distinct companies holding one of the vehicle's IDVs.
  • order_winner_count: number of distinct companies that have won a task order under the vehicle.
  • awardee_count: now marked @deprecated (same value as order_winner_count); the API keeps serving it until its next major version.

Both new fields are added to the Vehicle model, the explicit shape schema, and the VEHICLES_MINIMAL / VEHICLES_COMPREHENSIVE defaults, right next to awardee_count, matching the API's own default list and detail shapes.
Neither is orderable or filterable.

The vendored contract is refreshed to 5.8.0 and the shape overlay regenerated.
That refresh also carries fields the API added between 5.1.0 and 5.8.0 (picked up by the generated overlay) and a new Federal Register resource with no SDK method yet, which is baselined as a tracked gap in both conformance gates, the same way eBuy requests were.

Why

Keeps the SDK's default vehicle shapes in step with the API and gives callers the clearer order_winner_count name before awardee_count goes away.

Merge timing

Merge only after Tango API 5.8.0 is deployed. Until then the API would reject the new fields in the default vehicle shapes.

Testing

  • npx vitest run tests/unit: 329 passed, including the updated default-shape parity tests and a list-vehicles parse test carrying all three counts.
  • npm run typecheck, npm run lint: clean.
  • npm run check-conformance, npm run check-shape-coverage: pass; npm run generate-shape-overlay produces no further diff.
  • Three recorded integration tests fail because the default vehicle shape changed and their cassettes are keyed on the old request URL: vehicles.test.ts (list with default shape, search by program) and edge-cases.test.ts (disallowed vehicles ordering). The cassettes need re-recording against the live API once 5.8.0 is deployed; this PR deliberately does not re-record them.

🤖 Generated with Claude Code

…ardee_count

Tango API 5.8.0 adds two company counts to vehicles: `holder_count` (distinct companies holding one of the vehicle's IDVs) and `order_winner_count` (distinct companies that have won a task order under it).
`awardee_count` becomes a deprecated alias of `order_winner_count`.

Both new fields join the `VEHICLES_MINIMAL` and `VEHICLES_COMPREHENSIVE` defaults, the `Vehicle` model, and the explicit shape schema.
Re-vendors the API contract at 5.8.0, regenerates the shape overlay, and baselines the not-yet-ported Federal Register resource as a tracked gap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant