Skip to content

Ditto v0.2.0 — the native plugin

Choose a tag to compare

@ohad6k ohad6k released this 11 Jul 19:47

Your mined profile now splits into separate personal layers for work, design, and writing, with full-history mining as the quality default and incremental cached re-runs.

Works across agents: Claude Code and Codex install through the one-command bootstrap (Cursor and Gemini through the explicit adapters). Codex additionally gets a native plugin with automatic routing between the four skills.

Install

For the cross-agent bootstrap:

npx skills add ohad6k/ditto@ditto

Then tell the agent run ditto. The bootstrap creates a read-only full-history plan, displays the exact selected source tokens and planned worker/reducer passes, and waits for approval before model work. It installs the approved core profile across supported agents; namespaced automatic routing requires the native plugin.

For native Codex routing:

codex plugin marketplace add ohad6k/ditto --ref v0.2.0 --json
codex plugin add ditto@ditto --json

The plugin adds ditto:mine, ditto:work, ditto:design, and ditto:write. Plugin installation itself scans no logs and schedules no mining passes.

Full profile or quick preview

Full-history mining is the quality default. It reads all eligible history, reuses validated caches, shows the exact remaining plan, and requires cost approval before any worker or reducer runs.

Quick preview is opt-in through run ditto quick preview or --preview. Quick preview creates a starter profile from selected history, not the full profile. The widest frozen bounded calibration recovered 5/22 required traits, so this release does not present preview as equivalent to a full mine.

Upgrade and migration

Re-run the install command to update. The v0.2.0 skills.sh runtime is pinned to exact SHA-256 values for both ditto.py and MINING_PROMPT.md; mutable main bytes are not accepted.

Existing classic you profiles can be staged, cut over, and rolled back. Cutover moves the legacy skill out of host discovery before the new active pointer is written. The isolated release proof restored the exact legacy bytes and prior pointer state after rollback.

Verification

  • 127 unit tests, the Codex plugin validator, the bootstrap skill validator, CLI help checks, JSON parsing, and git diff --check pass on the local release candidate.
  • Separate spec-compliance and Python safety/quality reviews both returned PASS.
  • Codex CLI 0.142.5 discovered exactly the four native skills. Uninstall/reinstall preserved isolated private state byte-for-byte.
  • A real full-history mine ran against a frozen, locally redacted snapshot of 1,968 actual sessions and 3,284,544 selected source tokens. It produced 147 validated reports, 846 validated evidence items, and one strong reducer. The activated profile version is e61ae342557034ff9a9b, and work, design, and writing are active with five rules each.
  • The identical frozen-corpus update then planned zero workers and zero reducers with all 147 segments cached.
  • Against the unchanged private calibration, full history recovered 12/22 requirements: work 5/10, design 5/5, and writing 2/7. That materially beats quick preview's 5/22, but it is not complete recall.
  • Redaction happens locally before selected text reaches the user-chosen model. ditto.py makes zero network calls. Runtime download and hash verification occur before log discovery.

See the dogfood evidence, the security boundary, and the roadmap.

Known limits

  • Full history remains the quality default relative to preview, but the first real run missed 10/22 frozen traits. The release must not imply that a full mine guarantees a complete personal model.
  • Additional failed or aborted compatibility attempts occurred around the 147 successful assigned reports while correcting Windows sandbox and oversize-input orchestration. Exact provider billing remains outside Ditto's measurement.
  • Native Codex routing was not uniformly clean when an older global Ditto profile competed with the plugin.
  • Native Claude plugin packaging is not claimed in this release; the skills.sh bootstrap and direct adapter remain supported.
  • Benchmarks, a leaderboard, and proof/launch videos are deferred to a separate later release.

To receive future release updates on GitHub, choose Watch -> Custom -> Releases. A star bookmarks the repository but does not subscribe to releases.