Commit Graph

8 Commits

Author SHA1 Message Date
YeonGyu-Kim f77338b4a2 refactor(omo-codex): sync telemetry component sources 2026-05-28 13:58:11 +09:00
YeonGyu-Kim b164cb94be docs(omo-codex): document session_start telemetry source
Spell out that omo_codex_daily_active now fires from two sources -
install_completed (CLI installer) and session_start (Codex plugin
SessionStart hook) - so readers understand DAU/WAU/MAU reflects real
Codex usage and not just install events. Opt-out env vars are unchanged.

- README.md (root + packages/omo-codex/): both reasons listed.
- docs/legal/privacy-policy.md: discloses session_start as a second
  trigger for the same event, same opt-out posture.
- docs/reference/cli.md: telemetry section now describes both PostHog
  streams (omo_daily_active vs omo_codex_daily_active) and both Codex
  reasons.
- CHANGELOG.md: adds the plugin-runtime wiring under Unreleased.
2026-05-28 13:58:11 +09:00
YeonGyu-Kim bd867019f9 feat(omo-codex): wire Codex SessionStart telemetry for DAU/WAU/MAU
Adds a new Codex plugin component `telemetry` that emits a single
omo_codex_daily_active event (reason: session_start) from every Codex
SessionStart hook, with the same UTC-day deduplication, hashed
installation identifier, and four-flag opt-out as the install-time
event. Previously omo-codex telemetry only fired on install_completed,
so DAU/WAU/MAU under-reported real Codex usage.

- New plugin component packages/omo-codex/plugin/components/telemetry/
  mirrors the rules/comment-checker/lsp pattern: own src/, tsc build,
  vitest tests, package.json (posthog-node dep), hooks/hooks.json.
- src/codex-hook.ts wraps createPluginPostHog().trackActive(..., "session_start")
  with safeShutdown so Codex session startup never blocks on telemetry.
- Plugin root hooks.json + workspaces register the new component
  alongside rules and ultrawork on SessionStart.
- Aggregate test expectations updated to include the telemetry directory.
- cross-package-equivalence.test.ts pins product-identity constants and
  shouldDisablePostHog behavior to stay byte-equivalent between the CLI
  installer (src/telemetry/) and the plugin runtime
  (plugin/components/telemetry/src/), so the two PostHog sources never
  drift on event name, distinct_id base, dedup file path, or opt-out
  flags.
- PostHogActivityReason union in the CLI-side posthog.ts gains
  "session_start" so future CLI paths can emit the same reason without
  a type break.
2026-05-28 13:58:11 +09:00
YeonGyu-Kim f87eceadae fix(cli): protect existing Windows Codex shims
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-28 13:58:11 +09:00
YeonGyu-Kim 3de8bb2578 fix(omo-codex): write local installer command shims on Windows
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-28 13:58:11 +09:00
YeonGyu-Kim 737dae8d9e feat(omo-codex): add PostHog telemetry with omo_codex_daily_active event + 4-flag opt-out 2026-05-28 13:58:11 +09:00
YeonGyu-Kim 400006ec2c feat(omo-codex): scaffold @oh-my-opencode/omo-codex workspace package 2026-05-28 13:58:11 +09:00
YeonGyu-Kim 2415f37bc0 vendor: import codex-plugins as packages/omo-codex/{plugin,scripts,marketplace.json,MARKETPLACE.md} 2026-05-28 13:58:11 +09:00