- 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>
SearchPipeline.search() called self._embedder.embed() which doesn't exist
on BaseEmbedder/FastEmbedEmbedder — only embed_single() and embed_batch()
are defined. This was masked by MockEmbedder in tests. Changed to
embed_single() which is the correct API for single-query embedding.
Also added scripts/test_small_e2e.py for quick end-to-end validation of
indexing pipeline and all search features on a small file set.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added BaseReranker abstract class for defining reranking interfaces.
- Implemented FastEmbedReranker using fastembed's TextCrossEncoder for scoring document-query pairs.
- Introduced FTSEngine for full-text search capabilities using SQLite FTS5.
- Developed SearchPipeline to integrate embedding, binary search, ANN indexing, FTS, and reranking.
- Added fusion methods for combining results from different search strategies using Reciprocal Rank Fusion.
- Created unit and integration tests for the new search and reranking components.
- Established configuration management for search parameters and models.
Major improvements to smart-search, chain-search cascade, ranking pipeline,
reranker factory, CLI history store, codex-lens integration, and uv-manager.
Simplify command-generator skill by inlining phases. Add comprehensive tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Enhance smart-search with advanced MCP integration
- Add GEMINI_API_KEY configuration support in codexlens
- Update MCP server with new tool handlers
- Add tests for smart-search MCP usage
- Update documentation
- Added Phase 3: Evaluate Quality with steps for preparing context, constructing evaluation prompts, executing evaluation via CLI, parsing scores, and checking termination conditions.
- Introduced Phase 4: Apply Improvements to implement targeted changes based on evaluation suggestions, including agent execution and change documentation.
- Created Phase 5: Final Report to generate a comprehensive report of the iteration process, including score progression and remaining weaknesses.
- Established evaluation criteria in a new document to guide the evaluation process.
- Developed templates for evaluation and execution prompts to standardize input for the evaluation and execution phases.