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.

rhysmaiden/grocery_db

https://github.com/rhysmaiden/grocery_db · scanned 2026-06-15 23:50 UTC (2 months, 3 weeks ago)

24 raw signals (0 security + 24 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 3 weeks ago · v1 · 21 actionable findings from 1 signal source. 3 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 147 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
make_item software healthy tests/test_ingest.py:6
conn software healthy tests/test_ingest.py:27
test_first_ingest_creates_product_and_event software healthy tests/test_ingest.py:33
test_same_price_no_new_event software healthy tests/test_ingest.py:38
test_price_change_creates_event software healthy tests/test_ingest.py:48
test_shrinkflation_creates_attribute_event software healthy tests/test_ingest.py:59
test_reingest_same_day_idempotent software healthy tests/test_ingest.py:71
test_duplicate_sku_in_snapshot_ignored software healthy tests/test_ingest.py:78
test_staleness_guard software healthy tests/test_ingest.py:84
test_first_scrape_of_backfilled_product_rebaselines_silently software healthy tests/test_ingest.py:93
test_simple_grams software healthy tests/test_units.py:4
test_multipack software healthy tests/test_units.py:8
test_multipack_later software healthy tests/test_units.py:12
test_each software healthy tests/test_units.py:16
test_unparseable_returns_none software healthy tests/test_units.py:20
test_normalise_kg_to_g software healthy tests/test_units.py:25
test_normalise_litre_to_ml software healthy tests/test_units.py:29
test_normalise_none_passthrough software healthy tests/test_units.py:33
_r2_setting software healthy dashboard/app.py:20
_r2_client software healthy dashboard/app.py:29
_remote_db_mtime software healthy dashboard/app.py:42
ensure_db software healthy dashboard/app.py:51
get_conn software healthy dashboard/app.py:77
query software healthy dashboard/app.py:86
dollars software dead dashboard/app.py:90
price_history software healthy dashboard/app.py:94
attribute_history software healthy dashboard/app.py:102
history_figure software healthy dashboard/app.py:109
chain_badge software healthy dashboard/app.py:171
unit_price software healthy dashboard/app.py:183
card_title software healthy dashboard/app.py:191
show_detail software healthy dashboard/app.py:199
render_product_cards software healthy dashboard/app.py:227
connect software healthy src/grocery_db/db.py:89
_migrate software healthy src/grocery_db/db.py:103
download software healthy src/grocery_db/backfill.py:30
import_file software healthy src/grocery_db/backfill.py:42
_chains software healthy src/grocery_db/cli.py:22
cmd_scrape software healthy src/grocery_db/cli.py:30
cmd_ingest software healthy src/grocery_db/cli.py:56
cmd_run_daily software dead src/grocery_db/cli.py:89
_hotprices_fallback software healthy src/grocery_db/cli.py:120
cmd_push_raw software dead src/grocery_db/cli.py:139
cmd_daily_ingest software dead src/grocery_db/cli.py:144
cmd_logs software dead src/grocery_db/cli.py:172
cmd_backfill software dead src/grocery_db/cli.py:181
cmd_match software dead src/grocery_db/cli.py:191
cmd_pull software dead src/grocery_db/cli.py:201
cmd_push software dead src/grocery_db/cli.py:206
cmd_stats software dead src/grocery_db/cli.py:211

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

LabelLayerStatusPath
README.md software healthy README.md
pyproject.toml software healthy pyproject.toml
requirements.txt software healthy requirements.txt
test_ingest.py software healthy tests/test_ingest.py
test_units.py software healthy tests/test_units.py
app.py software healthy dashboard/app.py
scrape.yml software healthy .github/workflows/scrape.yml
__init__.py software healthy src/grocery_db/__init__.py
db.py software healthy src/grocery_db/db.py
backfill.py software healthy src/grocery_db/backfill.py
cli.py software healthy src/grocery_db/cli.py
ingest.py software healthy src/grocery_db/ingest.py
units.py software healthy src/grocery_db/units.py
__main__.py software healthy src/grocery_db/__main__.py
r2.py software healthy src/grocery_db/r2.py
__init__.py software healthy src/grocery_db/scrapers/__init__.py
woolies.py software healthy src/grocery_db/scrapers/woolies.py
coles.py software healthy src/grocery_db/scrapers/coles.py
aldi.py software healthy src/grocery_db/scrapers/aldi.py
common.py software healthy src/grocery_db/scrapers/common.py
__init__.py software healthy src/grocery_db/matching/__init__.py
identical.py software healthy src/grocery_db/matching/identical.py

LabelLayerStatusPath
tests software healthy tests
dashboard software healthy dashboard
.github software healthy .github
workflows software healthy .github/workflows
src software healthy src
grocery_db software healthy src/grocery_db
scrapers software healthy src/grocery_db/scrapers
matching software healthy src/grocery_db/matching

LabelLayerStatusPath
products data healthy src/grocery_db/db.py
price_events data healthy src/grocery_db/db.py
attribute_events data healthy src/grocery_db/db.py
match_groups data healthy src/grocery_db/db.py
match_members data healthy src/grocery_db/db.py
scrape_runs data healthy src/grocery_db/db.py

LabelLayerStatusPath
StalenessError software healthy src/grocery_db/ingest.py:20
ColesSession software healthy src/grocery_db/scrapers/coles.py:48
ColesBrowserSession software healthy src/grocery_db/scrapers/coles.py:126
ChainTimeout software healthy src/grocery_db/scrapers/common.py:24

LabelLayerStatusPath
R2_SECRET_ACCESS_KEY cicd healthy
R2_ENDPOINT_URL cicd healthy
R2_ACCESS_KEY_ID cicd healthy
R2_BUCKET cicd healthy

LabelLayerStatusPath
scrape cicd healthy .github/workflows/scrape.yml
ingest cicd healthy .github/workflows/scrape.yml
test cicd healthy .github/workflows/scrape.yml

LabelLayerStatusPath
repobility-clone-8nfbxh_j software healthy /tmp/repobility-clone-8nfbxh_j

LabelLayerStatusPath
sqlite data healthy README.md

LabelLayerStatusPath
vps::aws hardware healthy .github/workflows/scrape.yml

LabelLayerStatusPath
gha::scrape cicd healthy .github/workflows/scrape.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/1945d068-5e79-4021-bc57-48b4debf3954/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/1945d068-5e79-4021-bc57-48b4debf3954/

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.