Commit Graph

12 Commits

Author SHA1 Message Date
YeonGyu-Kim 027c543340 chore(omo-claude): re-sync lsp to cache-safe vendored-mcp path resolution
Upstream lazy-lsp-mcp resolves the lsp server via new URL('../../../mcp/lsp/cli.js',
import.meta.url) -> the vendored plugin/mcp/lsp/cli.js, so the bundled hook boots
from a node_modules-free cache without require.resolve.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 14:11:57 +09:00
YeonGyu-Kim c6bfc14268 feat(omo-claude): vendor telemetry component with claude identity
SessionStart daily-active component: omo_claude_daily_active, omo-claude: salt,
platform derived from PRODUCT_NAME, shared PostHog key/host. model/permission_mode
optional in validator. Equivalence + distinctness tests pass; SessionStart smoke
exits 0 with OMO_DISABLE_POSTHOG=1 (no send). Builds; F3 cache boot verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:50:17 +09:00
YeonGyu-Kim 6f9dfb080d chore(omo-claude): re-sync vendored lsp with upstream lazy-mcp backend
sync-components pulled the upstream codex-lsp lazy-start MCP backend (lazy-*
modules + cli.ts) into the vendored lsp component. Rebuilds + F3 cache boot verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:50:17 +09:00
YeonGyu-Kim b68b6be2ff feat(omo-claude): aggregate 14 skills + author root hooks.json and plugin test
sync-skills aggregates 4 component skills + 10 shared; 6 harness-tool skills get
the Claude Code Harness Tool Compatibility block; start-work's embedded Codex
section is demoted. Root hooks.json uses ${CLAUDE_PLUGIN_ROOT}, widens PostToolUse
to Write|Edit|MultiEdit, and registers no create_goal PreToolUse (D4). Plugin
aggregate test pins hooks/skills/mcp shape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim 71e4e2a6d0 feat(omo-claude): port ultragoal to per-session file-based goals
Goal content under ./.omo/ultragoal/sessions/claude-<id>/ keyed by Claude Code
session_id (claude: prefix); UltragoalScope struct threaded; plan version 2 +
index.json registry with read-only v1 forward-migration (never deletes v1);
create_goal/get_goal/update_goal dependency dropped (file/steering-based); the
PreToolUse create_goal budget guard kept compiled+unit-tested but its hooks.json
registration removed (inert in CC). 26 tests pass. ultragoal removed from
sync-components HANDLED set — it is a hand-fork, not patch-synced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim c284d8cf6b feat(omo-claude): vendor start-work-continuation with claude session prefix
codex:->claude: session prefix; model/turn_id optional in Stop validator. QA: no-op without boulder.json, no crash.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim 743671b43f feat(omo-claude): vendor ultrawork component
Keyword detector injects directive.md on ulw/ultrawork; silent otherwise. QA: directive injects, no crash.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim 3272037c3e feat(omo-claude): vendor rules component with CC patches
model/turn_id optional (SessionStart keeps model), CLAUDE_PLUGIN_ROOT/DATA env
fallback, .claude-plugin manifest path, PostToolUse matcher Write|Edit|MultiEdit,
OMO_CLAUDE_RULES_* env aliases, bundled-rules vendored. Injects w/o turn_id (QA).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim 186fade2e5 feat(omo-claude): vendor lsp component
Builds to dist/cli.js; hook bundled self-contained by sync-mcp. dist/ ignored.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:11 +09:00
YeonGyu-Kim 69bca167fa feat(omo-claude): vendor comment-checker component with CC patches
Vendored from omo-codex via sync-components: model/turn_id optional in the
PostToolUse validator (permission_mode kept), CLAUDE_PLUGIN_ROOT hook path.
Builds clean; runs without crash on a CC-shaped PostToolUse payload (no turn_id).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:10 +09:00
YeonGyu-Kim 024788c823 feat(omo-claude): fork telemetry with distinct identity and derived literals
omo_claude_daily_active event + omo-claude: distinct-id salt; PostHog key/host/
LEGACY_PARENT_PACKAGE kept identical (shared project). platform + tmp-fallback
derived from constants (no literals). 4-flag opt-out incl inherited OMO_*.
cross-package-equivalence + cross-product distinctness tests (RED->GREEN).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:10 +09:00
YeonGyu-Kim 9ecbbd443f feat(omo-claude): scaffold package skeleton
Mirror packages/omo-codex layout for the Claude Code port: package.json
(@oh-my-opencode/omo-claude), tsconfig, index.d.ts, src/ + src/telemetry
stubs, and the plugin/ tree (.claude-plugin, components, agents, hooks,
scripts, skills, test, mcp) with a CC-worded plugin README + placeholder
package.json.

Plan: .omo/plans/omo-claude-plugin-port.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:40:10 +09:00