marketscout

Risk register

Known risks in marketscout, what is already in place, and what is still open. Likelihood (L) and impact (I) are the developer's own assessment on a three-point scale (low, medium, high) and are meant to be challenged. Reviewed 26 October 2026.

IDRiskLIControls in placeStatus and next action
R1A published claim is not supported by its sourcesMHCitation rules; second-pass verification against cited evidence only; summary written from surviving claims; claim trail; evaluation setPartly mitigated. Verifier and drafter usually share a model. Next: use a different model to verify; add a review queue for flagged claims
R2A wrong number is publishedMHPrices and changes computed in code from feeds; rule-based number check on every claim, recorded in the trail and in evaluationPartly mitigated. The number check does not block publication. Next: decide whether a failed number check should remove the claim
R3Stale or incorrect source dataMMRetrieval time recorded on every item; required sources must answer or no brief is publishedOpen. Next: show source age and outlet count per claim
R4Data source terms or licences are breachedMHSources named on every brief; SEC contact header set; public pages labelled as researchOpen. Terms of the news feeds, the Yahoo chart endpoint, CoinGecko and the other sources have not yet been formally reviewed. Next: review each and record the outcome here before wider promotion
R5Model provider outage or rate limitsHLOrdered fallback across providers; waits and retries; ledger flags fallback and waiting; failed subjects do not stop the digestMitigated for the free tier. A paid tier would remove most waits
R6A provider changes or retires a model, and quality driftsMMModel names set in configuration; every run records the model used; evaluation re-runnableOpen. Next: run the evaluation on a schedule and alert on a drop
R7Prompt injection through news headlinesLMThe pipeline has no tools and takes no actions, so injected text can at worst distort a brief; the verifier checks claims against the same headlines; drafting rules limit claims to what the headline statesAccepted for now. Next: add injection cases to the evaluation set
R8A key or token is leakedLHKeys in an ignored local file and in GitHub secrets only; the Telegram token is removed from error text; keys never printedMitigated. Next: enable secret scanning on the repository
R9A brief is read as investment adviceMMEvery page and message states it is not advice; claims are attributed; no recommendations are producedMitigated. Wording is reviewed with any change to the pages
R10Cost or quota overrunLLFree tiers during development; token budget per brief and a ledger flag when exceededOpen. The budget warns but does not stop a run
R11Personal data is collectedLMThe pipeline and the static site collect no reader data of their own; the web host's standard request logs are outside the project's controlAccepted. Any feedback form or analytics added later needs a privacy notice first
R12The record of what was done can be alteredLMLedgers, trails and briefs are committed to git, so history shows any changeAccepted. Records are not signed
R13The scheduled run fails without anyone noticingMMThe run is visible in GitHub Actions; a successful run sends a Telegram digestOpen. Next: send an alert when a run fails
R14The verifier over-trims and loses attributionMLTrimmed claims are labelled in the trail with the original textMonitoring. Seen in evaluation (one case in 22); tracked in each run
R15Narrow coverage misleads about the marketMLThe scope is stated on the site and the method pageAccepted while the watchlist is small

How this register is used

Each open item has a next action. Items move to mitigated when the control exists and a test or evaluation case demonstrates it. The register is reviewed whenever a feature that changes risk is added.

Research summary from public sources, not investment advice.