fix: validate prediction feature dimensions - #19
Merged
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe API now enforces exactly 16 numeric features for prediction requests. Model documentation describes the fixed-width contract. Tests cover successful inference and rejection of 15-feature vectors. ChangesFeature Dimension Contract
Estimated code review effort: 2 (Simple) | ~10 minutes ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
CoreyLeath-code
marked this pull request as ready for review
August 9, 2026 18:30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes SentinelAI's
/predictendpoint enforce the 16-feature input contract of the shipped defaultSentinelModel. Invalid-width vectors are now rejected by FastAPI/Pydantic validation instead of reaching PyTorch and failing as internal server errors.Architecture Changes
input_dim=16; the public API now exposes that existing constraint at its boundary.Files Changed
api/main.py— defines the 16-feature contract with Pydantic list-length validation.api/core/model.py— corrects the source-level model contract documentation; the previous “arbitrary-length” claim did not match its linear input layer.tests/test_predict.py— verifies one valid 16-element request returns its mocked model result and one 15-element request is rejected with HTTP 422.Validation Performed
The following workflows completed successfully on this pull request:
Commands and Real Output
Risks
Follow-up Recommendations
NEEDS HUMAN DECISION
None.
Summary by CodeRabbit
New Features
Bug Fixes
Tests