KeyzHub
19Keys Β· community archive

stochastic-layer

A scoreboard for every maybe β€” forecast ledger with named forecasters, strict grading, and computed calibration so track records are measured, not remembered.

β—† 2 commits history main
UNLOCK THE CODE

Read the overview free. Drop your email once to unlock the clone command and source across the whole archive.

One email unlocks every project here. No spam.

main
β–Έ references/
β–Έ scripts/
Β· LICENSE
Β· README.md
Β· SKILL.md
README

Stochastic Layer

A scoreboard for every maybe β€” so "I'm 70% sure" means something, and everyone's track record is computed instead of remembered.

A forecast ledger with named forecasters, strict grading, and calibration scoring, in one stdlib-only Python file. Companion to semantic-layer β€” that one governs facts; this one governs maybes. Built and battle-tested inside the 19Keys empire; take the code, build your own.

The problem, in plain terms

Think about how people grade their own guesses: by memory. And memory cheats. It keeps the hits and quietly drops the misses. That's how someone honestly believes they're "right 95% of the time" while the receipts say 25%. Nobody lied. There was just no notebook keeping score.

Now think about a good weather forecaster. They're not right every time β€” nobody is. They're something better: when they say 70% chance of rain, it rains about 70% of those times. Their number means something. That's called calibration, and it's the difference between a forecaster and a fortune-teller.

The fix, in four moves

  1. Every maybe goes in the book BEFORE the answer. Exact claim, a deadline, a number for how sure, and the name of who said it. No date, no number, no name β€” it doesn't count.
  2. Changing your mind gets rewarded, not hidden. New evidence arrives, you update your number β€” and admitting the odds dropped is counted as a virtue. The book literally tracks downward updates as a score.
  3. Reality grades strictly, and misses stay forever. When the deadline comes: TRUE, FALSE, or PARTIAL β€” against exactly what you wrote, not what you wish you'd written. Erasing a miss breaks the scoreboard, so nothing gets erased.
  4. The score computes itself. The book tells each person β€” and each AI agent β€” their honesty score, and answers the real question: of the times you said 70%, how often did it actually happen?

Everyone on the team β€” humans and AI helpers alike β€” carries their own scoreboard, on the same strict rules. When anyone claims a track record, you don't argue. You ask the book.

Quickstart

# put `fcast` on your PATH (one shared ledger for the whole team)
mkdir -p ~/.local/bin
printf '#!/bin/sh\nexec python3 %s/scripts/forecast.py --state "$HOME/.claude/claimgraph/forecasts.jsonl" "$@"\n' "$(pwd)" > ~/.local/bin/fcast
chmod +x ~/.local/bin/fcast

# log a maybe β€” before the answer, with a number and a name
fcast add "We hit 1000 signups by Sep 1" -p 70 --by 2026-09-01 --who alex

# evidence arrived; the odds dropped; say so (this is the honorable move)
fcast update F0001 -p 55 --note "pace slowed after week 2"

# reality reports; grade it strictly
fcast resolve F0001 -o FALSE --note "reached 640 by the date"

# the scoreboard β€” computed, never self-reported
fcast score

The one-liner

We used to grade our guesses by memory β€” hits remembered, misses forgotten. Now every maybe goes in the book before the answer, with a number and a name on it. Reality grades it strictly, misses stay forever, and the book keeps everyone's honesty score.

License

MIT. Take it, rename it, make it yours.