Reality Gate
Keep your forge. Keep control of your work.
See what your Git project depends on GitHub, GitLab, or Forgejo for — and prove you can keep working if any of them goes down.
Reality Gate is a local software continuity and proof workstation. Understand provider dependencies, run work with receipt-backed proof, prepare recovery, and ship without making any single provider the root of trust. It works alongside GitHub, GitLab, Forgejo, and ordinary Git — with no migration required. Adding a repository is passive: Reality Gate reads the local path and git state, and never rewrites your repo, your remotes, or your history.
Windows 10/11 x64 · ~113 MB download
Windows may show "Windows protected your PC" on first launch — choose More info → Run anyway. Verify the SHA-256 first.
Keep your forge
Keep GitHub. Keep GitLab. Keep Forgejo. Reality Gate is the continuity layer underneath your workflow.
Local-First
Local source and ordinary Git stay authoritative. Reality Gate never moves your history or rewrites your repository — it reads it and reports on it.
Provider-Aware
Reality Gate maps the workflow's real dependencies — remotes, configuration, local git state — and reports exposure honestly instead of pretending the provider isn't there.
Proof-Backed
Continuity checks, CI runs, drills, and recovery evidence are emitted as inspectable receipts — signed, hashed, and persisted locally.
Add a repository without touching it.
Onboarding is four steps, and the first one is passive. Reality Gate discovers a Git repository by reading its local path and git state — it does not modify, migrate, or rewrite anything.
On a fresh launch with no repositories, Reality Gate walks you through: add a repository, analyze dependencies, run a continuity check, get proof. Add the path you already use — GitHub, GitLab, or Forgejo remotes included — and the project appears on the board exactly as your git state describes it.
- Registration is read-only for the repository: Reality Gate validates the path, records the mapping, and reads local git state.
- No migration, no import step, no forced account. Your workflow stays where it is.
- A disposable demo repository ships with the pilot, so you can run the whole flow before pointing it at a real project.
What "passive" means here: the app does not push, fetch, rewrite remotes, or alter git configuration. It reads the repository and reports what it sees. The only writes it makes are its own data and receipt directories.
Know what your work depends on.
Before claiming continuity, Reality Gate maps each capability and says who holds it — local control or a provider.
The dependency map answers one question: what stops working if the provider disappears? Each capability is classified from the repository's own state — local worktree, commit objects, branches, history — versus capabilities that flow through remotes like push, fetch, pull, and clone.
- Every capability is listed with its classification — nothing is hidden behind a single green badge.
- The Remote Hub shows where remotes actually point, with identity, branch, commit, and working-tree state.
- Provider integrations appear as cards so exposure is visible per provider, not averaged away.
Honest limit: classification is static analysis of local git state and configuration. Reality Gate does not sniff traffic, and it reports UNKNOWN rather than guessing.
Can you keep working? The card says what is actually known.
The continuity card is a state report, not a mood ring. Every reading is tied to evidence — and "not tested" is shown as not tested.
Once a project is registered, Forge Home renders a continuity card with five readings: Work, Proof, Recovery, Custody, and Provider Exposure. A reading is STRONG only when checks have run and passed; anything not yet exercised reads NOT TESTED or UNKNOWN — never an implied pass.
- Work: what local operations are known to keep working, and where they stand.
- Proof: whether proof has been generated and persisted for this project.
- Recovery: whether a recovery drill, bundle, or restore evidence exists.
- Provider Exposure: which capabilities still depend on a provider, in plain terms.
What this means for the demo below: the card reports provider exposure (push/fetch/clone) and marks proof and recovery as NOT TESTED — the honest state before any drill has run. The next two sections are what happen when you convert those readings into evidence.
Real receipts — the illustrative one is gone.
This page used to show a specimen receipt. It now shows receipts the running app actually produced, with their real IDs, checks, and outcomes — including the ones it could not pass.
The continuity drill walks the project through its own toolchain — source phase, CI phase, build phase, recovery phase, persistence phase — inside an isolated workspace. Provider credentials are removed from the environment, external git remotes are absent inside the drill, offline tooling is enforced, and any contact with a provider is observed and recorded.
- Source: PASSED — project resolved against its registered authoritative path.
- CI: PASSED — the repository's own workflow ran inside the isolated clone.
- Build: INCONCLUSIVE — the demo repository contains nothing executable to build.
- Recovery: INCONCLUSIVE — with no build evidence, there is nothing to restore-test.
- Receipt: PERSISTED — written with a SHA-256 integrity envelope.
Why the overall result is INCONCLUSIVE and that is the right answer: the drill refuses to fake a pass. A repository with no build produces "nothing to prove" — so the receipt says exactly that, in phases, and persists it anyway.
Screenshot provenance: every screenshot on this page is the real desktop application driving a synthetic demo repository (disposable, with example GitHub/GitLab remotes) under the app's own test-isolation flags. No real project was used, opened, or modified — and the demo data is exactly what the app itself showed.
Verification is a separate action from running.
Running produces a result. Verification produces a signed record that the result is what it claims to be.
When a CI run completes, Reality Gate snapshots the source state before and after the run, compares them by hash, and signs the run manifest with the machine's ECDSA P-256 key. The Runroom then shows the outcome badge and a VERIFIED RECEIPT badge — earned by a real signature, not assumed. A public key ships with each receipt, and a Compare action checks one run against another.
- The run manifest covers run ID, repository, branch, commit, pipeline hash, machine fingerprint, outcome, and source-state hashes.
- If the source changes while the run is in flight, the receipt records a mutation detection rather than hiding it.
- The signed receipt JSON (with its public key) is exported to the project's own workspace with the run record.
What a verified receipt is — and is not: it proves the record — which run, on which commit, on which machine, with which outcome — was signed and has not been modified. It is not a claim that the code is correct. The receipt verifies provenance, not quality.
Prepare the recovery path before you need it.
Reality Gate cannot keep a provider online — no local tool can. What it can do is verify, in advance, that your local continuity path works.
The Recovery Vault creates a verified Git bundle for the project, checks it with SHA-256, and writes a signed receipt. "Prove I Can Recover This Project" then runs the recovery drill end to end. When a provider goes down, the procedure is already evidence-backed — you are not debugging recovery in the middle of an outage.
- Create verified Git bundle → bundle verified + SHA-256 + signed receipt.
- Recovery drill → runs the phases and persists the receipt regardless of outcome.
- Isolation inside the drill: credentials removed, no external remotes, no provider contact observed.
Preparedness, not magic: this is planned continuity and recovery capability, not autonomous failover. Reality Gate does not reroute your CI or keep a provider alive. It verifies that the local path — bundles, history, toolchain — is ready before it is needed.
Developer Pilot — staged honestly.
Reality Gate v1.1.0 is a Windows developer pilot. Here is exactly what that means, including the parts that are not ready.
Reality Gate v1.1.0
Available for Windows
The suite is verified at 269/269, and the number is composed of three checked suites: 269/269 static tests, a 24/24 live registration-registry suite, and a 20/20 installed-runtime hardening suite. The pre-pilot audit found no blockers and no overstated claims; it recorded two known non-blocking issues in standalone (non-packaged) execution.
- The published ZIP SHA-256 matches the build manifest and the R2 artifact (verified end to end).
- The packaged app runs with Electron sandboxing, context isolation, and node integration disabled.
- CI runs execute inside isolated git clones with whitelisted commands only.
Current known limitations
- Windows only at this stage; no macOS or Linux build is claimed.
- Pilot distribution: the installer arrives inside a ZIP; Windows SmartScreen may show "Windows protected your PC" on first launch — More info → Run anyway. Verify the SHA-256 first (below).
- No auto-update channel yet; updates are manual downloads with fresh checksums.
- Two known non-blocking issues, both in standalone server execution and not affecting the packaged app: a port discrepancy between the standalone backend and the Electron shell (BUG-001), and strict IPv4 loopback binding (BUG-002).
- Continuity results are evidence of what was checked, not a guarantee of future availability; drill phases report INCONCLUSIVE when the repository contains nothing executable.
- Local-only by design: no cloud sync, no account, no telemetry — which also means there is no remote dashboard.
Download, then verify the artifact yourself.
The download is a ZIP with an installer inside. The SHA-256 below is the checksum of the ZIP you download — the same value recorded in the build manifest at build time and served by the artifact host.
Verify locally with Get-FileHash .\Reality-Gate-1.1.0-Developer-Pilot.zip -Algorithm SHA256
and compare against the value above and the checksum file. PowerShell prints the hash in uppercase and the value above is lowercase — the comparison is case-insensitive, so only the characters need to match. The checksum chain — ZIP, artifact host, build manifest — was verified end to end. The installer EXE inside the ZIP carries its own SHA-256 recorded in the build's BUILD-INFO.
Your repository stays yours
Local-first. Ordinary Git repos. No mandatory migration.
No mandatory Proof Foundry account is required for the individual continuity workflow.