Commit Graph

5143 Commits

Author SHA1 Message Date
Sisyphus 9f15a09595 Merge branch 'fix/perf-q06' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus c5268af087 Merge branch 'fix/perf-q05' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 4857666a89 Merge branch 'fix/perf-q04' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 5faba8d572 Merge branch 'fix/perf-q03' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 38990ec76f Merge branch 'fix/perf-q02' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 56d2d2543b Merge branch 'fix/perf-d10' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 5a20e4060f Merge branch 'fix/perf-d09' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 36ebafda8c Merge branch 'fix/perf-d08' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 82ddc9c6f7 Merge branch 'fix/perf-d07' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus 1db481eb9c Merge branch 'fix/perf-d06' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus a227821d27 Merge branch 'fix/perf-d05' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus dc0d64d5f1 Merge branch 'fix/perf-d04' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
Sisyphus b6b898d061 Merge branch 'fix/perf-d01' into fix/perf-omo-in-tree 2026-04-18 14:43:37 +09:00
YeonGyu-Kim edcc9a1e64 fix(todo-continuation-enforcer): defer prune interval to first idle event
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:16:40 +09:00
YeonGyu-Kim 1be1cd6e53 fix(tools/skill): make factory pure and stop defeating skill-loader cache 2026-04-18 14:15:14 +09:00
YeonGyu-Kim a068915dc4 test(perf): add plugin init regression budget
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:14:55 +09:00
YeonGyu-Kim 40bd3e02d2 test(tools/skill): cover factory laziness and skill-cache invariants 2026-04-18 14:14:00 +09:00
Sisyphus ed6ac7ea96 fix(session-notification): defer platform detection and background checks 2026-04-18 14:13:12 +09:00
YeonGyu-Kim 89d394ed3e fix(claude-code-command-loader): skip EXCLUDED_DIRS and memoize per directory
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:13:12 +09:00
Sisyphus 439957c4cd test(session-notification): cover lazy platform detect and scheduler startup 2026-04-18 14:13:07 +09:00
YeonGyu-Kim 76e8508fa4 fix(runtime-fallback): inject pluginConfig and defer cleanup interval to first event
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:12:41 +09:00
YeonGyu-Kim 4f59e91d2d test(todo-continuation-enforcer): cover lazy prune interval
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:11:50 +09:00
YeonGyu-Kim 443891fdfd test(rules-injector): cover per-session cache isolation and invalidation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:11:39 +09:00
Sisyphus 79eb6c738f fix(shared/project-discovery-dirs): memoize detectWorktreePath per process 2026-04-18 14:11:24 +09:00
YeonGyu-Kim a4c45e2770 fix(write-existing-file-guard): defer realpath/existsSync to first tool call
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:11:03 +09:00
YeonGyu-Kim 3cb1d5d936 test(claude-code-command-loader): cover excluded dirs and per-directory cache
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:10:49 +09:00
YeonGyu-Kim ac2686ffde fix(shared): memoize loadOpencodePlugins by directory
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:10:45 +09:00
YeonGyu-Kim 7be6ab4478 fix(tools/slashcommand): skip EXCLUDED_DIRS in recursive command discovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:10:26 +09:00
YeonGyu-Kim d8e00ebfbc test(runtime-fallback): cover pluginConfig DI and lazy interval
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:10:25 +09:00
YeonGyu-Kim a6e3c6a5ed test(write-existing-file-guard): cover lazy canonical path init
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:10:12 +09:00
YeonGyu-Kim 428bae632c test(shared): cover loadOpencodePlugins memoization
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:09:46 +09:00
Sisyphus e599840fba fix(comment-checker): defer CLI download and cleanup scheduler to first tool call 2026-04-18 14:09:43 +09:00
Sisyphus 493e37bb7d test(comment-checker): cover lazy CLI init and cleanup startup 2026-04-18 14:09:38 +09:00
YeonGyu-Kim d0eda8b4bf test(tools/slashcommand): cover excluded-dir pruning during discovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 14:09:34 +09:00
Sisyphus 32598bc5e1 test(shared/project-discovery-dirs): cover worktree-path memoization 2026-04-18 14:09:17 +09:00
Sisyphus 578c49f9c2 fix(rules-injector): skip EXCLUDED_DIRS in recursive rule scanner 2026-04-18 14:08:52 +09:00
Sisyphus d566d69c37 test(rules-injector): add regression coverage for excluded-dir pruning 2026-04-18 14:07:58 +09:00
Sisyphus 49c7d4dbf9 chore(shared): add EXCLUDED_DIRS constant for recursive FS scans
Introduces a frozen Set<string> of directory basenames (node_modules, .git,
dist, build, .next, .sisyphus, .omx, .turbo, coverage, out, .cache,
.vscode-test, target, .local-ignore) that callers performing recursive
filesystem scans should skip.

This is shared infrastructure for upcoming fixes in rules-injector,
command-discovery, and claude-code-command-loader that currently descend
into node_modules and other junk directories, causing slow plugin init
and slow edit loops when the plugin is launched in-tree.
2026-04-18 14:04:45 +09:00
github-actions[bot] d59ad1e2e0 @Netzhangheng has signed the CLA in code-yeongyu/oh-my-openagent#3499 2026-04-18 04:24:51 +00:00
github-actions[bot] 203e51786d @Disaster-Terminator has signed the CLA in code-yeongyu/oh-my-openagent#3497 2026-04-18 01:42:21 +00:00
YeonGyu-Kim 1a8f60b89e Merge pull request #3488 from chan1103/fix/explore-allow-lsp-ast-grep
fix(explore): allow LSP and ast-grep tools
2026-04-18 03:28:10 +09:00
YeonGyu-Kim f1268c0448 feat(team-mode): add worktree manager (optional per-member isolation) 2026-04-18 03:10:25 +09:00
YeonGyu-Kim b00e22c2b8 feat(team-mode): add core types (discriminatedUnion for members, D-41/D-42)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 03:10:25 +09:00
YeonGyu-Kim 1b5f3167eb Merge pull request #3492 from code-yeongyu/refactor/legacy-plugin-decoupling
refactor: modernize plugin entry to V1 format and decouple legacy/tightly-coupled code
2026-04-18 03:10:14 +09:00
YeonGyu-Kim 70ddc01e10 refactor: remove AI slop from refactored files
Behavior-preserving cleanup of AI-generated code smells in 5 files authored/moved by this PR:

- src/hooks/model-fallback/fallback-state-controller.ts (-47/+47 net reorganization, redundant defensiveness removed)
- src/shared/model-string-parser.ts (-4 LOC obvious-comment cleanup)
- src/shared/ripgrep-cli.ts (-13 LOC obvious comments + redundant defensive checks)
- src/tools/delegate-task/tool-description.ts (-6 LOC)
- src/tools/look-at/look-at-input-preparer.ts (-6 LOC)

Targets: obvious comments that restate code, over-defensive null checks on guaranteed values, redundant existence checks. No public API signatures changed, no type hints removed, no new abstractions introduced. Full test suite still passes.
2026-04-18 03:01:51 +09:00
YeonGyu-Kim 81b37dd2cc refactor: remove cosmetic OhMyOpenCodePlugin references
Post-V1-migration cleanup of the removed symbol's ghost references:

- src/index.ts: log prefix '[OhMyOpenCodePlugin]' -> '[oh-my-openagent]'
- src/index.test.ts: describe label 'OhMyOpenCodePlugin' -> 'oh-my-openagent plugin module'
- src/index.telemetry.test.ts: describe label 'OhMyOpenCodePlugin telemetry isolation' -> 'oh-my-openagent telemetry isolation'
- src/shared/log-legacy-plugin-startup-warning.ts: log prefix '[OhMyOpenCodePlugin]' -> '[legacy-migration]' (plus matching test assertion)

After these renames 'grep -rn OhMyOpenCodePlugin src/' returns zero matches. Pure cosmetic rename, no behavior change.
2026-04-18 02:52:10 +09:00
YeonGyu-Kim e6f84f713b refactor(tools): break glob->grep sibling-tool coupling
Hoist shared ripgrep CLI resolution helpers (resolveGrepCli, resolveGrepCliWithAutoInstall, GrepBackend, DEFAULT_RG_THREADS, ResolvedCli) out of src/tools/grep/constants.ts into src/shared/ripgrep-cli.ts so they no longer straddle two sibling tool directories.

Before: src/tools/glob/constants.ts re-exported from src/tools/grep/constants.ts, violating the project's "tools should not import from sibling tools" rule enforced by .sisyphus/rules/modular-code-enforcement.md.

After: both src/tools/glob/ and src/tools/grep/ consume the shared helpers from src/shared/ripgrep-cli.ts. src/tools/grep/constants.ts keeps only the grep-specific UI-exposed constants.
2026-04-18 02:38:24 +09:00
YeonGyu-Kim 5e4102566c refactor(model-fallback): fully encapsulate session state in factory closure
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 02:35:46 +09:00
YeonGyu-Kim e2f5c0d361 refactor(plugin): remove orphaned createPluginDispose + stale test mocks
Remove the dead plugin-dispose module and its dedicated test now that V1 plugin migration removed the last production call site. Clean the remaining bootstrap test mocks so src no longer references createPluginDispose.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 02:23:55 +09:00
YeonGyu-Kim f56e3934d8 docs: update plugin entry references to V1 PluginModule shape
Sync the stale plugin entry docs with the shipped V1 PluginModule default export and remove the removed callable symbol references.\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 02:17:25 +09:00