Engineering case study

A prediction is easy to show.
A result needs a record.

Guardian Research Lab is an AI-assisted browser-extension project exploring a practical question: how do you preserve enough context to evaluate a changing forecast honestly?

The problem

A number on a screen is not an audit trail. Prices move, views change, feeds go stale and some results never arrive. If a tracker silently repeats a stake or mistakes a missing result for a loss, its performance report becomes misleading.

The system

The extension reads supported visible markets from owned capture sessions. It checks freshness and market identity, saves meaningful revisions, then creates a separate simulated portfolio. The record includes price, score, phase, source, model and all outcome probabilities.

Observe → validate → freeze → simulate → confirm an exact result → reconcile once → export.

The portfolio reserves integer-penny stakes for each ticket. Every overlap counts. A result can settle all matching revisions and accumulator legs without double-crediting a return. Voids, pending outcomes and withheld forecasts stay distinct.

A real parsing bug

A live football page displayed a global Full Time filter, while an individual row actually showed Next Goal. Treating the filter as authoritative would create a forecast for the wrong market. A captured public DOM fixture now checks that row-local market labels take precedence and ambiguous outcomes are withheld.

What was built

  • Manifest V3 extension with a movable research Guide and persistent local history.
  • Live/upcoming sports observation, market identity checks and stale-data handling.
  • £1,000 virtual portfolio with singles and 2–6-leg accumulator experiments.
  • Probability calibration evaluated on later data, with explicit unproven-performance status.
  • Separate game research desks, records and Excel-compatible exports.
  • This Cloudflare-hosted demo, reviewed download package and public release evidence.

What the evidence supports

EvidenceWhat it establishes
922 passing regression checksTested software behaviour for the 17.18.0 release; not accuracy or profit.
Captured public DOM fixturesSpecific observed layouts and parsing regressions; not every game or provider.
Synthetic browser trialsAccounting, UI, export and persistence under fabricated scenarios.
320 / 390 / 840 px checksPaper portfolio wrapping at the tested widths.
Explicit final-result settlementFixture-tested exact football full-time handling; live end-of-match acceptance remains separate.

Read the machine-readable release evidence ↗

What remains open

Exact-provider coverage, independent security review, narrower extension permissions and a general-public distribution review remain unfinished. A well-tested ledger can expose a weak strategy; it cannot turn that strategy into a profitable one. No measured independent prediction edge or guaranteed arbitrage is claimed.

Why this project matters

The useful engineering work is the discipline around the prediction: ownership, chronology, persistence, deduplication, numerical precision and transparent failure states. Those are the same habits needed for reliable automation, monitoring and decision-support products.