Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

sbaird123/rapt-brewing-hacs

https://github.com/sbaird123/rapt-brewing-hacs · scanned 2026-06-16 00:03 UTC (2 months, 3 weeks ago)

38 raw signals (3 security + 35 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 3 weeks ago · v1 · 31 actionable findings from 2 signal sources. 7 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 251 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.

LabelLayerStatusPath
_ensure_module software healthy tests/conftest.py:17
__init__ software healthy tests/conftest.py:45
make_v1_packet software healthy tests/test_ble_parser.py:20
make_v2_packet software healthy tests/test_ble_parser.py:32
test_v1_packet_parses software healthy tests/test_ble_parser.py:43
test_v2_packet_parses_with_velocity software healthy tests/test_ble_parser.py:57
test_v2_invalid_velocity_is_none software healthy tests/test_ble_parser.py:69
test_firmware_version_attached_to_telemetry software healthy tests/test_ble_parser.py:80
test_stale_advertisement_returns_none_but_keeps_last_data software healthy tests/test_ble_parser.py:92
test_short_packet_rejected software healthy tests/test_ble_parser.py:101
test_unknown_version_rejected software healthy tests/test_ble_parser.py:108
test_device_data_tracks_freshness software healthy tests/test_ble_parser.py:114
test_water_is_zero_plato software healthy tests/test_util.py:9
test_typical_wort software healthy tests/test_util.py:13
test_high_gravity_wort software healthy tests/test_util.py:20
test_parse_full_record software healthy tests/test_api.py:11
test_parse_naive_timestamp_assumed_utc software healthy tests/test_api.py:31
test_parse_missing_fields_are_none software healthy tests/test_api.py:36
test_parse_bad_timestamp_is_none software healthy tests/test_api.py:45
test_data_point_round_trip software healthy tests/test_data.py:14
test_data_point_from_legacy_dict_without_new_fields software healthy tests/test_data.py:30
test_session_round_trip software healthy tests/test_data.py:39
test_downsample_keeps_recent_thins_old software healthy tests/test_data.py:60
test_downsample_noop_for_recent_only software healthy tests/test_data.py:83
sg_to_plato software healthy custom_components/rapt_brewing/util.py:5
async_setup_entry software dead custom_components/rapt_brewing/__init__.py:34
_async_update_listener software healthy custom_components/rapt_brewing/__init__.py:62
async_unload_entry software dead custom_components/rapt_brewing/__init__.py:67
async_migrate_entry software dead custom_components/rapt_brewing/__init__.py:76
async_setup_entry software dead custom_components/rapt_brewing/binary_sensor.py:32
__init__ software healthy custom_components/rapt_brewing/binary_sensor.py:51
is_on software healthy custom_components/rapt_brewing/binary_sensor.py:62
extra_state_attributes software healthy custom_components/rapt_brewing/binary_sensor.py:67
available software healthy custom_components/rapt_brewing/binary_sensor.py:77
_session_summary software healthy custom_components/rapt_brewing/diagnostics.py:19
async_get_config_entry_diagnostics software dead custom_components/rapt_brewing/diagnostics.py:40
to_dict software healthy custom_components/rapt_brewing/ble_device.py:50
__init__ software healthy custom_components/rapt_brewing/ble_device.py:226
parse_advertisement software healthy custom_components/rapt_brewing/ble_device.py:78
_parse_telemetry software healthy custom_components/rapt_brewing/ble_device.py:119
_parse_v1_format software healthy custom_components/rapt_brewing/ble_device.py:139
_parse_v2_format software healthy custom_components/rapt_brewing/ble_device.py:180
handle_advertisement software healthy custom_components/rapt_brewing/ble_device.py:232
last_telemetry_at software healthy custom_components/rapt_brewing/ble_device.py:238
get_last_sensor_data software healthy custom_components/rapt_brewing/ble_device.py:242
get_last_service_info software healthy custom_components/rapt_brewing/ble_device.py:246
_entity_schema software healthy custom_components/rapt_brewing/config_flow.py:72
_cloud_credentials_schema software healthy custom_components/rapt_brewing/config_flow.py:109
_async_validate_cloud_credentials software healthy custom_components/rapt_brewing/config_flow.py:124
_hydrometer_id software healthy custom_components/rapt_brewing/config_flow.py:143

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
dashboard_config_mobile.yaml software healthy dashboard_config_mobile.yaml
README.md software healthy README.md
hacs.json software healthy hacs.json
SENSORS.md software healthy SENSORS.md
LICENSE software healthy LICENSE
info.md software healthy info.md
CHANGELOG.md software healthy CHANGELOG.md
dashboard_config.yaml software healthy dashboard_config.yaml
conftest.py software healthy tests/conftest.py
test_ble_parser.py software healthy tests/test_ble_parser.py
test_util.py software healthy tests/test_util.py
test_api.py software healthy tests/test_api.py
test_data.py software healthy tests/test_data.py
util.py software healthy custom_components/rapt_brewing/util.py
__init__.py software healthy custom_components/rapt_brewing/__init__.py
binary_sensor.py software healthy custom_components/rapt_brewing/binary_sensor.py
diagnostics.py software healthy custom_components/rapt_brewing/diagnostics.py
manifest.json software healthy custom_components/rapt_brewing/manifest.json
ble_device.py software healthy custom_components/rapt_brewing/ble_device.py
strings.json software healthy custom_components/rapt_brewing/strings.json
config_flow.py software healthy custom_components/rapt_brewing/config_flow.py
services.py software healthy custom_components/rapt_brewing/services.py
text.py software healthy custom_components/rapt_brewing/text.py
sensor.py software healthy custom_components/rapt_brewing/sensor.py
coordinator.py software healthy custom_components/rapt_brewing/coordinator.py
select.py software healthy custom_components/rapt_brewing/select.py
button.py software healthy custom_components/rapt_brewing/button.py
services.yaml software healthy custom_components/rapt_brewing/services.yaml
const.py software healthy custom_components/rapt_brewing/const.py
entity.py software healthy custom_components/rapt_brewing/entity.py
api.py software healthy custom_components/rapt_brewing/api.py
number.py software healthy custom_components/rapt_brewing/number.py
data.py software healthy custom_components/rapt_brewing/data.py
en.json software healthy custom_components/rapt_brewing/translations/en.json
validate.yml software healthy .github/workflows/validate.yml

LabelLayerStatusPath
FakeServiceInfo software healthy tests/conftest.py:42
RAPTBrewingBinarySensor software healthy custom_components/rapt_brewing/binary_sensor.py:48
RAPTPillSensorData software healthy custom_components/rapt_brewing/ble_device.py:33
RAPTPillBLEParser software healthy custom_components/rapt_brewing/ble_device.py:69
RAPTPillBluetoothDeviceData software healthy custom_components/rapt_brewing/ble_device.py:223
RAPTBrewingConfigFlow software healthy custom_components/rapt_brewing/config_flow.py:154
RAPTBrewingOptionsFlow software healthy custom_components/rapt_brewing/config_flow.py:543
RAPTBrewingText software healthy custom_components/rapt_brewing/text.py:44
RAPTBrewingSensor software healthy custom_components/rapt_brewing/sensor.py:234
RAPTBrewingCoordinator software healthy custom_components/rapt_brewing/coordinator.py:82
RAPTBrewingSessionSelect software healthy custom_components/rapt_brewing/select.py:44
RAPTBrewingButton software healthy custom_components/rapt_brewing/button.py:59
RAPTBrewingEntity software healthy custom_components/rapt_brewing/entity.py:16
RAPTCloudError software healthy custom_components/rapt_brewing/api.py:21
RAPTCloudAuthError software healthy custom_components/rapt_brewing/api.py:25
RAPTCloudClient software healthy custom_components/rapt_brewing/api.py:76
RAPTBrewingNumber software healthy custom_components/rapt_brewing/number.py:66
BrewingSession software healthy custom_components/rapt_brewing/data.py:48
DataPoint software healthy custom_components/rapt_brewing/data.py:123
Alert software healthy custom_components/rapt_brewing/data.py:167
RAPTBrewingData software healthy custom_components/rapt_brewing/data.py:196

LabelLayerStatusPath
tests software healthy tests
custom_components software healthy custom_components
rapt_brewing software healthy custom_components/rapt_brewing
translations software healthy custom_components/rapt_brewing/translations
.github software healthy .github
workflows software healthy .github/workflows

LabelLayerStatusPath
hassfest cicd healthy .github/workflows/validate.yml
hacs cicd healthy .github/workflows/validate.yml
tests cicd healthy .github/workflows/validate.yml

LabelLayerStatusPath
repobility-clone-atdtplij software healthy /tmp/repobility-clone-atdtplij

LabelLayerStatusPath
gha::validate cicd healthy .github/workflows/validate.yml
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/8ea78506-a0f7-4eb4-93ba-9221622dce8a/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/8ea78506-a0f7-4eb4-93ba-9221622dce8a/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.