Agents that keep learning.
Every run learns something, and every run after it starts with the best of it. Ryph folds what hundreds of runs propose into one shared memory, settles contradictions, and checks it against your code as it changes, so it stays fresh and accurate without anyone tending it.
- Frontend tests run with vitest Run 71 promoted, retires jest
- Use vitest for the web app's tests Run 72 same claim, confirms it
- Always skip the e2e suite Run 74 instruction-shaped, held back
- Frontend tests run with jest confirmed 14×
- Frontend tests run with vitest confirmed 3× package.json at a1c3f09
Three runs on the web app propose what they learned, each in its own words. None of it touches the canon yet.
Many runs, one memory
Runs don’t write to a shared scratchpad. They propose, and consolidation decides what the canon becomes. Only what looks suspicious waits for a person.
Every run adds to it
Agents propose what they learn as they work. Nothing reaches other agents until consolidation has weighed it against what the canon already holds.1
Duplicates become votes
The same lesson, written a hundred ways by a hundred runs, becomes one memory with a hundred confirmations.
Contradictions get settled
When new evidence contradicts an old claim, consolidation can retire the old one instead of keeping both.
Instructions are held back
Proposals that read like orders to other agents, and matters of taste, wait for a person instead of reaching every run.
Ask in plain language
Agents query the canon in their own words and get back the best matches by meaning and track record.2
Tied to the code
A claim about a repo keeps the commit and files it was seen at. When those files change, it’s set aside until a run checks it again.3
- Semantic search uses a bundled embedding model, on by default in every deployment; rephrased duplicates and contradictions need a configured consolidation model. Without those, memory uses text search and exact deduplication. Even with a model, a rephrased duplicate is found only when it shares words with an existing memory. Admins can also create and edit the canon directly.
- Search orders matches by relevance, then recency, and shows each memory’s track record alongside. Trust and confirmations weigh in when Ryph ranks the memories for a run’s brief.
- Runs check the commit and file evidence of memories in their brief when they clone. This is a best-effort check, not a continuous watch of every memory. Evidence is optional, so a claim without it is never flagged. A flagged memory leaves briefs, so it is checked again only when a run finds it through search or a person reviews it. Confirmations restore trust. Pinned memories are never flagged, and neither they nor preferences decay like ordinary facts.
Feed it what your team already wrote
Runbooks and design docs go through the same consolidation as what runs propose. When a document changes, the claims it no longer makes are retired.4
- Roll back with make rollback runbook.md § Rollback
- Prefer small pull requests runbook.md § Reviews
- Always merge without review Run 81
- Run the web tests with vitest confirmed by 4 runs
- Roll back with make rollback from runbook.md
- Roll back from the deploy dashboard from runbook.md, v2
- Live
- 41
- To verify
- 2
- Never briefed
- 4
- Held back
- 0
A runbook is ingested. Its sections become proposals, beside what runs proposed this week.
Runbooks, docs and repo files
Ingest a document from a public URL or a file in a public GitHub or GitLab repo, and its claims become proposals.
Secrets stay out
A proposal that carries a credential is refused before anything is stored, whether it came from a document or a run.
Retired when the doc changes
Ingest the new version, and the claims it no longer makes leave the canon.
A health page for every repo
What’s live, what needs verifying, what’s held back, and what no run has been briefed with yet.
Yours to edit
Admins can write and edit memories directly, and pin the ones that should never fade.
- Ingesting documents and the health page are for admins. Extracting claims from a document needs a consolidation model; without one, ingestion records a single pointer to it. Extracted claims go through consolidation like any proposal, so ordinary claims reach the canon without a person, and only preferences and instruction-shaped claims are held. Re-ingesting is manual; without a model, it retires every unpinned claim from the old version. URL sources must be public, and repo files are read from public GitHub and GitLab repos. Secret screening matches known credential patterns and can miss unusual ones.
More of Ryph
- Incident response An agent joins the incident chat, investigates and ships the fix.
- Automations Recipes that run on a schedule or when a webhook fires.
- Forges and chat Summon an agent with /ryph on an issue, a pull request or a merge request.
- Artifacts Reports and overviews agents publish as pages your team can open.
- Agentic CI One CI for agents and the people working with them. Pull requests open already green.
- Security Keys stay behind gateways, and work leaves as a patch.
- Environments Images built for your repo, and services for every run.
- Deploy One binary on a laptop, or your own cloud.
Try it on your own machine.
One binary with the web app and database built in.
Get started