Skip to content

Feat/tiermapping#3

Merged
ryanm101 merged 3 commits intomainfrom
feat/tiermapping
Jan 15, 2026
Merged

Feat/tiermapping#3
ryanm101 merged 3 commits intomainfrom
feat/tiermapping

Conversation

@ryanm101
Copy link
Contributor

@ryanm101 ryanm101 commented Jan 15, 2026

Benefits:

Standardized tier handling
Prevents invalid tier values in integrations
Reusable mapping logic
Note: Keep vendor-specific value mapping (e.g., "1 - Critical") in integration code

- Add TierUtils class for tier validation and mapping
  - get_name(), validate_tier(), map_tier() methods
  - TIER_NAMES constant (1-5 mapping)
  - Reduces ~20 lines per integration

- Add testing fixtures for easier test development
  - GraphFixture: simple_graph(), with_dependencies(), invalid_graph()
  - ManifestFixture: minimal(), full_featured(), with_tier()
  - Reduces ~30 lines of boilerplate per integration test

- Add comprehensive test suites (20 new tests)
- Update SDK exports for new modules
- All 63 tests passing

Phase 3 complete - DX improvements delivered
- Field uses alias='x-security' so must use model_validate() with dict
- Simplified fixtures removing invalid 'topics' field from Capability
- All tests passing, mypy clean
x-security field is optional (has default None) but mypy incorrectly
flags it as required due to Field alias configuration
@ryanm101 ryanm101 merged commit 69edd83 into main Jan 15, 2026
2 checks passed
@ryanm101 ryanm101 deleted the feat/tiermapping branch January 15, 2026 16:13
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