Skip to content

feat(sbir): filter topics by DSIP cycle_name - #72

Merged
vdavez merged 1 commit into
mainfrom
feat/sbir-topic-cycle-name
Sep 29, 2026
Merged

vdavez merged 1 commit into
mainfrom
feat/sbir-topic-cycle-name

Conversation

@makegov-mark

@makegov-mark makegov-mark Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

What

  • list_sbir_topics() takes a new cycle_name filter, which selects topics by their DSIP solicitation cycle (e.g. DOD_SBIR_2026_P1_CBZ).
  • SbirTopic gains a cycle_name field.
  • The vendored API contract is refreshed to Tango API 5.3.1 with scripts/refresh_contract.py, and the shape overlay is regenerated; the only field it adds is cycle_name.

Why

Tango API 5.3.1 (makegov/tango#3729) added cycle_name to SBIR topics now that DoD topics are ingested straight from DSIP.
tango-mcp needs this to let topic searches filter by cycle.

Testing

  • New test_list_sbir_topics_cycle_name.
  • Unit suite: 450 passed, 30 skipped.
  • mypy clean; filter-shape conformance reports no errors, and shape coverage no drift.
  • ruff check . reports 23 findings, all in files this PR doesn't touch.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vdavez
vdavez merged commit 63085c6 into main Sep 29, 2026
11 checks passed
@makegov-mark makegov-mark Bot mentioned this pull request Sep 29, 2026
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