Glossary and FAQ
Written by Elena David, SEO, ORM, and AI Visibility Consultant.
Glossary
Alert A newly observed valid review whose rating is less than or equal to the configured threshold. In this application, an alert is output data, not a sent notification.
CLI (command-line interface) A text-based interface operated through terminal commands. The installed executable is reputation-monitor.
Streamlit The local web interface used for uploads, website import, metrics, tables, validation messages, and downloads.
CSV (comma-separated values) A tabular text format. Python's CSV module handles delimiters and quoting rather than splitting lines manually.
Dataclass A Python class whose common data-container methods can be generated by the @dataclass decorator. The project uses frozen dataclasses for reviews and result objects.
Exit status An integer returned to the operating system. This CLI returns 0 for a completed run and 1 for its handled run-stopping errors; argument parsing can exit with 2.
Malformed row An input row that fails a required-value, date, rating, or duplicate-ID validation rule and is skipped.
Previous snapshot The baseline CSV whose valid review identifiers represent already known reviews.
Current snapshot The CSV being evaluated for identifiers that are absent from the previous snapshot.
Stable identifier A value that stays the same for the same underlying review across snapshots. The application uses review_id.
Standard error The terminal stream used for warnings and errors. It is separate from normal summary output.
Threshold The maximum rating that triggers an alert for a newly detected review. The default is 2, so new 1-star and 2-star reviews qualify.
Virtual environment An isolated Python installation context used to keep project packages separate from system packages.
pytest The third-party test runner installed through the project's dev extra.
Frequently asked questions
Does the application monitor Google reviews in real time?
No. Version 1.0 processes operator-supplied CSVs or supported static review markup from an authorized public webpage. It has no Google integration, scheduler, or real-time process.
What happens when I omit the previous snapshot?
The dashboard calculates current count, average rating, rating distribution, and review details. It does not identify any review as new or generate new-review alerts.
Can I import any website?
No. The importer supports Schema.org Review JSON-LD, Schema.org Review Microdata, the documented article.review layout, and operator-configured CSS selectors on public HTTP(S) pages. It checks robots rules and blocks private destinations and Google review surfaces. It does not bypass authentication, CAPTCHAs, anti-bot controls, rate limits, or JavaScript rendering. Use it only where you are authorized and the site's terms permit access.
How do I verify a website import before analysis?
The dashboard reports the detected format and displays extracted records, generated-ID notices, and validation findings. Analysis begins only after Analyze previewed reviews is selected.
What happens when a website review has no date or rating?
The importer leaves the value missing. The shared validator excludes the incomplete record and reports the missing field in the preview; it does not assign a default date or rating.
What happens when a website blocks automated access?
The importer stops and preserves the restriction. The dashboard displays Reviews couldn't be imported from this website. followed by guidance to upload a CSV. Select Switch to CSV Upload to continue without refreshing; the current alert threshold is preserved. Technical diagnostic details remain in application logs.
Why are there two input files?
The previous file establishes known identifiers. The current file represents the later observation. The analyzer reports current IDs that are not present in the previous valid set.
Does a changed review become new?
Not when its review_id is unchanged. Version 1.0 does not compare text, rating, date, or practice-field changes on known IDs.
Are deleted reviews detected?
No. The application does not report identifiers that disappear from the current snapshot.
Why did a rejected record not stop the import?
The application excludes an individual record with missing, invalid, or duplicated required information while keeping successfully imported reviews available. The dashboard reports imported and rejected counts; detailed findings remain in application logs. Structural problems such as missing columns or an unreadable file stop the complete import.
How is a custom threshold shown in the reports?
The CSV reason and HTML heading list the rating range selected by --maximum-rating. For example, threshold 3 describes ratings of 1, 2, or 3 stars.
In Streamlit, the slider label updates to the selected value—for example, Alert me about new reviews rated 3 stars or less. Changing it updates the maximum rating that triggers an alert; it does not cause previously known reviews to be flagged again.
Does a low rating mean a review is false or defamatory?
No. The application performs a numerical comparison only. It does not evaluate accuracy, legality, sentiment, urgency, or medical significance.
Can the application process multiple practices?
Yes. practice_id and practice_name are stored per row, and the supplied snapshots contain several fictional practices. Output is not grouped by practice.
What happens when there are no alerts?
The CSV contains only its header. The HTML table displays No new low-rating reviews.
Are existing reports preserved?
Not automatically. Files in the same output directory are overwritten. Use a separate output directory for each run that must be retained.
Is input text safe in the HTML report?
The reporter applies html.escape() to dynamic text inserted into the report, and an automated test verifies representative markup is escaped.
Where should I look up exact fields and constraints?
Use the input and output data reference. For procedures, start with Preparing reputation data.