diff --git a/.taskmaster/config.json b/.taskmaster/config.json new file mode 100644 index 0000000..ed79448 --- /dev/null +++ b/.taskmaster/config.json @@ -0,0 +1,46 @@ +{ + "models": { + "main": { + "provider": "anthropic", + "modelId": "claude-sonnet-4-20250514", + "maxTokens": 64000, + "temperature": 0.2, + "id": "claude-sonnet-4-20250514" + }, + "research": { + "provider": "anthropic", + "modelId": "sonar", + "maxTokens": 8700, + "temperature": 0.1, + "id": "claude-sonnet-4-20250514" + }, + "fallback": { + "provider": "anthropic", + "modelId": "claude-3-7-sonnet-20250219", + "maxTokens": 120000, + "temperature": 0.2 + } + }, + "global": { + "logLevel": "info", + "debug": false, + "defaultNumTasks": 10, + "defaultSubtasks": 5, + "defaultPriority": "medium", + "projectName": "Task Master", + "ollamaBaseURL": "http://localhost:11434/api", + "bedrockBaseURL": "https://bedrock.us-east-1.amazonaws.com", + "responseLanguage": "English", + "enableCodebaseAnalysis": true, + "enableProxy": false, + "anonymousTelemetry": true, + "userId": "1234567890" + }, + "claudeCode": {}, + "codexCli": {}, + "grokCli": { + "timeout": 120000, + "workingDirectory": null, + "defaultModel": "grok-4-latest" + } +} \ No newline at end of file diff --git a/.taskmaster/state.json b/.taskmaster/state.json new file mode 100644 index 0000000..cc83a5a --- /dev/null +++ b/.taskmaster/state.json @@ -0,0 +1,6 @@ +{ + "currentTag": "master", + "lastSwitched": "2026-04-14T06:05:06.044Z", + "branchTagMapping": {}, + "migrationNoticeShown": false +} \ No newline at end of file diff --git a/.taskmaster/tasks/tasks.json b/.taskmaster/tasks/tasks.json new file mode 100644 index 0000000..b7c1c9f --- /dev/null +++ b/.taskmaster/tasks/tasks.json @@ -0,0 +1,22 @@ +{ + "master": { + "tasks": [ + { + "id": 1, + "title": "fix: broaden task detection to include Contact-linked tasks", + "description": "AlertCalculator, CaseContextBuilder, and OfficeContextBuilder only queried tasks with parentType='Case', missing tasks linked to case contacts (parentType='Contact'). This caused false 'no preparation task' alerts in Shira's daily standup.", + "status": "in-progress", + "priority": "high", + "dependencies": [], + "details": "Root cause confirmed via production API: preparation tasks had parentType='Contact' because Shira created them linked to the contact entity. Fix broadens all task queries to include both Case and Contact parent types, plus NhActivity-linked tasks.", + "testStrategy": "Deploy to staging, trigger standup for a case with Contact-linked tasks, verify no false alert.", + "subtasks": [] + } + ], + "metadata": { + "created": "2026-04-14T06:05:06.042Z", + "updated": "2026-04-14T09:15:00.000Z", + "description": "Tasks for master context" + } + } +} diff --git a/manifest.json b/manifest.json index cfd5272..1b92b9b 100644 --- a/manifest.json +++ b/manifest.json @@ -3,11 +3,11 @@ "module": "SmartAssistant", "description": "Unified AI Assistant for Legal CRM — floating chat with case memory, office alerts, and AI Gateway integration", "author": "klear", - "version": "2.7.2", + "version": "2.7.3", "acceptableVersions": [ ">=8.0.0" ], - "releaseDate": "2026-04-09", + "releaseDate": "2026-04-14", "php": [ ">=8.1" ]