* fix: remove dead code from deprecated features (ultrapilot, codex/gemini MCP, swarm)
Remove ~2,500 lines of verified dead code across 6 cleanup waves:
- Delete dead ultrapilot hook module (1,484 lines, zero callers)
- Delete deprecated codex/gemini MCP wrappers, scripts, and tests
- Migrate job-state-db imports from deprecated mcp/ wrapper to lib/
- Remove dead DEPRECATED_MODES constant from constants/names.ts
- Remove deprecated shouldUseNodeHooks() and getHookScripts() from installer
- Remove deprecated CLI init command (replaced by /omc-setup)
- Remove dead code in comment-checker (unused function + variable)
- Clean ultrapilot/swarm references from 12 doc files
Evidence-based: every deletion verified via import graph analysis
through 3-iteration RALPLAN consensus (Planner→Architect→Critic).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: remove tests for deleted ask-codex/ask-gemini wrapper scripts
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Remove ecomode entirely from the codebase including skill, CLI commands,
config options, model routing integration, state management, and all
references in docs/tests/templates.
Tighten keyword detector patterns to reduce false positives:
- autopilot: remove broad phrase patterns (build me, create me, etc.)
- ralph: keep only exact "ralph" match
- ultrawork: keep only "ultrawork" and "ulw"
- ultrathink: keep only "ultrathink" (remove "think hard/deeply")
- deepsearch: keep "deepsearch", "search the codebase", "find in codebase"
- analyze: keep only "deep analyze/deepanalyze/deep-analyze"
- pipeline: keep only "agent pipeline" and "chain agents"
- tdd: keep only "tdd" and "test first" (remove "red green")
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Team mode has proven effective with higher agent counts. Update all
documentation, skill definitions, and source defaults to allow up to
20 concurrent agents instead of the previous 5-agent limit.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address Copilot review issues and additional bug fixes
Copilot Review Fixes (PR #328):
- normalizePath(): Use path.resolve() + path.normalize() for proper handling
of path separators, relative segments, and trailing slashes
- isStateForCurrentProject(): Require project_path for global state files
to prevent cross-project state leakage (local files accept legacy states)
- Ralph linked ultrawork: Include session_id and project_path for proper
project isolation
Bug Fixes (#325):
- State manager: Add atomic write using temp file + rename pattern
- Notepad: Add atomic writes to prevent race conditions
- Swarm: Add try-catch around better-sqlite3 dynamic import
- HUD todos: Fix null crash when activeForm and content are both undefined
- Installer: Change MIN_NODE_VERSION from 18 to 20 to match package.json
- HUD: Distinguish installation errors from runtime errors
Tests:
- Add project isolation tests for project_path validation
- Update top-agents.test.ts to be quote-style agnostic
* fix: address Copilot round-2 review - use shared atomic write module
- Add atomicWriteFileSync and atomicWriteJsonSync to src/lib/atomic-write.ts
with proper fsync, exclusive creation (wx flag), and directory sync
- Update state-manager/index.ts to use shared atomicWriteJsonSync
- Update notepad/index.ts to use shared atomicWriteFileSync
- Fix swarm/state.ts: log importError instead of ignoring
- Fix swarm/state.ts: use atomicWriteJsonSync in writeSwarmSummary()
- Fix hud/index.ts: add stdout fallback message on runtime errors
* chore: release v3.9.9 - version bump
* chore: bump .claude-plugin version to 3.9.9
* fix: notepad.md session short-term memory not working (#342)
- Add notepad Priority Context injection to session-start hook so it is
always loaded on session start as documented
- Replace plain writeFileSync with atomic writes in post-tool-use hook
to prevent data corruption from race conditions
- Add shared atomic-write.mjs library for hook modules
- Fix integration test import path (sisyphus-orchestrator → omc-orchestrator)
- Document notepad system in docs/CLAUDE.md and features reference
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Test User <test@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>