
Emulo is Ohad Krispin's MIT-licensed session miner: a zero-dependency Python CLI, plus Claude Code and Codex plugins, that reads the messages you typed in Claude Code, Codex, Copilot CLI, OpenCode, and Antigravity logs and compiles them into a personal you.md working profile where every rule carries dated verbatim quotes, installed where your agent reads it and served over MCP.

**Its distinguishing record is not the mining, it is the published failure: a 60-run placebo study where the mined profile failed to separate from an invented profile of the same length on all 9 pre-registered comparisons, published by the author with the harness attached, then partially reversed in a September rerun.**

## What it is

A stdlib-only `emulo.py` (pip install emulo, 0.6.7 on PyPI) that reads only the messages you typed, from each tool's own session logs, JSONL for Claude Code, Codex, Copilot CLI, and Antigravity, and the SQLite store for OpenCode, explicitly rejecting AGENTS.md, CLAUDE.md, memory files, and typed self-descriptions as sources, so the profile is mined behavior rather than restated intent.
The mining flow runs inside your agent (`run emulo`): a read-only preflight plan first, your approval before any model call, then per-chunk worker passes that must ground every inferred rule in at least two distinct sessions, writing separate work, design, writing, and video layers.
Install targets put the profile where each host looks: a project AGENTS.md (the one route verified end to end, in Codex), OpenCode's instructions, a Claude Code skill that must be typed (`/you`), and Cursor and Gemini rule files whose loading is not verified, plus an MCP server exposing one tool, `load_emulo_profile`.
`emulo verify you.md` re-checks every quote in the profile against the mined corpus and exits nonzero on a quote it cannot find, because the failure that matters is a confident rule citing something you never said.

## Status

**Maintained rather than developed, with the self-published failure as the headline.**
294 stars, MIT, created 2026-07-08, pushed 2026-10-02, as of 2026-10-11 (GitHub API), with PyPI at 0.6.7 (2026-09-25) and the README scoping future work to security and redaction fixes, broken install or loading paths, and reproducible bugs.
An HN search finds no thread of its own as of 2026-10-11, only a 2013 product named Emulos, so the footprint is the repository and the author's own channels.

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=ohad6k/emulo&type=date&theme=dark&legend=top-left" />
  <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=ohad6k/emulo&type=date&legend=top-left" />
  <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=ohad6k/emulo&type=date&legend=top-left" />
</picture>

The test record, in full: in the August 2026 study, 60 runs with every prediction written down in advance, the mined profile did not separate from an invented profile on any of 9 comparisons, and the author published it at emulo.vercel.app/placebo, a page whose headline is that his own product lost to a profile he made up.
The September rerun, run the night Fable 5.1 shipped with a newer July 2026 profile and a new invented placebo, separated on 5 of 9 comparisons on Fable 5.1 and 1 of 9 on Opus 5, with the pre-registration, harness, scorer, and every raw output linked at emulo.vercel.app/fable.
Both tests measure whether the output changed, not whether it got better, and the README says so rather than claiming otherwise.

## Strengths

- **The placebo publication is the integrity signal this category lacks: the author ran the experiment that could kill the claim, published the 0-for-9 result, and made the failure the product page.**
- Receipts are enforced where they mechanically can be: rules need two distinct sessions, quotes must be verbatim and dated with known session ids, and `emulo verify` fails closed on an unsupported quote.
- The privacy boundary is concrete: extraction, redaction, caches, and the profile stay local, a local model keeps the whole run local, and the one network step (hosted mining) is explicit.
- The support matrix separates "installs" from "a host was seen loading it" per host, the distinction most personalization tools blur.

## Cautions

- **The efficacy evidence is negative to mixed: 0 of 9 comparisons in August, then 5 of 9 and 1 of 9 in September, all measuring change rather than improvement, so nobody has shown the profile makes work better.**
- Loading is the weak link: the verified end-to-end path is a single Codex test, Claude Code needs a manual `/you`, and Cursor, Gemini, OpenClaw, and Hermes installs are unverified for loading.
- The first full-history calibration mine recovered 12 of 22 required traits, so a shipped profile can land with half its target categories missing.
- The AGENTS.md install writes your verbatim quotes into a file that is usually committed, and the README's warning to keep it out of version control is easy to miss.
- Maintenance mode is explicit, so expect fixes, not new mining capability.

## Pricing

Free and open source under MIT, no account or sign-in, nothing to buy in the tool.
The site lists one optional paid service, a hand edit of a profile you already mined, with no published price and no role in using the tool, so no price history applies.

## Compared to

- [claude-mem](../claude-mem/index.md): captures and compresses session context for reinjection inside one harness at a time, where Emulo distills your side of the sessions into one portable profile any host can read.
- [File-based agent memory](../file-based-agent-memory/index.md): the convention Emulo's output lands in; the convention holds what you wrote deliberately, Emulo mines what you never wrote down.
- [GBrain](../gbrain/index.md): the other personal-profile member; GBrain is pages you author with corrections, Emulo is rules mined from behavior with receipts you verify.

## Bottom line

**Recommended for engineers with months of Claude Code, Codex, or OpenCode history who want a first draft of their unwritten rules, will run `emulo verify`, and will read the placebo page before trusting the profile.**
Not for teams (the artifact is one person's), and not for anyone who needs demonstrated improvement rather than demonstrated change.
My disagreeable claim: the 0-for-9 August result is the most trustworthy artifact in this category, because it is the only one a member published about itself with the harness attached.

## Changes

- 2026-10-11 - Created after the session-analytics resolution routed the ohad6k/emulo candidate here as a memory candidate, with the 0-for-9 placebo result recorded as the governing fact.

## See also

- [claude-mem](../claude-mem/index.md) - the capture-and-compress sibling that reinjects context rather than distilling you
- [File-based agent memory](../file-based-agent-memory/index.md) - the convention Emulo's you.md installs into
- [GBrain](../gbrain/index.md) - the authored-pages counterpart with corrections instead of mined receipts
- [Engrim](../engrim/index.md) - the cross-CLI episodic store at the opposite end of the mining spectrum
- [Session Analytics](../../session-analytics/_index.md) - the category this candidate was routed here from

## References

- https://github.com/ohad6k/emulo - repository, MIT, 294 stars, created 2026-07-08, pushed 2026-10-02 (GitHub API, as of 2026-10-11)
- https://raw.githubusercontent.com/ohad6k/emulo/main/README.md - the mining flow, the not-memory positioning, the per-host support matrix, the maintenance scope, and the tested-so-far summary
- https://emulo.vercel.app/placebo - the August 2026 placebo page: the 60-run study where the mined profile lost or tied all 9 pre-registered comparisons, published with the method
- https://emulo.vercel.app/fable - the September 2026 day-one rerun: 5 of 9 on Fable 5.1 and 1 of 9 on Opus 5, with pre-registration, harness, scorer, and raw outputs linked
- https://pypi.org/pypi/emulo/json - PyPI at 0.6.7 (uploaded 2026-09-25), MIT, first release 0.5.0 on 2026-07-16
- https://hn.algolia.com/api/v1/search?query=emulo&tags=story - no thread of its own, only a 2013 "Emulos" analytics product (queried 2026-10-11), the missing-footprint record
