Feature/issues 269 270 271 272 graphql registry scoring reusability#289
Merged
mijinummi merged 2 commits intoMDTechLabs:mainfrom Apr 29, 2026
Conversation
…d cross-language reusability - feat(MDTechLabs#269): implement GraphQL API for scan results · Create GraphQL schema for scans in src/modules/graphql/ · Queries: getScan, listScans, getScanResults with field selection · Filter support: by severity, rule, language, date range, status · GraphQL endpoint functional and registered in apps/api/ · Resolvers wired to existing scan result data layer · Schema documented with descriptions on all types and fields - feat(MDTechLabs#270): implement rule metadata registry · Create queryable rule registry in src/registry/rules/ · Store rule descriptions, severity levels and tags per rule · Registry queryable by id, severity, tag, language and category · All existing rules registered with complete metadata entries · Registry serves as single source of truth for rule discoverability · Structured for extension — new rules register via standard interface - feat(MDTechLabs#271): implement auto-fix confidence scoring · Create confidence scoring engine in src/auto-fix/scoring/ · Assign confidence levels: high, medium, low per fix suggestion · Scoring based on: rule certainty, AST match quality, fix complexity · Confidence scores surfaced in scan reports alongside each fix · Users can filter auto-fix suggestions by minimum confidence threshold · Scores displayed clearly in report output for informed decision-making - feat(MDTechLabs#272): implement cross-language rule reusability · Abstract common gas analysis patterns in libs/analysis-core/ · Shared rule logic reusable across Solidity, Rust and Vyper plugins · Language-specific plugins in packages/plugins/ extend core abstractions · Duplicate logic across language analyzers fully eliminated · New language support requires only a thin plugin adapter layer · Existing rules migrated to use shared core pattern abstractions Closes MDTechLabs#269, Closes MDTechLabs#270, Closes MDTechLabs#271, Closes MDTechLabs#272
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
Implements four features for MDTechLabs/GasGuard covering GraphQL query
flexibility, rule discoverability, auto-fix trustworthiness and
cross-language analysis code sharing.
Changes
#269 — GraphQL API for Scan Results
#270 — Rule Metadata Registry
#271 — Auto-Fix Confidence Scoring
#272 — Cross-Language Rule Reusability
Test Coverage
Closes
Closes #269
Closes #270
Closes #271
Closes #272