work / hindsight

Hindsight

Memory teaches an AI your facts. Hindsight teaches it your patterns of being wrong — and then corrects its advice for your specific blind spots.

An AI that knows your facts can answer you. An AI that knows how you tend to be wrong can disagree with you.

Status
Built at the YC GStack × GBrain hackathon, May 2026
Outcome
The concept shipped into GBrain two days later as the named “Hindsight calibration wave”
Stack
TypeScript · Express · five GBrain skills · Chrome extension
Source
hindsight-extension ↗ · hindsight-skills ↗

01  The idea

Every personal-AI memory system stores what you said. None of them store whether you were right.

That is a strange gap, because the single most useful thing a system could know about you is the shape of your errors: that you are consistently early on timelines, or overconfident about hiring, or too bearish on your own projects. Facts make an assistant informed. A track record makes it useful.

Hindsight extracts gradeable predictions from your own writing, grades them against what actually happened, finds the places you contradicted yourself, and builds a calibration profile — which then gets applied when the AI gives you advice.

02  How it works

Your pagesprose, notesextract-takesgradeable claimsresolve-outcomesgrade vs realityfind-contradictionswhere you flippedhindsight-profileyour bias patterncalibrated-adviseadvice, correctednext prediction enters the same loop
Five skills, one loop. Extraction is the cheap part; the value is in grading against outcomes and aggregating the result into a profile that changes what the assistant says next time. Schematic — boxes illustrative, not to scale.

03  Your calibration profile

A calibration profile, computed live. Toggle how each past prediction actually turned out and watch the profile change. This is the number a memory system cannot give you, because it stores what you said and not whether it happened.

grade_takes → calibration_profile

Brier score is the mean squared error between your stated confidence and what happened: 0 is perfect, 0.25 is a coin flip, and above that you would do better inverting yourself.

04  What happened next

  • Two days after the hackathon, GBrain shipped v0.36.1.0 — titled in its own release notes as the “Hindsight calibration wave”. 88 files, ~11,900 lines, adding exactly this loop: extract gradeable claims, grade them over time, apply the resulting bias profile when giving advice. Commit 3a0e111
  • The name is load-bearing in the codebase, not a passing mention. It is in the database migrations, the design doc, and the architecture map — every one of these is a link you can check: src/schema.sql:1371 ↗“v0.36.1.0 Hindsight calibration wave (migrations v67-v71)”
    docs/architecture/KEY_FILES.md:543 ↗“## Hindsight calibration (key files cluster)”
    DESIGN.md:5 ↗“formalized during the v0.36.1.0 Hindsight calibration wave’s design review”
  • GBrain’s own benchmark documentation lists Hindsight alongside MemCog, Zep, ByteRover and Supermemory as comparable systems in the personal-AI memory space — docs/eval-bench.md:482 ↗. The repository has ~29.7k stars, so this is not a quiet corner of GitHub.
  • To be precise about credit: this was an independent reimplementation at production scale, not our code. GBrain had claim extraction ten days before the hackathon (src/core/cycle/extract-takes.ts, v0.28.6). What was new was closing the loop — grading claims against outcomes and feeding the bias profile back into advice — and Garry Tan credited the submission publicly for the idea. Their release also added the quantified evaluation ours never had.

Honest limits. Ours was a weekend skills demo with no quantified evaluation — we showed the loop worked on a handful of hand-picked examples and never measured extraction quality or grading accuracy. That is precisely the gap the production version closed with its cat14 and cat15 benchmarks, and it is a fair criticism of what we shipped.