Reality Diff
Git for beliefs — a version history of a claim: evidence, confidence, and why that number moved. For people tracking a story that is still unfolding (products, policy, markets) who want a trail, not a vibe.
Why I built this
News feeds overwrite your memory. Last week’s confidence on a rumor disappears under today’s take. I wanted git-style operations on a belief: commit when evidence actually moves, diff two weeks, blame a confidence jump, browse the claim as of a SHA, or revert a panic. So I built Reality Diff.
News feed vs this
| Typical news / search | Reality Diff | |
|---|---|---|
| Memory | Overwritten | Versioned history per claim |
| Confidence | Vibes / headlines | Explicit score + reason when it moves |
| Compare | Manual screenshots | diff between commits |
| Undo | None | revert to an earlier belief state |
Features
Claims
- Open a claim (e.g. “Apple is going to replace Siri with an LLM”)
- Living object: evidence for/against, unknowns, predictions, confidence
- Commits only when meaningful new evidence appears (cosmetic rewrites dropped)
Git-style ops
commit·diff·blame·revert·watch·log- Browse the belief as of any SHA
- Background watch via OS timer (macOS LaunchAgent / Linux systemd / Windows task) or the UI interval picker
Surfaces
- Local web UI (
realitydiff serve→ http://localhost:8000) - CLI for agents and scripts
- REST API for the same actions
Install
One line (macOS or Linux, no sudo):
curl -fsSL https://raw.githubusercontent.com/kavin0x/RealityDiff/main/install.sh | sh
It installs uv into ~/.local/bin if you don't have it, installs realitydiff as an isolated uv tool, and can save your XAI_API_KEY to ~/.config/realitydiff/env (permissions 600). It never uses sudo and only touches your shell rc if you say yes.
# options go after `sh -s --`
curl -fsSL https://raw.githubusercontent.com/kavin0x/RealityDiff/main/install.sh | sh -s -- --yes # no prompts
curl -fsSL https://raw.githubusercontent.com/kavin0x/RealityDiff/main/install.sh | sh -s -- --ref <tag-or-commit>
curl -fsSL https://raw.githubusercontent.com/kavin0x/RealityDiff/main/install.sh | sh -s -- --uninstall
Prefer to read it first? Download install.sh, look it over, then run sh install.sh --help.
Or install by hand:
uv tool install "realitydiff @ https://github.com/kavin0x/RealityDiff/archive/main.tar.gz"
# or
pipx install "realitydiff @ https://github.com/kavin0x/RealityDiff/archive/main.tar.gz"
Then:
realitydiff serve --host 127.0.0.1 # open http://127.0.0.1:8000
The installed CLI keeps claims in ~/.local/share/realitydiff/ (set REALITYDIFF_DB to change it). Inside a checkout it still uses data/.
Try it (from a checkout)
export XAI_API_KEY=...
uv sync --extra dev
uv run realitydiff serve
# open http://localhost:8000
uv run realitydiff open "Apple is going to replace Siri with an LLM."
uv run realitydiff watch <claim_id>
uv run realitydiff log <claim_id>
uv run realitydiff diff <claim_id> <sha_a> <sha_b>
uv run realitydiff service install --interval 300
uv run pytest
Stack
Python 3.11+ · uv · local web UI + REST · xAI Responses API (web + X search) · MIT
License
Metadata
Release files for realitydiff 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| realitydiff-0.4.0.tar.gz | 108.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| realitydiff-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.0 kB
Release files / realitydiff-0.4.0.tar.gz
| Download URL | realitydiff-0.4.0.tar.gz |
|---|---|
| Size | 108.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08db9986a0bf2be8533c2c6b0a20a7b4af6e806e8ddc45a7c7fbd6b4a5a754ee
|
|
BLAKE2b-256 checksum How to use checksums |
d8f97832f5b401eedf2476f1a917ee5b7c7aff8a14327841ff9cd270e094a743
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / realitydiff-0.4.0-py3-none-any.whl
| Download URL | realitydiff-0.4.0-py3-none-any.whl |
|---|---|
| Size | 50.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dcac1705945a5b054080bdba176c30e445904e5ed41004b942fc2999ae9f8acd
|
|
BLAKE2b-256 checksum How to use checksums |
713f00b65dc65bd31863568846c515be33d849f78e4b7592d27d22b54c427b6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for realitydiff 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for realitydiff-0.4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.