Open-source consumer genomics: find a sequencing provider, upload your raw DNA data, and explore reports, ancestry, and polygenic scores — privately, on infrastructure you can self-host.
HealthTypeScript · PLpgSQLGitHub @themariodiegoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Your genome, on your terms. Inherit is an open-source consumer genomics
platform — created by Plus Bio as an open-source
project for the public good. It supports uploading your own genome data,
reading informational reports, exploring ancestry, and asking a configured
Copilot about your results. Inherit does not sell sequencing.Read the full README ↗Your genome, on your terms. Inherit is an open-source consumer genomics platform — created by Plus Bio as an open-source project for the public good. It supports uploading your own genome data, reading informational reports, exploring ancestry, and asking a configured Copilot about your results. Inherit does not sell sequencing.
Inherit is not a company yet: Mario Diego runs the hosted service at inherit.bio as an individual, and Plus Bio does not run it. It shares a design language with Plus Bio; accounts are separate, there is no SSO, and no personal, health, or genetic data flows between Inherit and any Plus Bio service in either direction (see About and the privacy policy).
e2e/rls.spec.ts).e2e/network-audit.spec.ts), not a promise.Follow the local first-run sequence in order. It
covers the pinned package manager, local stack and migrations, environment
loading for seeds, and the upload signer that Storage must accept. Copying
.env.example and starting the app alone does not enable uploads.
The recorded first run passed on a fresh GitHub-hosted Ubuntu checkout on 23 September 2026. It followed the local guide through signup, the synthetic VCF upload and results, including limited ancestry and unconfigured Copilot states. This is separate from ordinary CI and does not prove hosted deployment, optional inference or large-file capacity.
pnpm test runs unit tests, including three suites that need Chromium for
real DOM checks. pnpm e2e invokes the guarded browser harness
for the Playwright suite (RLS, network audit and upload/report flows). It
requires the local stack and a production build; see the self-hosting guide
for its prerequisites. It is not a substitute for first-run setup.
Before a draft push, run the focused unit tests for each changed flow, type
checking, lint and all twelve repository quality gates. The owner approved
complete hosted unit verification on 4 October 2026, after the earlier hosted
database and browser decisions. Before a merge or production change, the
complete hosted unit, database and browser suites must pass on the final
commit. The full hosted unit command remains pnpm test.
Include pnpm test:source-inventories in that focused pre-push group whenever
source files, environment reads, migrations or email templates change. It
checks the complete environment, synthetic-marker path, migration-dispatcher
and email-fixture inventories. Run it alongside the changed flow's tests;
the complete hosted suites remain required on the final commit.
Run the complete discovered unit inventory and keep the full test report.
For commit 1493f4b, the inventory is 599 files and at least 9,780 tests.
Require zero failures, skips and retries. A missing file, test, report or job
means HOLD. Future commits must use their complete discovered inventory;
do not reduce it to conceal a test. Keep all assertions and test time limits.
The first local full run at 1493f4b remains FAIL: 9,778 of 9,780 tests passed,
and two failed at their original 5,000 ms limit. Those failures remain open
until the complete suite passes on the final commit.
The complete local migration rollback proof remains required. Production then requires the exact dry-run sentinel, guarded apply and read-only verification. Scientific, carrier, legal and human-study approvals remain separate. A draft push does not authorize a merge or production change. See the dated decisions for the complete policy.
Twelve pnpm gate:* checks read the repository rather than a description of
it: routes against the register, claims against their citations, copy against
a plain-vocabulary list, environment variables against both the template and
the self-hosting guide, secrets over the tracked tree and its history, plus
jurisdictions, report templates, result headings, legal placeholders and
comparator names, non-template citation surfaces and SQL fixture includes.
Two more compare a deployed database with the repository:
its migrations and its report catalog.
gate:names is the one that cannot run from a clean checkout: its comparator
denylist is private, and it reads the path in NAME_DENYLIST_FILE. Point that
at a file outside the repository and the gate runs — its other three rules
(unreviewed external hosts, organisation-shaped names, evaluative words beside
either) check the whole tree and every commit message since the allowlist's
baseline, which is the half that catches things a file-only scan cannot.
Skipping it locally is how a failure reaches CI.
gate:secrets has the opposite trap, and it is easy to walk into: it scans
the tracked tree, so a file that is still untracked is invisible to it. A
new genome fixture passes locally and then fails in CI on the very next push,
because committing is what makes it tracked. Stage new files (git add)
before running the gates, or run them again after committing — every fixture
needs its classification, its generator and its current SHA-256 in
e2e/fixtures/PROVENANCE.md, which is what stops a real person's file being
committed as a synthetic one.
Twelve repository gates run in CI. gate:schema-drift deliberately does not — it compares a
deployed database against supabase/migrations, and in CI that database was
built from those same files seconds earlier, so it could only ever confirm
itself. It belongs against a deployed environment, after a deploy, and it
fails when it cannot check: for a condition nothing else can see, a
skipped check is indistinguishable from a healthy one.
gate:catalog-drift is its counterpart for content. Deploying code never
refreshes public.report_templates, so a corrected template in
data/templates reaches nobody until the catalog is refreshed. Until then, a
report whose deployed text is registered as superseded shows the
historical-wording notice over that same old text. The gate compares
every published report field with the repository and names the wording that
data/report-scientific-corrections.json records as superseded. CI runs it
once against the freshly seeded stack, which can only confirm its own model
of the seed, not detect drift; run it with SUPABASE_DB_URL after each deploy
and each catalog refresh.
The hosted instance at inherit.bio runs on Vercel. A clone from the button needs the environment variables described in docs/self-hosting.md before it serves anything, and uploads also require Storage to accept the dedicated signer. The optional prepared worker needs its own host, configuration and lifecycle checks; the deploy button does not start it. FASTQ alignment and BAM/CRAM variant calling remain unimplemented.
Apply migrations before the code that needs them, and check afterwards. A
deployment whose database is behind its application fails in the least visible
way available: the routes calling the missing functions return their
deliberate, detail-free 503, so nothing reaches an error aggregator and the
test suite stays green because CI builds its database from the migration files
themselves. That happened here, to every upload, for as long as it took a
person to say their upload did not work. pnpm gate:schema-drift exists
because of it; run it after each deploy.
No sequencing sales, no imputation (ADR-0003), no microbiome claims (different assay), no diagnosis — Inherit is informational and says so on every report.
AGPL-3.0. Sample data: synthetic and public reference material only (data/samples/PROVENANCE.md).