Skip to content

omnidevx-core v0.2.0 Release Notes

Release Date: 2026-07-19

Overview

Second release of omnidevx-core: period aggregation and identity resolution, the two pieces that turn a store of raw canonical events into a DeveloperPeriodReport — one person's activity over one period, combining every source that observed them. This is the direct prerequisite for the SPACE/AI-SPACE/DORA analytics engines and the dashboard exports built on top of it.

Highlights

  • DeveloperPeriodReport (omnidevx.developer-period/v1) — a daily-summary-then-rollup pipeline (BuildDaily/Rollup/Build): combined + per-source metric views, session IDs deduplicated across day boundaries (not naively summed per day), coverage scoring, and a data quality warning for period-total snapshot events (e.g. GitHub devx.profile.snapshot) that aren't yet merged into daily buckets rather than silently dropped or double-counted.
  • Identity resolution (identity package) — Person/Identity/Map resolve GitHub usernames, hashed git commit emails, and device-scoped local accounts to one canonical personId. NewMap rejects an identity claimed by two different people as a configuration error rather than silently picking one.
  • Combined vs. bySource, applied. Metrics that combine safely across sources (sessions, tokens, cost, commits) appear in both views; metrics that don't (e.g. autonomous task completion, pending cross-source normalization) stay bySource-only.

Verification

Not just unit tests: report.Build ran against the real local event store — a 7-day report over 15,450 stored events (Claude Code + git) reproduced identically across repeated runs and reported full 7/7 day coverage. A later 30-day run against 86,000+ events across four sources (Claude Code, git, GitHub, Codex CLI) confirmed the same determinism and correctly flagged unmerged GitHub snapshot events via the data-quality warning rather than silently misreporting them.

Installation

go get github.com/plexusone/omnidevx-core@v0.2.0

Usage

s, _ := store.Open(store.Options{})
read, err := s.Read(ctx, store.Query{Period: period})

r := report.Build(read.Events, report.Subject{PersonID: "person:jane"}, period)
// r.Metrics.Combined["commits"], r.Metrics.BySource["git/git"]["commits"], ...
// r.Sources, r.Quality.CoverageScore

See Period Reports and Identity.

Documentation

  • Site: https://plexusone.github.io/omnidevx-core
  • Ecosystem specs (PRD/TRD/PLAN/ROADMAP): currently in devfolio/docs/specs, migrating here.
  • devfolio — the devfolio devx dashboard command builds a DeveloperPeriodReport from the local store and exports it as a dashforge dashboard, the first real consumer of this release's types.
  • omnidevx — batteries-included engine composing all collectors.
  • omni-openai — Codex CLI collector (omnidevx package).
  • omni-github — GitHub contribution collector (omnidevx package); its devx.profile.snapshot and devx.contribution.snapshot events are the ones this release's data-quality warning flags as not yet merged.

Migration

No breaking changes from v0.1.0. report and identity are new packages, purely additive.

What's Next

Session-to-commit correlation (linking AI coding sessions to the commits they produced) is the one item from this milestone's scope not yet started — a distinct time-window correlation algorithm, deliberately not bundled into this release. The SPACE/AI-SPACE/DORA analytics engines (space/dora packages) are next up, building directly on DeveloperPeriodReport.

See CHANGELOG.md for the categorized commit list.