tunacode-cli 0.0.76.3__tar.gz → 0.0.76.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tunacode-cli might be problematic. Click here for more details.
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/behavior_changes.json +53 -5
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/memory_anchors/anchors.json +49 -4
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/metadata/file_classifications.json +0 -10
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.gitignore +1 -1
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/AGENTS.md +26 -2
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/CLAUDE.md +15 -2
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/PKG-INFO +1 -1
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/TODO.md +8 -8
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/changelog/CHANGELOG.md +45 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/hatch-build-system.md +0 -1
- tunacode_cli-0.0.76.6/llm-agent-tools/.gitignore +15 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/README.md +155 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/rag_modules/README.md +155 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/rag_modules/indexer.py +324 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/rag_modules/rag-cli.sh +208 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/rag_modules/search.py +248 -0
- tunacode_cli-0.0.76.6/llm-agent-tools/rag_modules/stats.py +150 -0
- tunacode_cli-0.0.76.6/memory-bank/plan/2025-09-24_cli_prompt_toolkit_fuzzy_plan.md +89 -0
- tunacode_cli-0.0.76.6/memory-bank/research/2025-09-24_fuzzy_logic_implementation_analysis.md +96 -0
- tunacode_cli-0.0.76.6/plan-models.md +60 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/pyproject.toml +2 -2
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/registry.py +2 -7
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/main.py +1 -1
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/constants.py +1 -1
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/completers.py +172 -39
- tunacode_cli-0.0.76.6/src/tunacode/ui/path_heuristics.py +89 -0
- tunacode_cli-0.0.76.6/tests/characterization/test_cli_fuzzy_matching.py +60 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/conftest.py +8 -0
- tunacode_cli-0.0.76.3/.claude/patterns/coding_patterns.md +0 -12
- tunacode_cli-0.0.76.3/memory-bank/research/2025-09-22_12-01-06_cli_fuzzy_logic_analysis.md +0 -51
- tunacode_cli-0.0.76.3/src/tunacode/utils/fuzzy_utils.py +0 -33
- tunacode_cli-0.0.76.3/tests/characterization/test_cli_fuzzy_matching.py +0 -19
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/debug_history/2025-09-21-rag-search-hyphen-gotcha.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/debug_history/debug_sessions.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/2025-01-05-baseline.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/2025-09-21-models_registry-pydantic-conversion.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/2025-09-21-models_registry-validation-tests.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/2025-09-21-test-update-model-command-characterization.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/api_change_logs.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/fix-text-alignment-layout-task3.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/reasoning_logs.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/task4_ui_formatting_fix.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/v0.0.53_to_v0.0.54.diff +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/always-on-display-implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/cli-json-recovery-incident.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/directory-caching-optimization.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/esc-investigation/ESC_KEY_INVESTIGATION.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/esc-investigation/ESC_KEY_STREAMING_ANALYSIS.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/hatch-commands.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/model-updates-2025.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/onboarding-improvements.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/openai_tool_calling_evaluation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/phase5-prompt-injection-system.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/slash-commands.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/uv-hatch-setup.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/uv-installer-updates.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/development/version-management.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/docs_model_friendly/component_purpose.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/docs_model_friendly/component_relationships.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/docs_model_friendly/rag_modules_overview.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/kv/github-actions-release-fix.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/metadata/components.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/metadata/hotspots.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/patterns/canonical_patterns/backward_compatibility_refactor.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/patterns/json_retry_implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/latest_session.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-123100/commits.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-123100/diffstat.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-123100/files.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-123100/hunks.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-141518/commits.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-141518/diffstat.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-141518/files.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/main-agent-integration-20250917-141518/hunks.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/react-tool-session-20250120-000002/summary.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/smart-git-20250917-122934/commits.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/smart-git-20250917-122934/diffstat.txt +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/context_logs/smart-git-20250917-122934/files.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/fix-agent-errors.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/fix-publish-script.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/fix-runtime-warnings.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/reasoning_docs/main-agent-integration-20250917-123100.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/reasoning_docs/main-agent-integration-20250917-141518.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/qa/reasoning_docs/smart-git-20250917-122934.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/semantic_index/function_call_graphs.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/semantic_index/intent_mappings.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/semantic_index/type_relationships.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.github/pull_request_template.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.github/scripts/check_file_size.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.github/workflows/lint.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.github/workflows/publish-release-v2.yml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.pre-commit-config.yaml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/LICENSE +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/MANIFEST.in +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/assets/tunacode_example.png +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reports/subagent_analysis/code-synthesis-analyzer_report.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reports/subagent_analysis/codebase-analyzer_report.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/FAGAN_PLAN.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/agent_seams.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/fagan_inspection_defects.json +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/fagan_inspection_summary.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/main_agent_refactor_issues.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/docs/reviews/main_agent_refactor_plan.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/TOOLS_WORKFLOW.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/agent-flow.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/agent-inspo.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/how-tunacode-agent-works.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/main-agent-architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/swepmini-example.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent/tunacode-tool-system.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent-tools/ReAct-vs-ReWoo.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/agent-tools/tools-architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/.env.example +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/config-file-example.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/config-flow-diagram.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/config-touch-points.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/environment-variables.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/local-models.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/logging-configuration.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/tunacode-json-example.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/configuration/tunacode.json.example +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/codebase-hygiene.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/command-system-architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/creating-custom-commands.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/performance-optimizations.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/prompt-principles.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/publishing-workflow.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/development/streaming-text-prefix-fix.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/tests/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/tests/characterization-testing.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/tests/mocking-strategies.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/tests/troubleshooting.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/ui/ui-architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/user/commands.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/user/getting-started.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/documentation/user/tools.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/execute/2025-09-12_15-20-00_model_selection_config_persistence_fix.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/execute/2025-09-15_12-30-00_configuration_dashboard_implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/execute/2025-09-15_configuration_dashboard_ux_improvements.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-11_13-30-00_agent_loop_architecture_enhancement.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-11_14-00-00_enum_state_machine_implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-11_14-15-00_automated_cli_tool_testing_framework.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-12_12-20-00_global_graceful_error_handling_implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-12_15-08-14_model_selection_config_persistence_fix.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-15_12-29-04_configuration_dashboard_implementation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-17_15-30-00_main-agent-refactor_plan.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/plan/2025-09-19_11-30-00_tunacode_md_to_agents_md_migration.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-01-19_react-shim-analysis.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-07_21-13-37_agent_loop_architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-11_13-14-06_agent_loop_enhancement_analysis.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-12_12-15-48_global_graceful_error_handling_analysis.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-12_14-54-43_model_configuration_crash_analysis.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-12_15-06-58_model_selection_config_update_issue.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-12_ai-agent-tools-architecture.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-15_12-19-00_configuration_system_and_dashboard.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-15_13-54-11_first-chunk_character_loss_investigation.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-16_11-12-45_setup_py_usage_and_location_analysis.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-19_11-25-00_tunacode_md_to_agents_md_migration.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/2025-09-21_models-registry-pydantic-conversion.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/memory-bank/research/main_agent_refactor_plan.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/pytest.ini +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/check-file-length.sh +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/download_ripgrep.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/install_linux.sh +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/playwright_cache.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/setup_dev_env.sh +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/startup_timer.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/uninstall.sh +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/utils/vulture_whitelist.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/scripts/verify_dev_env.sh +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/base.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/command_reload.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/debug.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/development.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/model.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/plan.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/quickstart.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/system.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/template.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/implementations/todo.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/command.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/loader.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/processor.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/types.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/slash/validator.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/commands/template_shortcut.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl_components/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl_components/command_parser.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl_components/error_recovery.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl_components/output_display.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/cli/repl_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/configuration/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/configuration/defaults.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/configuration/key_descriptions.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/configuration/models.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/configuration/settings.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/context.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/agent_config.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/agent_helpers.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/json_tool_parser.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/message_handler.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/node_processor.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/response_state.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/result_wrapper.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/state_transition.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/streaming.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/task_completion.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/tool_buffer.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/tool_executor.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/agent_components/truncation_checker.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/main.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/agents/utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/background/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/background/manager.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/code_index.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/llm/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/logging/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/logging/config.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/logging/formatters.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/logging/handlers.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/logging/logger.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/agent_setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/base.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/config_setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/config_wizard.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/coordinator.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/environment_setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/git_safety_setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/setup/template_setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/state.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/core/tool_handler.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/exceptions.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/prompts/system.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/prompts/system.md.bak +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/py.typed +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/services/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/services/mcp.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/setup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/templates/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/templates/loader.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/base.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/bash.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/exit_plan_mode.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/glob.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep_components/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep_components/file_filter.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep_components/pattern_matcher.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep_components/result_formatter.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/grep_components/search_result.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/list_dir.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/present_plan.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/bash_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/exit_plan_mode_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/glob_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/grep_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/list_dir_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/present_plan_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/react_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/read_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/run_command_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/todo_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/update_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/prompts/write_file_prompt.xml +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/react.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/read_file.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/run_command.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/schema_assembler.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/todo.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/update_file.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/write_file.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tools/xml_helper.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tutorial/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tutorial/content.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tutorial/manager.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/tutorial/steps.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/types.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/config_dashboard.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/console.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/constants.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/decorators.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/input.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/keybindings.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/lexers.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/logging_compat.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/model_selector.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/output.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/panels.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/prompt_manager.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/tool_descriptions.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/tool_ui.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/ui/validators.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/api_key_validation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/bm25.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/config_comparator.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/diff_utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/file_utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/import_cache.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/json_utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/message_utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/models_registry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/retry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/ripgrep.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/security.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/system.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/text_utils.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/token_counter.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/src/tunacode/utils/user_configuration.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/CHARACTERIZATION_README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/CHARACTERIZATION_TEST_PLAN.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/CHARACTERIZATION_TEST_PLAN_AGENT_MAIN.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/CHARACTERIZATION_TEST_PLAN_COMMANDS.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/FILE_OPERATIONS_TEST_GUIDE.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/conftest.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/test_agent_creation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/test_process_node.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/test_process_request.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/agent/test_tool_message_patching.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/background/test_background_edge_cases.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/background/test_cleanup.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/background/test_task_cancellation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/background/test_task_creation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/background/test_task_execution.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/code_index/test_cache_management.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/code_index/test_file_scanning.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/code_index/test_index_building.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/code_index/test_search_operations.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/commands/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/commands/test_init_command.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/commands/test_model_selection_persistence.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/conftest.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/README.md +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/__init__.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/test_context_acceptance.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/test_context_integration.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/test_context_loading.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/context/test_tunacode_logging.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_command_parsing.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_error_handling.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_escape_key_behavior.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_input_handling.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_multiline_input.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_output_display_logic.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_repl_initialization.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/repl/test_session_flow.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/services/test_error_recovery.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/services/test_llm_routing.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/services/test_mcp_integration.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/services/test_service_lifecycle.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_agent_tracking.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_message_history.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_permissions.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_session_management.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_state_initialization.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/state/test_user_config.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/test_characterization_commands.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/test_characterization_grep.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/test_characterization_main.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/test_characterization_repl.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_async_ui.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_console_output.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_diff_display.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_prompt_rendering.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_spinner_messages.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/ui/test_tool_confirmations.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/utils/test_expand_file_refs.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/utils/test_file_operations.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/utils/test_git_commands.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/utils/test_token_counting.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/integration/test_startup_dashboard.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_agent_output_formatting.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_command_parser_retry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_completion_detection.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_glob_phase3.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_json_concatenation_recovery.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_json_retry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_logging_config.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_onboarding_features.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_phase2_type_hints.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_plan_mode.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_prompt_changes_validation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_prompt_injection.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_security.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_slash_commands_comprehensive.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_slash_commands_functional.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_slash_commands_integration.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_slash_commands_isolated.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_spinner_updates.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/test_tool_batching_retry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/ui/test_config_dashboard.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/commands/test_model_selection_persistence_new.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/config/test_user_configuration_permissions.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/test_constants_enums.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/test_react_tool.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/utils/test_models_registry.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/unit/utils/test_models_registry_validation.py +0 -0
- {tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/tests/utils/test_config_comparator.py +0 -0
{tunacode_cli-0.0.76.3 → tunacode_cli-0.0.76.6}/.claude/delta_summaries/behavior_changes.json
RENAMED
|
@@ -123,8 +123,7 @@
|
|
|
123
123
|
"Routed CLI REPL agent imports through tunacode.core.agents to expose helper mocks",
|
|
124
124
|
"Extended check_task_completion to accept legacy TUNACODE_TASK_COMPLETE marker"
|
|
125
125
|
]
|
|
126
|
-
}
|
|
127
|
-
,
|
|
126
|
+
},
|
|
128
127
|
{
|
|
129
128
|
"id": "cli-fuzzy-matching-20250922-120500",
|
|
130
129
|
"time": "2025-09-22T12:05:00",
|
|
@@ -137,8 +136,7 @@
|
|
|
137
136
|
"Zero new dependencies; minimal code change localized to CommandRegistry.find_matching_commands",
|
|
138
137
|
"Added tests to characterize prefix behavior and validate fuzzy suggestions for typos"
|
|
139
138
|
]
|
|
140
|
-
}
|
|
141
|
-
,
|
|
139
|
+
},
|
|
142
140
|
{
|
|
143
141
|
"id": "file-ref-completer-dir-browse-20250922-122900",
|
|
144
142
|
"time": "2025-09-22T12:29:00",
|
|
@@ -149,6 +147,56 @@
|
|
|
149
147
|
"FileReferenceCompleter now treats a bare directory prefix without trailing slash as browsing inside that directory (e.g., '@tests' shows files inside tests/).",
|
|
150
148
|
"Behavior and ordering preserved: exact files > fuzzy files > exact dirs > fuzzy dirs; existing case-insensitive exact matching and fuzzy improvements remain."
|
|
151
149
|
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "cli-fuzzy-removal-20250924-150600",
|
|
153
|
+
"time": "2025-09-24T15:06:00",
|
|
154
|
+
"branch": "current",
|
|
155
|
+
"base": "current",
|
|
156
|
+
"head": "current",
|
|
157
|
+
"bullets": [
|
|
158
|
+
"Removed difflib-backed fuzzy fallback from CommandRegistry.find_matching_commands; prefix-only matching restored.",
|
|
159
|
+
"Deleted shared fuzzy_utils helper module and characterization test covering fuzzy suggestions.",
|
|
160
|
+
"Simplified FileReferenceCompleter to rely on case-insensitive prefix ordering (files before directories).",
|
|
161
|
+
"Updated documentation and metadata to reflect removal of fuzzy matching implementation."
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "cli-fuzzy-reintegration-20250924-181500",
|
|
166
|
+
"time": "2025-09-24T18:15:00",
|
|
167
|
+
"branch": "current",
|
|
168
|
+
"base": "current",
|
|
169
|
+
"head": "current",
|
|
170
|
+
"bullets": [
|
|
171
|
+
"Wired prompt_toolkit FuzzyWordCompleter into CommandCompleter and FileReferenceCompleter for typo-tolerant suggestions.",
|
|
172
|
+
"Restored CLI fuzzy characterization tests validating command and @file completions.",
|
|
173
|
+
"Adjusted test harness to load real prompt_toolkit modules instead of stubs when available.",
|
|
174
|
+
"Updated changelog, TODO, and research notes to document the prompt toolkit-based fuzzy implementation."
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"id": "merge-fuzzy-touchup-20250925-125158",
|
|
179
|
+
"time": "2025-09-25T12:51:58",
|
|
180
|
+
"branch": "fuzzy-touchup",
|
|
181
|
+
"base": "master",
|
|
182
|
+
"head": "master",
|
|
183
|
+
"bullets": [
|
|
184
|
+
"Merged fuzzy-touchup: refined file reference heuristics and fuzzy fixes",
|
|
185
|
+
"Accepted branch versions for conflicts in registry and completers",
|
|
186
|
+
"Reintroduced CLI fuzzy characterization test"
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"id": "release-0.0.76.5-20250925-125611",
|
|
191
|
+
"time": "2025-09-25T12:56:11",
|
|
192
|
+
"branch": "master",
|
|
193
|
+
"base": "v0.0.76.4",
|
|
194
|
+
"head": "v0.0.76.5",
|
|
195
|
+
"bullets": [
|
|
196
|
+
"Release v0.0.76.5: merged fuzzy-touchup branch",
|
|
197
|
+
"Bumped versions in pyproject and constants",
|
|
198
|
+
"Created GitHub release to trigger publish workflow"
|
|
199
|
+
]
|
|
152
200
|
}
|
|
153
201
|
]
|
|
154
|
-
}
|
|
202
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 2,
|
|
3
|
-
"generated": "2025-
|
|
3
|
+
"generated": "2025-09-24T16:12:08Z",
|
|
4
4
|
"description": "Memory anchors are now embedded in source files as CLAUDE_ANCHOR[key] comments",
|
|
5
5
|
"session_history": [
|
|
6
6
|
{
|
|
@@ -151,14 +151,59 @@
|
|
|
151
151
|
"kind": "line",
|
|
152
152
|
"description": "Renamed release workflow so GitHub Actions executes the Ruff lint/test pipeline without cached definitions and pins Python 3.12 for Hatch stability",
|
|
153
153
|
"status": "active"
|
|
154
|
-
}
|
|
155
|
-
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
156
|
"anchor_key": "model-command-registry-validation-skip",
|
|
157
157
|
"path": "tests/characterization/test_characterization_commands.py",
|
|
158
158
|
"line": 73,
|
|
159
159
|
"kind": "line",
|
|
160
160
|
"description": "Characterization test bypasses registry.load() to avoid Pydantic validation failures from cached API data (e.g., zero limits). Preserves intent to display current model info.",
|
|
161
161
|
"status": "active"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"anchor_key": "86cc1a41",
|
|
165
|
+
"path": "src/tunacode/cli/commands/registry.py",
|
|
166
|
+
"line": 317,
|
|
167
|
+
"kind": "line",
|
|
168
|
+
"description": "Prefix-only command matching after removing fuzzy fallback",
|
|
169
|
+
"status": "active",
|
|
170
|
+
"created": "2025-09-24T15:05:39Z"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"anchor_key": "1f0911c7",
|
|
174
|
+
"path": "src/tunacode/ui/completers.py",
|
|
175
|
+
"line": 176,
|
|
176
|
+
"kind": "line",
|
|
177
|
+
"description": "Prompt Toolkit fuzzy matching consolidates file and directory suggestions",
|
|
178
|
+
"status": "active",
|
|
179
|
+
"created": "2025-09-24T15:29:42Z"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"key": "0b3f320e",
|
|
183
|
+
"path": "src/tunacode/ui/path_heuristics.py",
|
|
184
|
+
"line": 7,
|
|
185
|
+
"kind": "line",
|
|
186
|
+
"description": "Cross-ecosystem skip directory defaults for FileReferenceCompleter global roots",
|
|
187
|
+
"status": "active",
|
|
188
|
+
"created": "2025-09-24T16:08:12Z"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"key": "6fd59413",
|
|
192
|
+
"path": "src/tunacode/ui/path_heuristics.py",
|
|
193
|
+
"line": 22,
|
|
194
|
+
"kind": "line",
|
|
195
|
+
"description": "Skip list includes __pycache__ to avoid noisy Python build artifacts in suggestions",
|
|
196
|
+
"status": "active",
|
|
197
|
+
"created": "2025-09-24T16:10:11Z"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"key": "2bcebd52",
|
|
201
|
+
"path": "src/tunacode/ui/path_heuristics.py",
|
|
202
|
+
"line": 31,
|
|
203
|
+
"kind": "line",
|
|
204
|
+
"description": "Skip heuristic checks every path component to prune nested junk directories such as __pycache__",
|
|
205
|
+
"status": "active",
|
|
206
|
+
"created": "2025-09-24T16:12:08Z"
|
|
162
207
|
}
|
|
163
208
|
]
|
|
164
|
-
}
|
|
209
|
+
}
|
|
@@ -145,16 +145,6 @@
|
|
|
145
145
|
"type": "test",
|
|
146
146
|
"category": "tools",
|
|
147
147
|
"classification": "test"
|
|
148
|
-
},
|
|
149
|
-
"src/tunacode/cli/commands/registry.py": {
|
|
150
|
-
"type": "source",
|
|
151
|
-
"category": "commands",
|
|
152
|
-
"classification": "implementation"
|
|
153
|
-
},
|
|
154
|
-
"tests/characterization/test_cli_fuzzy_matching.py": {
|
|
155
|
-
"type": "test",
|
|
156
|
-
"category": "commands",
|
|
157
|
-
"classification": "test"
|
|
158
148
|
}
|
|
159
149
|
}
|
|
160
150
|
}
|
|
@@ -21,6 +21,16 @@ You MUST comply with the rules below. You will be penalized if you deviate. Answ
|
|
|
21
21
|
* Enforce `ruff check --fix .` before PRs.
|
|
22
22
|
* Use explicit typing. `cast(...)` and `assert ...` are OK.
|
|
23
23
|
* `# type: ignore` only with strong justification.
|
|
24
|
+
* You must flatten nested conditionals by returning early, so pre-conditions are explicit.
|
|
25
|
+
* If it is never executed, remove it. You MUST make sure what we remove has been committed before in case we need to rollback.
|
|
26
|
+
* Normalize symmetries: you must make identical things look identical and different things look different for faster pattern-spotting.
|
|
27
|
+
* You must reorder elements so a developer meets ideas in the order they need them.
|
|
28
|
+
* You must cluster coupled functions/files so related edits sit together.
|
|
29
|
+
* You must keep a variable's birth and first value adjacent for comprehension & dependency safety.
|
|
30
|
+
* Always extract a sub-expression into a well-named variable to record intent.
|
|
31
|
+
* Always replace magic numbers with symbolic constants that broadcast meaning.
|
|
32
|
+
* Never use magic literals; symbolic constants are preferred.
|
|
33
|
+
* ALWAYS split a routine so all inputs are passed openly, banishing hidden state or maps.
|
|
24
34
|
|
|
25
35
|
### Error Handling
|
|
26
36
|
|
|
@@ -108,9 +118,23 @@ in llm-agent-tools/rag_modules/ a tool exist to search the .claude/ directory vi
|
|
|
108
118
|
./rag-cli.sh search "query" # Search across .claude/
|
|
109
119
|
./rag-cli.sh stats # Show index stats
|
|
110
120
|
|
|
111
|
-
|
|
112
|
-
./rag-cli.sh search "query" --category dev --format json --limit 5
|
|
121
|
+
### Filtered / formatted search
|
|
113
122
|
|
|
123
|
+
./rag-cli.sh search "query" --category dev --format json --limit 5
|
|
114
124
|
You MUST call this tool at least once per session to ground context.
|
|
115
125
|
Use it heuristically before answering tasks that require repo knowledge. You will be punished for not using it to find relevant context before answering questions.
|
|
126
|
+
|
|
127
|
+
**Problem**: Search for "fuzzy" in the .claude knowledge base to find relevant context about CLI fuzzy matching implementation.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# First index the .claude directory
|
|
131
|
+
./rag-cli.sh index --dir .claude
|
|
132
|
+
|
|
133
|
+
# Search for specific content
|
|
134
|
+
./rag-cli.sh search "fuzzy" --format text
|
|
135
|
+
|
|
136
|
+
# Results found:
|
|
137
|
+
# 1. behavior_changes.json - CLI fuzzy matching enhancement details
|
|
138
|
+
# 2. file_classifications.json - Test file classification for fuzzy matching
|
|
139
|
+
```
|
|
116
140
|
---
|
|
@@ -91,7 +91,7 @@ Rules:
|
|
|
91
91
|
* Docs → model-friendly explanations of purposes & relationships.
|
|
92
92
|
* Delta Summaries → record API/behavior shifts with reasoning.
|
|
93
93
|
* Memory Anchors → embed UUID-tagged semantic anchors in code.
|
|
94
|
-
* Keeep entries nonverbose and distilled to the core implemenation for the next dev. You will be punished for not following these instructions.
|
|
94
|
+
* Keeep entries nonverbose and distilled to the core implemenation for the next dev. You will be punished for not following these instructions.
|
|
95
95
|
|
|
96
96
|
|
|
97
97
|
---
|
|
@@ -121,9 +121,22 @@ In llm-agent-tools/rag_modules/ a tool exists to search the .claude/ directory v
|
|
|
121
121
|
|
|
122
122
|
./rag-cli.sh search "query" --category dev --format json --limit 5
|
|
123
123
|
You MUST call this tool at least once per session to ground context.
|
|
124
|
-
If llm-agent-tool dir doesnt exist skip this step
|
|
125
124
|
Use it heuristically before answering tasks that require repo knowledge. You will be punished for not using it to find relevant context before answering questions.
|
|
126
125
|
|
|
126
|
+
**Problem**: Search for "fuzzy" in the .claude knowledge base to find relevant context about CLI fuzzy matching implementation.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# First index the .claude directory
|
|
130
|
+
./rag-cli.sh index --dir .claude
|
|
131
|
+
|
|
132
|
+
# Search for specific content
|
|
133
|
+
./rag-cli.sh search "fuzzy" --format text
|
|
134
|
+
|
|
135
|
+
# Results found:
|
|
136
|
+
# 1. behavior_changes.json - CLI fuzzy matching enhancement details
|
|
137
|
+
# 2. file_classifications.json - Test file classification for fuzzy matching
|
|
138
|
+
```
|
|
139
|
+
|
|
127
140
|
---
|
|
128
141
|
|
|
129
142
|
## Available Sub-Agents
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Prompt Toolkit Fuzzy Reintegration
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Fuzzy-first matching resumed on 2025-09-24 using prompt_toolkit's native fuzzy completers. Notes below capture the revived implementation plan and historical context for further refinement.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## Architecture Analysis
|
|
7
|
+
## Architecture Analysis (current state)
|
|
8
8
|
|
|
9
|
-
- `src/tunacode/ui/completers.py:
|
|
10
|
-
- `src/tunacode/
|
|
11
|
-
- `src/tunacode/utils/models_registry.py`:
|
|
9
|
+
- `src/tunacode/ui/completers.py:23-74`: `CommandCompleter` wraps registry commands with `FuzzyWordCompleter` for near-miss suggestions.
|
|
10
|
+
- `src/tunacode/ui/completers.py:80-164`: `FileReferenceCompleter` blends exact prefix ordering with fuzzy scoring for files then directories.
|
|
11
|
+
- `src/tunacode/utils/models_registry.py`: Continues to expose `SequenceMatcher`-based fuzzy similarity for models.
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
## Minimal Implementation Strategy
|
|
15
|
+
## Minimal Implementation Strategy (archived plan)
|
|
16
16
|
|
|
17
17
|
1. **Create Shared Fuzzy Utility**
|
|
18
18
|
- File: `src/tunacode/utils/fuzzy_utils.py`
|
|
@@ -45,4 +45,4 @@
|
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
48
|
-
**Code Changes:** ~30 lines total (new utility + modified completer logic)
|
|
48
|
+
**Code Changes:** ~30 lines total (new utility + modified completer logic)
|
|
@@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.0.76.6] - 2025-09-25
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- CI Lint: formatted path_heuristics.py to satisfy ruff format
|
|
12
|
+
- Release: re-tag to include formatting fix
|
|
13
|
+
|
|
14
|
+
## [0.0.76.5] - 2025-09-25
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- Merge fuzzy-touchup branch: refined fuzzy matching and file reference heuristics
|
|
18
|
+
- Release process: version bump and CI publish workflow used
|
|
19
|
+
|
|
20
|
+
## [0.0.76.4] - 2025-09-25
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- **Fuzzy Matching Integration** - Merged new-fuzzy branch with enhanced CLI and file reference completion
|
|
24
|
+
- **Memory Anchor Tool** - Added UUID-based semantic anchoring system for code documentation
|
|
25
|
+
- **Knowledge Base Structure** - Comprehensive RAG tooling for .claude/ directory search and indexing
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- **File Reference System** - Enhanced @mentions with fuzzy-first matching and smart directory browsing
|
|
29
|
+
- **CLI Command Resolution** - Added fuzzy fallback using difflib.get_close_matches for better UX
|
|
30
|
+
- **Code Quality** - Updated coding patterns and best practices in CLAUDE.md
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- **Documentation Consistency** - Resolved merge conflicts and updated project instructions
|
|
34
|
+
- **Import Cleanup** - Removed unused imports and improved code organization
|
|
35
|
+
|
|
36
|
+
## [Unreleased] - 2025-09-22
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- **Models Registry Pydantic Conversion** - Complete conversion to Pydantic BaseModel with validation
|
|
40
|
+
- **RAG Tooling** - SQLite FTS5 index for .claude/ knowledge base search and indexing
|
|
41
|
+
- **Comprehensive Validation Tests** - Added golden baseline tests and validation edge cases
|
|
42
|
+
- **Prompt Toolkit Fuzzy Completers** - Wrapped command and @file completers with native fuzzy matching for typo tolerance
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- **File Reference Ordering** - Re-established fuzzy priority: exact files > fuzzy files > exact dirs > fuzzy dirs
|
|
46
|
+
- **Bare Directory Browsing** - Type `@dir` (without trailing slash) to browse directory contents
|
|
47
|
+
- **Code Style Guidelines** - Updated CLAUDE.md with improved coding patterns and best practices
|
|
48
|
+
- **Models Registry Validation** - Added constraints for non-negative costs and positive limits
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
- **Validation Edge Cases** - Enhanced registry validation for model loading scenarios
|
|
52
|
+
|
|
8
53
|
## [0.0.76.2] - 2025-09-19
|
|
9
54
|
|
|
10
55
|
### Added
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# RAG Modules
|
|
2
|
+
|
|
3
|
+
Retrieval-Augmented Generation modules for indexing and searching documentation using SQLite FTS5.
|
|
4
|
+
|
|
5
|
+
## Quick Start (CLI)
|
|
6
|
+
|
|
7
|
+
The included `rag-cli.sh` provides a simple interface for using the RAG tools:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Index the default memory-bank directory
|
|
11
|
+
./rag-cli.sh index
|
|
12
|
+
|
|
13
|
+
# Search indexed content
|
|
14
|
+
./rag-cli.sh search "your query here"
|
|
15
|
+
|
|
16
|
+
# View index statistics
|
|
17
|
+
./rag-cli.sh stats
|
|
18
|
+
|
|
19
|
+
# Index a custom directory
|
|
20
|
+
./rag-cli.sh index --dir /path/to/your/docs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Directory Structure
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
rag_modules/
|
|
27
|
+
├── rag-cli.sh # Main CLI script
|
|
28
|
+
├── rag_knowledge.db # SQLite database (created after first run)
|
|
29
|
+
├── indexer.py # Documentation indexer
|
|
30
|
+
├── search.py # Full-text search interface
|
|
31
|
+
├── stats.py # Index statistics and health monitoring
|
|
32
|
+
├── README.md # This file
|
|
33
|
+
└── default_directory_behavior.md # Details on directory detection
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Customizing Path Pointing
|
|
37
|
+
|
|
38
|
+
The RAG system is flexible and can point to any directory you want to index:
|
|
39
|
+
|
|
40
|
+
### Via CLI (Recommended)
|
|
41
|
+
```bash
|
|
42
|
+
# Index any directory
|
|
43
|
+
./rag-cli.sh index --dir /path/to/your/project/docs
|
|
44
|
+
|
|
45
|
+
# Index multiple directories
|
|
46
|
+
./rag-cli.sh index --dir ./docs ./wiki ./notes
|
|
47
|
+
|
|
48
|
+
# Use a custom database location
|
|
49
|
+
./rag-cli.sh index --dir ./docs --db-path /custom/path/to/my.db
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Via Environment Variables
|
|
53
|
+
```bash
|
|
54
|
+
# Set custom database path
|
|
55
|
+
export RAG_DB_PATH="/custom/location/knowledge.db"
|
|
56
|
+
|
|
57
|
+
# Enable verbose output
|
|
58
|
+
export RAG_VERBOSE=1
|
|
59
|
+
|
|
60
|
+
# Then run commands normally
|
|
61
|
+
./rag-cli.sh index
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Direct Module Usage
|
|
65
|
+
```bash
|
|
66
|
+
# Index specific directories with full control
|
|
67
|
+
python3 indexer.py --directories ./src ./docs ./README.md --db-path ./my_docs.db
|
|
68
|
+
|
|
69
|
+
# Search with specific parameters
|
|
70
|
+
python3 search.py --db-path ./my_docs.db --query "API reference" --category src --format json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Agent Usage Guide
|
|
74
|
+
|
|
75
|
+
For AI agents and programmatic use:
|
|
76
|
+
|
|
77
|
+
### 1. Index Documentation
|
|
78
|
+
```bash
|
|
79
|
+
# For agent knowledge bases
|
|
80
|
+
./rag-cli.sh index --dir /path/to/agent/knowledge
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 2. Search (JSON output recommended)
|
|
84
|
+
```bash
|
|
85
|
+
# Get search results in JSON format for parsing
|
|
86
|
+
./rag-cli.sh search "implementation details" --format json
|
|
87
|
+
|
|
88
|
+
# Search within specific categories
|
|
89
|
+
./rag-cli.sh search "API methods" --category api --format json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 3. Check Index Health
|
|
93
|
+
```bash
|
|
94
|
+
# Get statistics in JSON format
|
|
95
|
+
./rag-cli.sh stats --json
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## CLI Reference
|
|
99
|
+
|
|
100
|
+
### Index Command
|
|
101
|
+
```bash
|
|
102
|
+
./rag-cli.sh index [options]
|
|
103
|
+
--full # Full rebuild of index
|
|
104
|
+
--dir DIR # Directory to index (default: ../memory-bank)
|
|
105
|
+
--db PATH # Custom database path
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Search Command
|
|
109
|
+
```bash
|
|
110
|
+
./rag-cli.sh search <query> [options]
|
|
111
|
+
--category CAT # Search within specific category
|
|
112
|
+
--format FMT # Output: json|text|markdown (default: json)
|
|
113
|
+
--limit N # Maximum results (default: 10)
|
|
114
|
+
--db PATH # Custom database path
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Stats Command
|
|
118
|
+
```bash
|
|
119
|
+
./rag-cli.sh stats [options]
|
|
120
|
+
--json # Output in JSON format
|
|
121
|
+
--db PATH # Custom database path
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Default Directory Behavior
|
|
125
|
+
|
|
126
|
+
When no directories are specified, the system automatically searches for documentation:
|
|
127
|
+
1. First looks in the current directory for `docs/` or `documentation/` folders
|
|
128
|
+
2. If not found, checks the parent directory for the same folders
|
|
129
|
+
|
|
130
|
+
## Supported File Types
|
|
131
|
+
|
|
132
|
+
- Markdown files (.md, .markdown)
|
|
133
|
+
- Text files (.txt)
|
|
134
|
+
|
|
135
|
+
## Output Formats
|
|
136
|
+
|
|
137
|
+
- **JSON**: Compact JSONL format for agent consumption
|
|
138
|
+
- **Text**: Human-readable with highlighted search terms
|
|
139
|
+
- **Markdown**: Formatted output with proper formatting
|
|
140
|
+
|
|
141
|
+
## Examples
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Index project documentation
|
|
145
|
+
./rag-cli.sh index --dir ./docs
|
|
146
|
+
|
|
147
|
+
# Search for specific patterns
|
|
148
|
+
./rag-cli.sh search "authentication flow" --category guide --format markdown
|
|
149
|
+
|
|
150
|
+
# Check what's indexed
|
|
151
|
+
./rag-cli.sh stats
|
|
152
|
+
|
|
153
|
+
# Full reindex when files change significantly
|
|
154
|
+
./rag-cli.sh index --full --dir ./docs
|
|
155
|
+
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# RAG Modules
|
|
2
|
+
|
|
3
|
+
Retrieval-Augmented Generation modules for indexing and searching documentation using SQLite FTS5.
|
|
4
|
+
|
|
5
|
+
## Quick Start (CLI)
|
|
6
|
+
|
|
7
|
+
The included `rag-cli.sh` provides a simple interface for using the RAG tools:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Index the default memory-bank directory
|
|
11
|
+
./rag-cli.sh index
|
|
12
|
+
|
|
13
|
+
# Search indexed content
|
|
14
|
+
./rag-cli.sh search "your query here"
|
|
15
|
+
|
|
16
|
+
# View index statistics
|
|
17
|
+
./rag-cli.sh stats
|
|
18
|
+
|
|
19
|
+
# Index a custom directory
|
|
20
|
+
./rag-cli.sh index --dir /path/to/your/docs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Directory Structure
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
rag_modules/
|
|
27
|
+
├── rag-cli.sh # Main CLI script
|
|
28
|
+
├── rag_knowledge.db # SQLite database (created after first run)
|
|
29
|
+
├── indexer.py # Documentation indexer
|
|
30
|
+
├── search.py # Full-text search interface
|
|
31
|
+
├── stats.py # Index statistics and health monitoring
|
|
32
|
+
├── README.md # This file
|
|
33
|
+
└── default_directory_behavior.md # Details on directory detection
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Customizing Path Pointing
|
|
37
|
+
|
|
38
|
+
The RAG system is flexible and can point to any directory you want to index:
|
|
39
|
+
|
|
40
|
+
### Via CLI (Recommended)
|
|
41
|
+
```bash
|
|
42
|
+
# Index any directory
|
|
43
|
+
./rag-cli.sh index --dir /path/to/your/project/docs
|
|
44
|
+
|
|
45
|
+
# Index multiple directories
|
|
46
|
+
./rag-cli.sh index --dir ./docs ./wiki ./notes
|
|
47
|
+
|
|
48
|
+
# Use a custom database location
|
|
49
|
+
./rag-cli.sh index --dir ./docs --db-path /custom/path/to/my.db
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Via Environment Variables
|
|
53
|
+
```bash
|
|
54
|
+
# Set custom database path
|
|
55
|
+
export RAG_DB_PATH="/custom/location/knowledge.db"
|
|
56
|
+
|
|
57
|
+
# Enable verbose output
|
|
58
|
+
export RAG_VERBOSE=1
|
|
59
|
+
|
|
60
|
+
# Then run commands normally
|
|
61
|
+
./rag-cli.sh index
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Direct Module Usage
|
|
65
|
+
```bash
|
|
66
|
+
# Index specific directories with full control
|
|
67
|
+
python3 indexer.py --directories ./src ./docs ./README.md --db-path ./my_docs.db
|
|
68
|
+
|
|
69
|
+
# Search with specific parameters
|
|
70
|
+
python3 search.py --db-path ./my_docs.db --query "API reference" --category src --format json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Agent Usage Guide
|
|
74
|
+
|
|
75
|
+
For AI agents and programmatic use:
|
|
76
|
+
|
|
77
|
+
### 1. Index Documentation
|
|
78
|
+
```bash
|
|
79
|
+
# For agent knowledge bases
|
|
80
|
+
./rag-cli.sh index --dir /path/to/agent/knowledge
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 2. Search (JSON output recommended)
|
|
84
|
+
```bash
|
|
85
|
+
# Get search results in JSON format for parsing
|
|
86
|
+
./rag-cli.sh search "implementation details" --format json
|
|
87
|
+
|
|
88
|
+
# Search within specific categories
|
|
89
|
+
./rag-cli.sh search "API methods" --category api --format json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 3. Check Index Health
|
|
93
|
+
```bash
|
|
94
|
+
# Get statistics in JSON format
|
|
95
|
+
./rag-cli.sh stats --json
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## CLI Reference
|
|
99
|
+
|
|
100
|
+
### Index Command
|
|
101
|
+
```bash
|
|
102
|
+
./rag-cli.sh index [options]
|
|
103
|
+
--full # Full rebuild of index
|
|
104
|
+
--dir DIR # Directory to index (default: ../memory-bank)
|
|
105
|
+
--db PATH # Custom database path
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Search Command
|
|
109
|
+
```bash
|
|
110
|
+
./rag-cli.sh search <query> [options]
|
|
111
|
+
--category CAT # Search within specific category
|
|
112
|
+
--format FMT # Output: json|text|markdown (default: json)
|
|
113
|
+
--limit N # Maximum results (default: 10)
|
|
114
|
+
--db PATH # Custom database path
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Stats Command
|
|
118
|
+
```bash
|
|
119
|
+
./rag-cli.sh stats [options]
|
|
120
|
+
--json # Output in JSON format
|
|
121
|
+
--db PATH # Custom database path
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Default Directory Behavior
|
|
125
|
+
|
|
126
|
+
When no directories are specified, the system automatically searches for documentation:
|
|
127
|
+
1. First looks in the current directory for `docs/` or `documentation/` folders
|
|
128
|
+
2. If not found, checks the parent directory for the same folders
|
|
129
|
+
|
|
130
|
+
## Supported File Types
|
|
131
|
+
|
|
132
|
+
- Markdown files (.md, .markdown)
|
|
133
|
+
- Text files (.txt)
|
|
134
|
+
|
|
135
|
+
## Output Formats
|
|
136
|
+
|
|
137
|
+
- **JSON**: Compact JSONL format for agent consumption
|
|
138
|
+
- **Text**: Human-readable with highlighted search terms
|
|
139
|
+
- **Markdown**: Formatted output with proper formatting
|
|
140
|
+
|
|
141
|
+
## Examples
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Index project documentation
|
|
145
|
+
./rag-cli.sh index --dir ./docs
|
|
146
|
+
|
|
147
|
+
# Search for specific patterns
|
|
148
|
+
./rag-cli.sh search "authentication flow" --category guide --format markdown
|
|
149
|
+
|
|
150
|
+
# Check what's indexed
|
|
151
|
+
./rag-cli.sh stats
|
|
152
|
+
|
|
153
|
+
# Full reindex when files change significantly
|
|
154
|
+
./rag-cli.sh index --full --dir ./docs
|
|
155
|
+
```
|