molt
keeps software alive, proves every change safe Live on Google Cloud
Life after code, hands-off

Keep dead software alive, and prove every change safe before it ships.

molt revives abandoned apps, patches them, migrates their databases, and modernizes them with AI, all on its own. It makes the one dangerous change nobody dares, then proves it safe on a throwaway clone before anything reaches production.

9
Lifecycle stages covered
plan to govern
8
Ecosystems proven on
Rails, Python, Node, more
441
Tests, green on GitLab CI
26 of 26 jobs pass
100%
Changes proven before ship
on a clone, never prod

What molt does

one engine, four surfaces, all proof-backed

Patch and keep secure, continuously

Reads live OSV, CISA KEV and EPSS feeds, finds what the app actually imports, and ships the least breaking fix. A newly disclosed CVE re-opens the loop on its own.

archivy: 3 real CVEs closed, app still boots

Prove database migrations safe

The dangerous change nobody automates. It runs the old and new versions over the same rows on a clone and proves the previous release cannot tell anything happened. Postgres, MySQL, Mongo and Neo4j.

Neo4j: dirty is UNSAFE, clean is SAFE (live)

Revive into an AI app, proven good

Turns a dead app into one with a grounded support agent: hybrid retrieval plus rerank, cites every claim, escalates when unsure. molt proves the AI is actually good before it ships.

scifact: rerank lifts recall@10 .836 to .852

Keep it alive in production

An error budget gate decides when molt may ship hands-off. When something breaks it localizes the cause, proves a fix, and ships it. The step others cannot take, because they cannot prove safety.

observe, localize, prove, ship

The live store

real data from this app on Google Cloud, loaded live
—
Customers
/reports/active
—
Products
/products
—
Top seller, units
/reports/top-products
loading products…

Ask the assistant

live tenant-isolated retrieval over the docs, on Google Cloud
Type a question and press Ask. It queries the live assistant running on Google Cloud.

Adopted apps

real abandoned projects, tap to expand

Proof in action

the fix most tools get wrong, done right

archivy, werkzeug

CVE-2023-46136, app pins werkzeug==2.3.3
1
Find the hole
live OSV says werkzeug 2.3.3 is vulnerable (CVE-2023-46136)
2
Pick the least breaking fix
newest safe is 3.1.9, a major jump that breaks the app. molt picks 2.3.8, in line.
3
Install it in a clean clone
werkzeug 2.3.3 to 2.3.8, requests to 2.33.0, jinja2 to 3.1.6
4
Boot the app and verify
app still imports, the hole is closed, behaviour preserved
PROVEN. The fixes install and the app still boots. A naive bump to 3.1.9 would have broken it.

The agent office routes the work

not everything is a version bump
archivy

3 findings, all clean in line bumps, so

hands-off, fast deterministic path
cabot (Python 2)

13 findings, 7 need a breaking upgrade, and the runtime is dead, so

language port, flagged for a human

A planner classifies each problem (version bump, sandbox upgrade, dead library swap, or language port) and sends the cheap cases down the fast deterministic path, spending an agent only on the hard ones.

Decision ledger

hash-chained, append-only, every ship recorded
app, change, proof chain verified
ce9b6c28
helpyio/helpy, rails-html-sanitizer 1.3.0 to 1.5.0CVE-2022-32209, data URI payload stripped
PROVEN
a1f4·2e7d
archivy, werkzeug 2.3.3 to 2.3.8CVE-2023-46136, app boots on the fix
PROVEN
7b20·c93a
demo, add users.last_login (NOT NULL plus backfill)expand and contract, old build reads unchanged
PROVEN
33e9·08b1
graph, unique constraint User.emailchecked on live data, 0 violations
PROVEN

Tested across all of molt

305 tests, the patcher is only part of it