Extract generalized tasks.json schema from team-lifecycle-v4 to shared
location (~/.ccw/workflows/cli-templates/schemas/). Codex needs explicit
schema since it uses file-based task state (unlike Claude Code's built-in
TaskCreate/TaskUpdate API). Simplify lifecycle-v4 tasks-schema.md to
reference the shared schema and only document skill-specific extensions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete 21 old team skill directories using CSV-wave pipeline pattern (~100+ files)
- Delete old team-lifecycle (v3) and team-planex-v2
- Create generic team-worker.toml and team-supervisor.toml (replacing tlv4-specific TOMLs)
- Convert 19 team skills from Claude Code format (Agent/SendMessage/TaskCreate)
to Codex format (spawn_agent/wait_agent/tasks.json/request_user_input)
- Update team-lifecycle-v4 to use generic agent types (team_worker/team_supervisor)
- Convert all coordinator role files: dispatch.md, monitor.md, role.md
- Convert all worker role files: remove run_in_background, fix Bash syntax
- Convert all specs/pipelines.md references
- Final state: 20 team skills, 217 .md files, zero Claude Code API residuals
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 3 Record-Before-Continue now checks for unresolved alternatives
in Proposed solutions and surfaces them to user. Phase 4 Consolidation
adds Solution Readiness Gate to flag recommendations with ambiguity.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- lite-plan LP-Phase 4: split single "Review" into two selections (Code Review + Convergence Review)
- lite-execute: add Step 4 Code Review (agent/codex/gemini) with code-review.md artifact, Step 5 passes convergenceReviewTool
- lite-test-review: rename reviewTool → convergenceReviewTool, TR-Phase 2 focused on convergence criteria verification
- All autoYes paths default both reviews to Skip
- Data structures updated across all three files for consistency
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Split Phase 2 exploration into shared Layer 1 discovery + per-perspective
Layer 2-3 deep-dives, eliminating redundant file scanning across perspectives
- Make CLI deep analysis single-perspective only; multi-perspective already
covered by perspective agents, removing double analysis
- Add cumulative context rule for Phase 3 to pass prior findings into each
round's agent/CLI calls, preventing re-discovery of known information
- Update artifact schemas to reflect new two-phase exploration architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added a new command for workflow tuning that extracts commands from reference documents or natural language, executes them via the ccw CLI, and analyzes the artifacts using Gemini.
- The command includes detailed phases for setup, execution, analysis, synthesis, and reporting, ensuring a structured approach to workflow optimization.
- Removed the synthesis prompt template as it is no longer needed with the new command implementation.
- Added support for loading specs from new categories: debug, test, review, and validation.
- Updated various agents and skills to include instructions for loading project context from the new spec categories.
- Introduced new spec documents for test conventions, review standards, and validation rules to improve project guidelines.
- Enhanced the frontend to support new watcher settings and display auto-watch status.
- Improved the spec index builder to accommodate new categories and ensure proper loading of specifications.
- analyze-with-file: plan-only output, no code modifications
- roadmap-with-file: handoff to csv-wave-pipeline instead of team-planex
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add [ast] extra to uvx install args (codexlens-search[mcp,ast])
- Add CODEXLENS_AST_CHUNKING to env defaults
- Auto-inject AST_CHUNKING in buildMcpServerConfig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
codex-lens-v2 has its own git repo and publishes to PyPI independently.
Remove from outer index and add to .gitignore to avoid tracking conflicts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Updated `search_code` function to include a `quality` parameter for search quality tiers: "fast", "balanced", "thorough", and "auto".
- Introduced `search_scope` function to limit search results to a specific directory scope.
- Added `index_scope` function for indexing a specific directory without re-indexing the entire project.
- Refactored `SearchPipeline` to support quality-based routing in the `search` method.
- Implemented `Shard` and `ShardManager` classes to manage multiple index shards with LRU eviction and efficient file routing.
- Added debounce functionality in `IncrementalIndexer` to batch file events and reduce redundant processing.
- Enhanced `FileWatcher` to integrate with `IncrementalIndexer` for improved event handling.
- Deleted Zhongshu Planner agent documentation as it is no longer needed.
- Removed agent instruction documentation to streamline task assignment process.
- Eliminated tasks schema file to simplify task management.
- Updated Codex Lens installation instructions to use 'uv' for pip commands.
- Bumped version to 0.4.1 in pyproject.toml and adjusted dependencies.
- Enhanced API embedding with text truncation and automatic batch splitting on 413 errors.
- Improved indexing pipeline with metadata registration and progress reporting.
- Converted index_project and index_update functions to async for better performance.
Add explicit mechanism to capture technical solutions during interactive
discussion rounds, preventing them from being lost or only captured in
Phase 4 synthesis.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Implemented CodexLens routes for model listing, downloading, and deleting.
- Added hooks for managing CodexLens models, index status, environment variables, and MCP configuration.
- Created frontend components for managing environment settings, index status, and models.
- Developed the main CodexLens page with tab navigation for easy access to different management features.
- Introduced a new file structure for CodexLens related components and hooks.
- Delete smart-search.ts (3476 lines) and codex-lens.ts stub — the CCW
bridge that wrapped the codexlens-search CLI is gone entirely
- Remove executeToolWithProgress and all smart_search registrations from
tools/index.ts and mcp-server/index.ts
- Replace checkSemanticStatus() calls in core-memory-routes with inline
{ available: false } — v1 bridge no longer provides this
- Inline no-op stubs in smart-context.ts to replace codex-lens imports
- Seed built-in 'codexlens' MCP template at server startup via
seedBuiltinTemplates() in mcp-routes.ts; uses uvx --from
codexlens-search[mcp] codexlens-mcp so users install via uv
- Remove smart_search from all default enabled-tools strings (backend
mcp-routes, mcp-server DEFAULT_TOOLS, frontend api.ts, mcp install
helpers) and CCW_MCP_TOOLS UI list
- Delete frontend pages/hooks/components: CodexLensManagerPage,
useV2SearchManager, useIndex, IndexManager; remove routes, sidebar
entry, and all re-exports
- Remove index status display section from WorkflowTaskWidget
- Delete four smart-search test files; update mcp-server.test.js and
e2e/mcp-tools.e2e.test.ts to remove smart_search assertions
- Delete codex-lens/ source directory (v1 Python monolith, ~75 files)
— no longer imported or subprocess-called by CCW
Net: ~11 000 lines removed, +30 lines for template seeding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Introduced APIEmbedder class to handle embeddings via a remote HTTP API.
- Implemented token packing to optimize batch sizes based on token limits.
- Added support for multiple API endpoints with round-robin dispatching.
- Included retry logic for API calls with exponential backoff on failures.
- Enhanced indexing pipeline with file exclusion checks and smart chunking strategies.
- Updated tests to cover new APIEmbedder functionality and ensure robustness.
- Updated `cmd_search` to include line numbers and content in search results.
- Modified `IndexingPipeline` to handle start and end line numbers for chunks.
- Enhanced `FTSEngine` to support storing line metadata in the database.
- Improved `SearchPipeline` to return line numbers and full content in search results.
- Added unit tests for bridge, FTS delete operations, metadata store, and watcher functionality.
- Introduced a `.gitignore` file to exclude specific directories.
- Updated agent spawning from `Task()` to `Agent()` across various files to align with new standards.
- Enhanced the `code-developer` agent description to clarify its invocation context and responsibilities.
- Introduced a new `delegation-check` skill to validate command delegation prompts against agent role definitions, ensuring content separation and conflict detection.
- Established comprehensive separation rules for command delegation prompts and agent definitions, detailing ownership and conflict patterns.
- Improved documentation for command and agent design specifications to reflect the updated spawning patterns and validation processes.
- Created `agent-design-spec.md` detailing agent identity, knowledge, and structure.
- Established `command-design-spec.md` outlining command orchestration, user interaction, and agent coordination.
- Introduced `conversion-spec.md` for guidelines on converting existing files to GSD conventions without content loss.
- Added `agent-md.md` and `command-md.md` templates to standardize the creation of agent and command files.
- Add lightweight model_manager.py: cache detection (with fastembed name
remapping), HF mirror download via huggingface_hub, auto model.onnx
fallback from quantized variants
- Config defaults: embed_model -> bge-small-en-v1.5 (384d), reranker ->
Xenova/ms-marco-MiniLM-L-6-v2 (fastembed 0.7.4 compatible)
- Add model_cache_dir and hf_mirror config options
- embed/local.py and rerank/local.py use model_manager for cache-aware loading
- Fix FastEmbedReranker to handle both float list and RerankResult formats
- E2E test uses real FastEmbedReranker instead of mock KeywordReranker
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename the v2 search engine package to `codexlens-search` (import as
`codexlens_search`) so it can be installed independently and consumed
by the original codex-lens as a dependency. This avoids package path
conflicts since both previously used `src/codexlens/`.
Changes:
- Rename src/codexlens/ -> src/codexlens_search/
- Update pyproject.toml: name=codexlens-search, version=0.2.0
- Update all imports across source, tests, and scripts
- Add public API exports in __init__.py (Config, SearchPipeline,
IndexingPipeline, SearchResult, IndexStats)
37/37 tests pass. No functional changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>