- Rename experiment ID from smartContextTracking to smartRead
- Apply smart read logic to @ file mentions (skip files already in context)
- Add parseMentions parameters for experiments and apiConversationHistory
- Add English translation keys for SMART_READ experiment
- Fix TypeScript errors and update tests
Added new 'smartContextTracking' experiment to gate the file context
tracking optimization. When disabled (default), the read_file tools
behave as before. When enabled, files that haven't changed and still
have content in the conversation context return a short 'unchanged'
response instead of re-reading the full content.
Changes:
- Added smartContextTracking to experimentIds in packages/types
- Added SMART_CONTEXT_TRACKING to experiments.ts
- Updated simpleReadFileTool.ts to check experiment before optimization
- Updated ReadFileTool.ts to check experiment before optimization
- Add containingMessageTs field to FileMetadataEntry schema
- Create FileContextStatusChecker to detect unchanged files in context
- Modify read_file tools to check context status before re-reading
- Return short response when file content is already in effective context
- Still show unchanged files in UI approval like normal reads
- Add 19 unit tests for FileContextStatusChecker
- Update test mocks with getTaskMetadata and apiConversationHistory