@@ -40,13 +40,27 @@ model.
4040
4141- Root package ` omnidevx ` — canonical ` Event ` IR, ` Collector ` contract,
4242 periods, provenance.
43+ - ` store ` — JSONL event store (` ~/.plexusone/omnidevx/data/ ` ), idempotent
44+ writes, period/product-scoped reads.
45+ - ` identity ` — resolves GitHub usernames, hashed git emails, and
46+ device-scoped local accounts to a canonical ` personId ` .
47+ - ` report ` — builds ` DeveloperPeriodReport ` (` omnidevx.developer-period/v1 ` )
48+ from stored events: daily summaries, weekly/monthly rollups, combined +
49+ bySource metrics, coverage scoring.
4350- ` providers/claudecode ` — thin provider reading Claude Code local session
4451 history (` ~/.claude/projects/ ` ). Stdlib only.
52+ - ` providers/git ` — thin provider emitting ` devx.change.committed ` from
53+ local git history, with AI co-author attribution. Built on
54+ [ ` grokify/gogit ` ] ( https://github.com/grokify/gogit ) .
55+ - ` providers/genericotel ` — OTLP/JSON metrics receiver for tools without a
56+ dedicated provider.
4557
4658Thick providers with heavy dependencies live in vendor repos, e.g. the
4759Codex CLI collector in
4860[ ` omni-openai/omnidevx ` ] ( https://github.com/plexusone/omni-openai )
49- (requires a SQLite driver).
61+ (requires a SQLite driver) and the GitHub contribution collector in
62+ [ ` omni-github/omnidevx ` ] ( https://github.com/plexusone/omni-github )
63+ (REST + GraphQL).
5064
5165## Privacy
5266
@@ -71,6 +85,23 @@ Provenance on every event records the collection mode (`history`, `otel`,
7185` hooks ` , ` api ` , ` survey ` ) and a confidence score, so downstream metrics can
7286distinguish observed values from historical reconstruction.
7387
88+ ### Period reports
89+
90+ ``` go
91+ s , _ := store.Open (store.Options {})
92+ read , err := s.Read (ctx, store.Query {Period: period})
93+
94+ r := report.Build (read.Events , report.Subject {PersonID: " person:jane" }, period)
95+ // r.Metrics.Combined["commits"], r.Metrics.BySource["git/git"]["commits"], ...
96+ // r.Sources, r.Quality.CoverageScore
97+ ```
98+
99+ ` report.Build ` is reproducible: the same stored events always produce the
100+ same report, and reprocessing with a changed metric formula never requires
101+ recollection. See [ Period Reports] ( https://plexusone.github.io/omnidevx-core/concepts/reports/ )
102+ for the combined-vs-bySource rules and [ Identity] ( https://plexusone.github.io/omnidevx-core/concepts/identity/ )
103+ for resolving multiple accounts to one person.
104+
74105## Specifications
75106
76107Ecosystem PRD/TRD/PLAN/ROADMAP currently reside in
0 commit comments