diff --git a/backups/.claude.json.backup.1771530469387 b/backups/.claude.json.backup.1771530469387 deleted file mode 100644 index 44a0c32..0000000 --- a/backups/.claude.json.backup.1771530469387 +++ /dev/null @@ -1,2247 +0,0 @@ -{ - "numStartups": 661, - "installMethod": "native", - "autoUpdates": true, - "preferredNotifChannel": "iterm2_with_bell", - "hasSeenTasksHint": true, - "tipsHistory": { - "new-user-warmup": 2, - "theme-command": 660, - "prompt-queue": 12, - "enter-to-steer-in-relatime": 651, - "todo-list": 660, - "# for memory": 38, - "install-github-app": 653, - "permissions": 654, - "drag-and-drop-images": 659, - "double-esc": 75, - "continue": 655, - "ide-hotkey": 74, - "terminal-setup": 29, - "custom-commands": 655, - "shift-enter": 661, - "shift-tab": 655, - "custom-agents": 648, - "status-line": 536, - "git-worktrees": 661, - "image-paste": 646, - "plan-mode-for-complex-tasks": 384, - "double-esc-code-restore": 654, - "tab-toggle-thinking": 329, - "ultrathink-keyword": 423, - "ide-upsell-external-terminal": 646, - "stickers-command": 416, - "default-permission-mode-config": 436, - "rename-conversation": 655, - "frontend-design-plugin": 560, - "config-thinking-mode": 412, - "guest-passes": 587, - "colorterm-truecolor": 638, - "web-app": 657, - "mobile-app": 657, - "install-slack-app": 656, - "btw-side-question": 407, - "agent-flag": 652 - }, - "memoryUsageCount": 18, - "promptQueueUseCount": 4478, - "cachedStatsigGates": { - "tengu_disable_bypass_permissions_mode": false, - "tengu_use_file_checkpoints": true, - "tengu_tool_pear": false, - "tengu_migrate_ignore_patterns": false, - "tengu_halloween": false, - "tengu_web_tasks": true, - "tengu_show_extra_usage_bar": true, - "tengu_log_1p_events": true, - "tengu_enable_versioned_plugins": false, - "code_slack_app_install_banner": false, - "tengu_sumi": true, - "tengu_react_vulnerability_warning": false, - "tengu_tool_result_persistence": false, - "tengu_c4w_usage_limit_notifications_enabled": true, - "tengu_thinkback": false, - "tengu_ant_attribution_header_new": true, - "tengu_clawd_openfire": false, - "tengu_prompt_suggestion": true, - "tengu_year_end_2025_campaign_promo": false, - "tengu_streaming_tool_execution2": false, - "tengu_session_memory": false - }, - "cachedDynamicConfigs": { - "tengu_1p_event_batch_config": { - "scheduledDelayMillis": 5000, - "maxExportBatchSize": 200, - "maxQueueSize": 8192 - }, - "tengu-top-of-feed-tip": { - "tip": "", - "color": "" - } - }, - "cachedGrowthBookFeatures": { - "tengu_pid_based_version_locking": true, - "tengu_accept_with_feedback": true, - "tengu_mcp_tool_search": true, - "tengu_disable_bypass_permissions_mode": false, - "tengu_tool_pear": false, - "tengu_c4w_usage_limit_notifications_enabled": true, - "tengu_thinkback": false, - "tengu_sumi": true, - "tengu_ant_attribution_header_new": true, - "tengu_react_vulnerability_warning": false, - "tengu_tool_result_persistence": true, - "strawberry_granite_flag": "OFF", - "persimmon_marble_flag": "marble", - "tengu_tool_search_unsupported_models": [ - "haiku" - ], - "tengu_1p_event_batch_config": { - "scheduledDelayMillis": 5000, - "maxExportBatchSize": 200, - "maxQueueSize": 8192 - }, - "tengu_event_sampling_config": {}, - "tengu_scratch": false, - "tengu_log_segment_events": false, - "tengu_log_datadog_events": true, - "tengu_streaming_tool_execution2": true, - "tengu_post_compact_survey": false, - "tengu-top-of-feed-tip": { - "tip": "", - "color": "" - }, - "enhanced_telemetry_beta": false, - "tengu_code_diff_cli": true, - "tengu_compact_streaming_retry": false, - "tengu_session_memory": false, - "tengu_bash_haiku_prefetch": true, - "tengu_sm_compact": false, - "tengu_attribution_header": true, - "tengu_keybinding_customization": false, - "tengu_claudeai_mcp_connectors": true, - "tengu_plank_river_frost": "user_intent", - "tengu_brass_pebble": false, - "tengu_plan_mode_interview_phase": false, - "tengu_scarf_coffee": false, - "tengu_keybinding_customization_release": true, - "tengu_pr_status_cli": true, - "tengu_marble_kite": false, - "tengu_kv7_prompt_sort": true, - "tengu_marble_anvil": true, - "tengu_coral_fern": false, - "tengu_cache_plum_violet": true, - "tengu_tst_kx7": false, - "tengu_cork_m4q": true, - "tengu_compact_cache_prefix": true, - "tengu_file_write_optimization": true, - "tengu_system_prompt_global_cache": true, - "tengu_workout": false, - "tengu_plum_vx3": true, - "tengu_vscode_review_upsell": false, - "tengu_vscode_onboarding": false, - "tengu_quiet_fern": false, - "tengu_vinteuil_phrase": true, - "tengu_oboe": true, - "tengu_tst_names_in_messages": false, - "tengu_chomp_inflection": true, - "tengu_silver_lantern": false, - "tengu_copper_lantern": false, - "tengu_workout2": true, - "tengu_marble_lantern_disabled": false, - "tengu_penguins_enabled": true, - "tengu_penguins_off": null, - "tengu_penguin_mode_promo": { - "discountPercent": 50, - "endDate": "Feb 16" - }, - "tengu_mcp_elicitation": false, - "tengu_snippet_save": false, - "tengu_bergotte_lantern": false, - "tengu_amber_flint": true, - "tengu_chrome_auto_enable": false, - "tengu_fgts": false, - "tengu_immediate_model_command": false, - "tengu_mulberry_fog": false, - "tengu_prompt_cache_1h_config": { - "allowlist": [ - "repl_main_thread*", - "sdk" - ] - }, - "tengu_disable_streaming_to_non_streaming_fallback": false, - "tengu_amber_prism": false, - "tengu_birthday_hat": true, - "tengu_moth_copse": false, - "tengu_permission_explainer": true, - "tengu_slate_nexus": false, - "tengu_marble_sandcastle": true, - "tengu_birch_mist": false, - "tengu_oak_drum": false - }, - "hasSeenStashHint": true, - "firstStartTime": "2025-07-09T18:27:34.950Z", - "userID": "67ff4da909deda738fb9d1bd6b743a7b7072fba19ec9dcc700fb61b83cd680f0", - "projects": { - "/mnt/NV2/Development/paper-dynasty": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 6, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 5.085098, - "lastAPIDuration": 656693, - "lastToolDuration": 87436, - "lastDuration": 73587544, - "lastLinesAdded": 275, - "lastLinesRemoved": 546, - "lastTotalInputTokens": 50542, - "lastTotalOutputTokens": 30915, - "lastTotalCacheCreationInputTokens": 141712, - "lastTotalCacheReadInputTokens": 6788738, - "lastSessionId": "829c2709-523b-455b-8f18-c9e98683677d", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 656657, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 50464, - "outputTokens": 935, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.055139000000000014 - }, - "claude-opus-4-6": { - "inputTokens": 78, - "outputTokens": 29980, - "cacheReadInputTokens": 6788738, - "cacheCreationInputTokens": 141712, - "webSearchRequests": 0, - "costUSD": 5.029959 - } - }, - "lastFpsAverage": 0.18, - "lastFpsLow1Pct": 9.71, - "lastSessionMetrics": { - "frame_duration_ms_count": 13108, - "frame_duration_ms_min": 0.11368899999999371, - "frame_duration_ms_max": 199.6928890000563, - "frame_duration_ms_avg": 4.148051465208603, - "frame_duration_ms_p50": 1.1749479999998584, - "frame_duration_ms_p95": 1.8468253500584952, - "frame_duration_ms_p99": 99.39902745002993 - } - }, - "/mnt/NV2/Development/paper-dynasty/discord-app": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 4, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "gameplay.py", - "helpers.py", - "gauntlets.py", - "players.py", - "gameplay_models.py" - ], - "exampleFilesGeneratedAt": 1771200477099, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 1.701528, - "lastAPIDuration": 166292, - "lastToolDuration": 6794, - "lastDuration": 473503, - "lastLinesAdded": 8, - "lastLinesRemoved": 9, - "lastTotalInputTokens": 22018, - "lastTotalOutputTokens": 4582, - "lastTotalCacheCreationInputTokens": 129852, - "lastTotalCacheReadInputTokens": 1510282, - "lastSessionId": "2b4b8d5b-b512-4151-8e0a-e7df54ca87af", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 166269, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 19317, - "outputTokens": 628, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.022457 - }, - "claude-opus-4-6": { - "inputTokens": 2701, - "outputTokens": 3954, - "cacheReadInputTokens": 1510282, - "cacheCreationInputTokens": 129852, - "webSearchRequests": 0, - "costUSD": 1.6790709999999998 - } - }, - "lastFpsAverage": 9.87, - "lastFpsLow1Pct": 78.57, - "lastSessionMetrics": { - "frame_duration_ms_count": 329, - "frame_duration_ms_min": 0.2862079999999878, - "frame_duration_ms_max": 21.07715700000017, - "frame_duration_ms_avg": 1.241589392097319, - "frame_duration_ms_p50": 0.6591350000016973, - "frame_duration_ms_p95": 4.936919999999964, - "frame_duration_ms_p99": 12.333302280000893 - } - }, - "/mnt/NV2/Development/paper-dynasty/card-creation": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 4, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "creation_helpers.py", - "retrosheet_data.py", - "live_series_update.py", - "db_calls.py", - "calcs_batter.py" - ], - "exampleFilesGeneratedAt": 1771120959673, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.97483075, - "lastAPIDuration": 112428, - "lastToolDuration": 41752, - "lastDuration": 1492175, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 11865, - "lastTotalOutputTokens": 3918, - "lastTotalCacheCreationInputTokens": 52943, - "lastTotalCacheReadInputTokens": 1079940, - "lastSessionId": "bb0edcb2-c231-429b-b9b2-871693d68164", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 112416, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 11817, - "outputTokens": 302, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.013327000000000002 - }, - "claude-opus-4-6": { - "inputTokens": 48, - "outputTokens": 3616, - "cacheReadInputTokens": 1079940, - "cacheCreationInputTokens": 52943, - "webSearchRequests": 0, - "costUSD": 0.96150375 - } - }, - "lastFpsAverage": 2.41, - "lastFpsLow1Pct": 376.75, - "lastSessionMetrics": { - "frame_duration_ms_count": 3600, - "frame_duration_ms_min": 0.242127999999866, - "frame_duration_ms_max": 5.281829999992624, - "frame_duration_ms_avg": 0.580389515832801, - "frame_duration_ms_p50": 0.5064559999955236, - "frame_duration_ms_p95": 0.7619019999605353, - "frame_duration_ms_p99": 2.6560799299745104 - } - }, - "/mnt/NV2/Development/major-domo/discord-app": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 1, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "players.py", - "transactions.py", - "helpers.py", - "db_calls.py", - "draft.py" - ], - "exampleFilesGeneratedAt": 1769634210567, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.41368375, - "lastAPIDuration": 62642, - "lastToolDuration": 5017, - "lastDuration": 759802, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 731, - "lastTotalOutputTokens": 2831, - "lastTotalCacheCreationInputTokens": 36799, - "lastTotalCacheReadInputTokens": 225704, - "lastSessionId": "b028c6d5-906a-42a5-bcc8-3007ad6cc9be", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 62637, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 673, - "outputTokens": 45, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.0008979999999999999 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 58, - "outputTokens": 2786, - "cacheReadInputTokens": 225704, - "cacheCreationInputTokens": 36799, - "webSearchRequests": 0, - "costUSD": 0.41278575 - } - }, - "lastFpsAverage": 3.04, - "lastFpsLow1Pct": 446.27 - }, - "/mnt/NV2/Development/paper-dynasty/database": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 1, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "db_engine.py", - "teams.py", - "battingcardratings.py", - "card_creation.py", - "players.py" - ], - "exampleFilesGeneratedAt": 1771135527599, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.6665207500000002, - "lastAPIDuration": 78227, - "lastToolDuration": 4637, - "lastDuration": 250612, - "lastLinesAdded": 7, - "lastLinesRemoved": 8, - "lastTotalInputTokens": 5310, - "lastTotalOutputTokens": 2768, - "lastTotalCacheCreationInputTokens": 48081, - "lastTotalCacheReadInputTokens": 587961, - "lastSessionId": "93b4db7a-6cf9-4372-b787-48b349953790", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 78224, - "lastModelUsage": { - "claude-opus-4-6": { - "inputTokens": 606, - "outputTokens": 2523, - "cacheReadInputTokens": 587961, - "cacheCreationInputTokens": 48081, - "webSearchRequests": 0, - "costUSD": 0.6605917499999999 - }, - "claude-haiku-4-5-20251001": { - "inputTokens": 4704, - "outputTokens": 245, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.005929 - } - }, - "lastFpsAverage": 7.31, - "lastFpsLow1Pct": 194.99, - "lastSessionMetrics": { - "frame_duration_ms_count": 1828, - "frame_duration_ms_min": 0.0990590000001248, - "frame_duration_ms_max": 8.969790000002831, - "frame_duration_ms_avg": 0.679499891137906, - "frame_duration_ms_p50": 0.5137859999958891, - "frame_duration_ms_p95": 1.3138215000040865, - "frame_duration_ms_p99": 5.171841930003283 - } - }, - "/mnt/NV2/Development/major-domo/website/sba": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 1, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "PlayerView.vue", - "NavBar.vue", - "utilities.ts", - "TeamView.vue", - "ScheduleView.vue" - ], - "exampleFilesGeneratedAt": 1752684082764, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.9222622499999997, - "lastAPIDuration": 211074, - "lastToolDuration": 106309, - "lastDuration": 172787988, - "lastLinesAdded": 6, - "lastLinesRemoved": 15, - "lastTotalInputTokens": 12057, - "lastTotalOutputTokens": 9314, - "lastTotalCacheCreationInputTokens": 68507, - "lastTotalCacheReadInputTokens": 1677945, - "lastSessionId": "2853d835-8e58-4264-9af8-965b509be920" - }, - "/mnt/NV2/Development/claude-strat": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 2, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0, - "lastAPIDuration": 0, - "lastAPIDurationWithoutRetries": 0, - "lastToolDuration": 0, - "lastDuration": 78562, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 0, - "lastTotalOutputTokens": 0, - "lastTotalCacheCreationInputTokens": 0, - "lastTotalCacheReadInputTokens": 0, - "lastFpsAverage": 0.24, - "lastFpsLow1Pct": 460.03, - "lastModelUsage": {}, - "lastSessionId": "18118e64-debf-4131-a196-8b35468cc21d", - "lastSessionMetrics": { - "frame_duration_ms_count": 19, - "frame_duration_ms_min": 0.09748899999999594, - "frame_duration_ms_max": 2.173793000000046, - "frame_duration_ms_avg": 0.7502662105250782, - "frame_duration_ms_p50": 0.5705650000018068, - "frame_duration_ms_p95": 1.5184094000000399, - "frame_duration_ms_p99": 2.0427162800000453 - } - }, - "/mnt/NV2/Development/claude-home": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "hasTrustDialogHooksAccepted": false, - "projectOnboardingSeenCount": 6, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "exampleFiles": [ - "CLAUDE.md", - "hosts.yml", - "start-tdarr-gpu-podman-clean.sh", - "tdarr-timeout-monitor.sh", - "docker-build-template.yml" - ], - "exampleFilesGeneratedAt": 1771197437832, - "hasTrustDialogBashAccepted": true, - "disabledMcpServers": [ - "ssh-vultr", - "podman", - "ssh-akamai", - "ssh-database-apis", - "ssh-discord-bots", - "ssh-docker-home", - "ssh-docker-vpn", - "ssh-pihole", - "ssh-sba-bots", - "ssh-tdarr", - "notediscovery" - ], - "lastCost": 0.29647025, - "lastAPIDuration": 4856, - "lastToolDuration": 0, - "lastDuration": 247436, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 297, - "lastTotalOutputTokens": 29, - "lastTotalCacheCreationInputTokens": 47321, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "8d1ffe8f-1e99-4e60-b9dd-270e9a939153", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 4855, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 294, - "outputTokens": 16, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000374 - }, - "claude-opus-4-6": { - "inputTokens": 3, - "outputTokens": 13, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 47321, - "webSearchRequests": 0, - "costUSD": 0.29609625 - } - }, - "lastSessionMetrics": { - "frame_duration_ms_count": 24, - "frame_duration_ms_min": 0.26554799999999545, - "frame_duration_ms_max": 3.014287000000081, - "frame_duration_ms_avg": 1.1559620416666985, - "frame_duration_ms_p50": 0.9233974999999646, - "frame_duration_ms_p95": 1.925081300000033, - "frame_duration_ms_p99": 2.771056710000067 - } - }, - "/mnt/NV2/Development/major-domo": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 21, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.038617, - "lastAPIDuration": 9353, - "lastToolDuration": 0, - "lastDuration": 7595, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 4, - "lastTotalOutputTokens": 370, - "lastTotalCacheCreationInputTokens": 9588, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "4732b974-2222-43bd-ade6-68f939374e2d" - }, - "/mnt/NV2/Development/major-domo/discord-app-v2": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "bot.py", - "picks.py", - "player_service.py", - "draft_monitor.py", - "transaction_builder.py" - ], - "exampleFilesGeneratedAt": 1771010003932, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.48880999999999997, - "lastAPIDuration": 82556, - "lastToolDuration": 762, - "lastDuration": 31782115, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 10182, - "lastTotalOutputTokens": 3557, - "lastTotalCacheCreationInputTokens": 46594, - "lastTotalCacheReadInputTokens": 209453, - "lastSessionId": "af95e872-d30d-4e18-bba0-9b54a2db2472", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 82551, - "lastModelUsage": { - "claude-opus-4-6": { - "inputTokens": 301, - "outputTokens": 3185, - "cacheReadInputTokens": 209453, - "cacheCreationInputTokens": 46594, - "webSearchRequests": 0, - "costUSD": 0.47706899999999997 - }, - "claude-haiku-4-5-20251001": { - "inputTokens": 9881, - "outputTokens": 372, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.011741000000000001 - } - }, - "lastFpsAverage": 0.06, - "lastFpsLow1Pct": 712.84, - "lastSessionMetrics": { - "frame_duration_ms_count": 1990, - "frame_duration_ms_min": 0.1826390000005631, - "frame_duration_ms_max": 7.607172000003629, - "frame_duration_ms_avg": 0.5568929904514509, - "frame_duration_ms_p50": 0.49148100000456907, - "frame_duration_ms_p95": 0.7997885000371748, - "frame_duration_ms_p99": 1.2905342006038087 - } - }, - "/mnt/NV2/Development/major-domo/database": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "stratplay.py", - "db_engine.py", - "players.py", - "main.py", - "player_service.py" - ], - "exampleFilesGeneratedAt": 1770846518939, - "lastTotalWebSearchRequests": 0, - "hasCompletedProjectOnboarding": true, - "lastCost": 2.3901955, - "lastAPIDuration": 301972, - "lastToolDuration": 12114, - "lastDuration": 1670471, - "lastLinesAdded": 10, - "lastLinesRemoved": 53, - "lastTotalInputTokens": 48396, - "lastTotalOutputTokens": 9953, - "lastTotalCacheCreationInputTokens": 108474, - "lastTotalCacheReadInputTokens": 2959228, - "lastSessionId": "5e851c22-a330-498c-b920-91d07e9d7272", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 301237, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 44789, - "outputTokens": 1324, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 10510, - "webSearchRequests": 0, - "costUSD": 0.06454649999999999 - }, - "claude-opus-4-6": { - "inputTokens": 3607, - "outputTokens": 8629, - "cacheReadInputTokens": 2959228, - "cacheCreationInputTokens": 97964, - "webSearchRequests": 0, - "costUSD": 2.3256489999999994 - } - }, - "lastFpsAverage": 3.48, - "lastFpsLow1Pct": 61.79, - "lastSessionMetrics": { - "frame_duration_ms_count": 5811, - "frame_duration_ms_min": 0.06511999999929685, - "frame_duration_ms_max": 24.917415999807417, - "frame_duration_ms_avg": 1.2880430752023766, - "frame_duration_ms_p50": 0.6170755000021018, - "frame_duration_ms_p95": 8.055697949981514, - "frame_duration_ms_p99": 15.687149549964806 - } - }, - "/home/cal": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 2, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "lastCost": 0.49167225000000003, - "lastAPIDuration": 57564, - "lastToolDuration": 795, - "lastDuration": 54969526, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 13534, - "lastTotalOutputTokens": 2290, - "lastTotalCacheCreationInputTokens": 54325, - "lastTotalCacheReadInputTokens": 171658, - "lastTotalWebSearchRequests": 0, - "lastSessionId": "0828ba77-a2b4-4739-901a-2bde4ca9c84d", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 57561, - "lastFpsAverage": 0.03, - "lastFpsLow1Pct": 489.2, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 13522, - "outputTokens": 226, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.014651999999999998 - }, - "claude-opus-4-6": { - "inputTokens": 12, - "outputTokens": 2064, - "cacheReadInputTokens": 171658, - "cacheCreationInputTokens": 54325, - "webSearchRequests": 0, - "costUSD": 0.47702025 - } - }, - "lastSessionMetrics": { - "frame_duration_ms_count": 1797, - "frame_duration_ms_min": 0.07679000124335289, - "frame_duration_ms_max": 3.8076990004628897, - "frame_duration_ms_avg": 0.4328137100382606, - "frame_duration_ms_p50": 0.37359199952334166, - "frame_duration_ms_p95": 0.6538420001044866, - "frame_duration_ms_p99": 1.549595779986366 - } - }, - "/mnt/NV2/Development/paper-dynasty/gameplay-website": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 2, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "lastCost": 20.37967725000001, - "lastAPIDuration": 4284676, - "lastToolDuration": 162304, - "lastDuration": 143735767, - "lastLinesAdded": 10089, - "lastLinesRemoved": 431, - "lastTotalInputTokens": 119579, - "lastTotalOutputTokens": 195181, - "lastTotalCacheCreationInputTokens": 2081675, - "lastTotalCacheReadInputTokens": 31932818, - "lastTotalWebSearchRequests": 0, - "lastSessionId": "e3e9c25e-bf3a-476e-a6e3-4ab186fd09a7" - }, - "/mnt/NV2/Development/paper-dynasty/gameplay-webapp": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 15, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "hasCompletedProjectOnboarding": true - }, - "/mnt/NV2/Development/strat-gameplay-webapp": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "ignorePatterns": [], - "projectOnboardingSeenCount": 5, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "game_engine.py", - "game_models.py", - "[id].vue", - "state_manager.py", - "handlers.py" - ], - "exampleFilesGeneratedAt": 1770420014240, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 16.934636699999995, - "lastAPIDuration": 2029033, - "lastToolDuration": 334075, - "lastDuration": 72071738, - "lastLinesAdded": 1642, - "lastLinesRemoved": 807, - "lastTotalInputTokens": 129026, - "lastTotalOutputTokens": 104896, - "lastTotalCacheCreationInputTokens": 898174, - "lastTotalCacheReadInputTokens": 21863464, - "lastSessionId": "96ccb792-ef5c-4f2d-abc0-3ab3f694d5d4", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 2028886, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 128537, - "outputTokens": 21695, - "cacheReadInputTokens": 1593012, - "cacheCreationInputTokens": 258592, - "webSearchRequests": 0, - "costUSD": 0.7195532000000001 - }, - "claude-opus-4-6": { - "inputTokens": 419, - "outputTokens": 78422, - "cacheReadInputTokens": 19831105, - "cacheCreationInputTokens": 605182, - "webSearchRequests": 0, - "costUSD": 15.660584999999992 - }, - "claude-sonnet-4-5-20250929": { - "inputTokens": 70, - "outputTokens": 4779, - "cacheReadInputTokens": 439347, - "cacheCreationInputTokens": 34400, - "webSearchRequests": 0, - "costUSD": 0.5544985 - } - }, - "lastFpsAverage": 0.51, - "lastFpsLow1Pct": 8.98, - "lastSessionMetrics": { - "frame_duration_ms_count": 36971, - "frame_duration_ms_min": 0.023979991674423218, - "frame_duration_ms_max": 471.0088710002601, - "frame_duration_ms_avg": 4.1840136584065, - "frame_duration_ms_p50": 1.0950170001015067, - "frame_duration_ms_p95": 2.274254503706469, - "frame_duration_ms_p99": 113.62059141005383 - } - }, - "/home/cal/PAI-personal": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 3, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "README.md", - "stop-hook.ts", - "load-dynamic-requirements.ts", - "server.ts", - "voice-system.md" - ], - "exampleFilesGeneratedAt": 1762705373825, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.06835225, - "lastAPIDuration": 6739, - "lastToolDuration": 0, - "lastDuration": 184755, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 133, - "lastTotalOutputTokens": 173, - "lastTotalCacheCreationInputTokens": 17559, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "aaf66661-ddee-428d-abaa-f3ee035385f7" - }, - "/home/cal/work": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 1, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [], - "lastCost": 0.45607089999999995, - "lastAPIDuration": 150289, - "lastToolDuration": 7286, - "lastDuration": 1692139, - "lastLinesAdded": 5, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 11418, - "lastTotalOutputTokens": 5237, - "lastTotalCacheCreationInputTokens": 75368, - "lastTotalCacheReadInputTokens": 292173, - "lastTotalWebSearchRequests": 0, - "lastSessionId": "df8bf8dd-746a-46ef-9faa-448f402968cc" - }, - "/home/cal/work/esb-monorepo": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 7, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "main.py", - "output_utils.py", - "base.py", - "validate_field_mappings.py", - "test_end_to_end.py" - ], - "exampleFilesGeneratedAt": 1771431800882, - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "lastCost": 0.000711, - "lastAPIDuration": 823, - "lastToolDuration": 0, - "lastDuration": 6284, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 536, - "lastTotalOutputTokens": 35, - "lastTotalCacheCreationInputTokens": 0, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 822, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 536, - "outputTokens": 35, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000711 - } - }, - "lastFpsAverage": 6.68, - "lastFpsLow1Pct": 219.22, - "lastSessionMetrics": { - "frame_duration_ms_count": 38, - "frame_duration_ms_min": 0.0733989999998812, - "frame_duration_ms_max": 4.561674999999923, - "frame_duration_ms_avg": 1.2307077105262876, - "frame_duration_ms_p50": 1.1626314999998613, - "frame_duration_ms_p95": 2.57251919999976, - "frame_duration_ms_p99": 3.884495079999988 - } - }, - "/mnt/NV2/Development/efd-trading-card-base": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 3, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "ModBehaviour.cs", - "Patches.cs", - "StorageHelper.cs", - "TagHelper.cs", - "PackHelper.cs" - ], - "hasCompletedProjectOnboarding": true, - "lastTotalWebSearchRequests": 0, - "exampleFilesGeneratedAt": 1766960877904, - "lastCost": 1.1139348, - "lastAPIDuration": 360792, - "lastToolDuration": 124593, - "lastDuration": 437573762, - "lastLinesAdded": 480, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 29358, - "lastTotalOutputTokens": 21239, - "lastTotalCacheCreationInputTokens": 105536, - "lastTotalCacheReadInputTokens": 1377470, - "lastSessionId": "b8161215-eaaf-4b3d-a7c4-1211a973173d", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 360778, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 22987, - "outputTokens": 12005, - "cacheReadInputTokens": 867968, - "cacheCreationInputTokens": 46586, - "webSearchRequests": 0, - "costUSD": 0.22804130000000003 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 6371, - "outputTokens": 9234, - "cacheReadInputTokens": 509502, - "cacheCreationInputTokens": 58950, - "webSearchRequests": 0, - "costUSD": 0.8858935000000001 - } - } - }, - "/mnt/NV2/Development/youtube-transcriber": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 1, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [], - "lastCost": 0.5343026, - "lastAPIDuration": 157690, - "lastToolDuration": 40133, - "lastDuration": 1963443, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 11575, - "lastTotalOutputTokens": 7644, - "lastTotalCacheCreationInputTokens": 74892, - "lastTotalCacheReadInputTokens": 329416, - "lastTotalWebSearchRequests": 0, - "lastSessionId": "a3410bfd-60df-45cb-b5ba-d2aa42af040b", - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastAPIDurationWithoutRetries": 157684, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 9557, - "outputTokens": 3569, - "cacheReadInputTokens": 90706, - "cacheCreationInputTokens": 40313, - "webSearchRequests": 0, - "costUSD": 0.08686385 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 2018, - "outputTokens": 4075, - "cacheReadInputTokens": 238710, - "cacheCreationInputTokens": 34579, - "webSearchRequests": 0, - "costUSD": 0.44743875000000005 - } - } - }, - "/mnt/NV2/Development/major-domo/sba-website": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "NavBar.vue", - "utilities.ts", - "PlayerView.vue", - "pitchingStatsService.ts", - "GameView.vue" - ], - "exampleFilesGeneratedAt": 1764698332308, - "hasCompletedProjectOnboarding": true, - "lastCost": 0.16633325, - "lastAPIDuration": 23227, - "lastToolDuration": 50, - "lastDuration": 90937, - "lastLinesAdded": 3, - "lastLinesRemoved": 1, - "lastTotalInputTokens": 568, - "lastTotalOutputTokens": 891, - "lastTotalCacheCreationInputTokens": 24431, - "lastTotalCacheReadInputTokens": 40417, - "lastTotalWebSearchRequests": 0, - "lastSessionId": "c44482c8-6b43-4473-baf1-b7e7f1713d05" - }, - "/mnt/NV2/Development/vagabond-rpg-foundryvtt": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "vagabond.mjs", - "character.mjs", - "base-actor-sheet.mjs", - "weapon.mjs", - "_chat-cards.scss" - ], - "exampleFilesGeneratedAt": 1771348866204, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "hasCompletedProjectOnboarding": true, - "lastCost": 2.4916862500000017, - "lastAPIDuration": 617124, - "lastAPIDurationWithoutRetries": 617051, - "lastToolDuration": 41476, - "lastDuration": 14881048, - "lastLinesAdded": 48, - "lastLinesRemoved": 3, - "lastTotalInputTokens": 74007, - "lastTotalOutputTokens": 32137, - "lastTotalCacheCreationInputTokens": 143503, - "lastTotalCacheReadInputTokens": 2478749, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 73923, - "outputTokens": 16775, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 37370, - "webSearchRequests": 0, - "costUSD": 0.20451049999999996 - }, - "claude-opus-4-6": { - "inputTokens": 84, - "outputTokens": 15362, - "cacheReadInputTokens": 2478749, - "cacheCreationInputTokens": 106133, - "webSearchRequests": 0, - "costUSD": 2.2871757500000007 - } - }, - "lastSessionId": "3e0d8693-8b59-4b4b-b895-0a6d0df271b9", - "lastFpsAverage": 0.64, - "lastFpsLow1Pct": 75.21, - "lastSessionMetrics": { - "frame_duration_ms_count": 9467, - "frame_duration_ms_min": 0.22532899997895584, - "frame_duration_ms_max": 27.93686599843204, - "frame_duration_ms_avg": 1.123230763174562, - "frame_duration_ms_p50": 0.6752699996577576, - "frame_duration_ms_p95": 4.194021500030064, - "frame_duration_ms_p99": 13.320319429975934 - } - }, - "/mnt/NV2/Development/voice-server": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 121, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastCost": 1.1846112499999997, - "lastAPIDuration": 285962, - "lastAPIDurationWithoutRetries": 285957, - "lastToolDuration": 2561, - "lastDuration": 3533895, - "lastLinesAdded": 1, - "lastLinesRemoved": 1, - "lastTotalInputTokens": 37077, - "lastTotalOutputTokens": 11625, - "lastTotalCacheCreationInputTokens": 97481, - "lastTotalCacheReadInputTokens": 495130, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 34570, - "outputTokens": 497, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.037055000000000005 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 2507, - "outputTokens": 11128, - "cacheReadInputTokens": 495130, - "cacheCreationInputTokens": 97481, - "webSearchRequests": 0, - "costUSD": 1.1475562499999996 - } - }, - "lastSessionId": "554acadb-bd48-444d-bba0-eb56b7f973b7", - "exampleFiles": [ - "models.py", - "queue_manager.py", - "routes.py", - "test_models.py", - "test_api.py" - ], - "exampleFilesGeneratedAt": 1766157887772 - }, - "/home/cal/.claude": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "hasCompletedProjectOnboarding": true, - "lastCost": 2.0461577500000003, - "lastAPIDuration": 375500, - "lastAPIDurationWithoutRetries": 375491, - "lastToolDuration": 5648, - "lastDuration": 3861491, - "lastLinesAdded": 34, - "lastLinesRemoved": 25, - "lastTotalInputTokens": 14373, - "lastTotalOutputTokens": 13569, - "lastTotalCacheCreationInputTokens": 81883, - "lastTotalCacheReadInputTokens": 2301862, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 4643, - "outputTokens": 453, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.006907999999999999 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 9730, - "outputTokens": 13116, - "cacheReadInputTokens": 2301862, - "cacheCreationInputTokens": 81883, - "webSearchRequests": 0, - "costUSD": 2.03924975 - } - }, - "lastSessionId": "848aa776-de5b-4135-8538-89ed5b29151c" - }, - "/mnt/NV2/Development/openscad-models": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 2, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastCost": 2.7214542499999994, - "lastAPIDuration": 781798, - "lastAPIDurationWithoutRetries": 777552, - "lastToolDuration": 3537, - "lastDuration": 80207818, - "lastLinesAdded": 102, - "lastLinesRemoved": 52, - "lastTotalInputTokens": 26454, - "lastTotalOutputTokens": 32767, - "lastTotalCacheCreationInputTokens": 126339, - "lastTotalCacheReadInputTokens": 2186269, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 23726, - "outputTokens": 892, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.028186000000000003 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 2728, - "outputTokens": 31875, - "cacheReadInputTokens": 2186269, - "cacheCreationInputTokens": 126339, - "webSearchRequests": 0, - "costUSD": 2.69326825 - } - }, - "lastSessionId": "dc88df52-7868-463f-87b1-9b9c66fcfe4b", - "exampleFiles": [ - "gfci-paddle-switch-extended.scad", - "gfci-paddle-switch-extended-2d.scad", - "test-avocado.scad", - "gfci-paddle-switch-extended-template.svg", - "avocado-nameplate.stl" - ], - "exampleFilesGeneratedAt": 1766607808626 - }, - "/mnt/NV2/Development/headless-claude": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastCost": 14.681952000000011, - "lastAPIDuration": 1922503, - "lastAPIDurationWithoutRetries": 1922344, - "lastToolDuration": 404961, - "lastDuration": 4275175, - "lastLinesAdded": 973, - "lastLinesRemoved": 191, - "lastTotalInputTokens": 282513, - "lastTotalOutputTokens": 72914, - "lastTotalCacheCreationInputTokens": 659546, - "lastTotalCacheReadInputTokens": 17072917, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 279316, - "outputTokens": 4741, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.30302100000000004 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 3197, - "outputTokens": 68173, - "cacheReadInputTokens": 17072917, - "cacheCreationInputTokens": 659546, - "webSearchRequests": 0, - "costUSD": 14.378931 - } - }, - "lastSessionId": "38725d3f-5454-4fa7-b21b-8a051125e9f0" - }, - "/mnt/NV2/Development": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastCost": 5.5604301, - "lastAPIDuration": 1333168, - "lastAPIDurationWithoutRetries": 1328256, - "lastToolDuration": 743549, - "lastDuration": 4298210, - "lastLinesAdded": 1623, - "lastLinesRemoved": 222, - "lastTotalInputTokens": 58261, - "lastTotalOutputTokens": 56790, - "lastTotalCacheCreationInputTokens": 549016, - "lastTotalCacheReadInputTokens": 1990295, - "lastTotalWebSearchRequests": 7, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 36579, - "outputTokens": 1267, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.04291400000000001 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 19375, - "outputTokens": 34688, - "cacheReadInputTokens": 1390958, - "cacheCreationInputTokens": 491962, - "webSearchRequests": 7, - "costUSD": 4.8043165000000005 - }, - "claude-sonnet-4-5-20250929": { - "inputTokens": 2307, - "outputTokens": 20835, - "cacheReadInputTokens": 599337, - "cacheCreationInputTokens": 57054, - "webSearchRequests": 0, - "costUSD": 0.7131995999999999 - } - }, - "lastSessionId": "b5e5205f-dac0-4e82-b7d2-2a43c1875f1c" - }, - "/mnt/NV2/Development/tcg-poc": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [], - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "lastCost": 0.3143737499999999, - "lastAPIDuration": 87455, - "lastAPIDurationWithoutRetries": 87447, - "lastToolDuration": 393, - "lastDuration": 242060, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 10154, - "lastTotalOutputTokens": 3203, - "lastTotalCacheCreationInputTokens": 26841, - "lastTotalCacheReadInputTokens": 126753, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 7906, - "outputTokens": 799, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.011900999999999998 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 2248, - "outputTokens": 2404, - "cacheReadInputTokens": 126753, - "cacheCreationInputTokens": 26841, - "webSearchRequests": 0, - "costUSD": 0.30247274999999996 - } - }, - "lastSessionId": "d0705af3-8ca6-4d83-9419-51adf7e8fbb4" - }, - "/mnt/NV2/Development/tcg-project": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [], - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "hasCompletedProjectOnboarding": true, - "lastCost": 7.4633087499999995, - "lastAPIDuration": 1024093, - "lastAPIDurationWithoutRetries": 1021756, - "lastToolDuration": 4894, - "lastDuration": 353865522, - "lastLinesAdded": 942, - "lastLinesRemoved": 532, - "lastTotalInputTokens": 37687, - "lastTotalOutputTokens": 50556, - "lastTotalCacheCreationInputTokens": 526103, - "lastTotalCacheReadInputTokens": 5775948, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 34751, - "outputTokens": 1307, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.041286 - }, - "claude-opus-4-5-20251101": { - "inputTokens": 2936, - "outputTokens": 49249, - "cacheReadInputTokens": 5775948, - "cacheCreationInputTokens": 526103, - "webSearchRequests": 0, - "costUSD": 7.42202275 - } - }, - "lastSessionId": "17cea69f-4257-4c39-a978-3254d0906a34" - }, - "/mnt/NV2/Development/mantimon-tcg": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 286, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "card.py", - "engine.py", - "game_service.py", - "game_state.py", - "turn_manager.py" - ], - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "exampleFilesGeneratedAt": 1771119156109, - "hasCompletedProjectOnboarding": true, - "lastCost": 45.331285999999906, - "lastAPIDuration": 7423555, - "lastAPIDurationWithoutRetries": 7422611, - "lastToolDuration": 3967084, - "lastDuration": 55754959, - "lastLinesAdded": 16117, - "lastLinesRemoved": 330, - "lastTotalInputTokens": 530738, - "lastTotalOutputTokens": 409841, - "lastTotalCacheCreationInputTokens": 1976236, - "lastTotalCacheReadInputTokens": 45760024, - "lastTotalWebSearchRequests": 0, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 528784, - "outputTokens": 12803, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 85744, - "webSearchRequests": 0, - "costUSD": 0.6999789999999999 - }, - "claude-opus-4-6": { - "inputTokens": 320, - "outputTokens": 57172, - "cacheReadInputTokens": 17177654, - "cacheCreationInputTokens": 462784, - "webSearchRequests": 0, - "costUSD": 12.912127000000007 - }, - "claude-sonnet-4-5-20250929": { - "inputTokens": 1634, - "outputTokens": 339866, - "cacheReadInputTokens": 28582370, - "cacheCreationInputTokens": 1427708, - "webSearchRequests": 0, - "costUSD": 31.719179999999994 - } - }, - "lastSessionId": "a9e4fa29-4f81-47c5-88d2-a9dea0793d0f", - "lastFpsAverage": 1.81, - "lastFpsLow1Pct": 99.2, - "lastSessionMetrics": { - "frame_duration_ms_count": 100694, - "frame_duration_ms_min": 0.08616900071501732, - "frame_duration_ms_max": 43.1600469998084, - "frame_duration_ms_avg": 0.9782929465193478, - "frame_duration_ms_p50": 0.5610404997132719, - "frame_duration_ms_p95": 4.414866499626077, - "frame_duration_ms_p99": 9.795633430983868 - } - }, - "/mnt/NV2/Development/sba-scouting": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 152, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "app.py", - "config.py", - "importer.py", - "models.py", - "queries.py" - ], - "reactVulnerabilityCache": { - "detected": false, - "package": null, - "packageName": null, - "version": null, - "packageManager": null - }, - "exampleFilesGeneratedAt": 1770754505849, - "hasCompletedProjectOnboarding": true, - "lastCost": 3.38631825, - "lastAPIDuration": 571422, - "lastAPIDurationWithoutRetries": 571376, - "lastToolDuration": 10180, - "lastDuration": 7861779, - "lastLinesAdded": 148, - "lastLinesRemoved": 22, - "lastTotalInputTokens": 49841, - "lastTotalOutputTokens": 23633, - "lastTotalCacheCreationInputTokens": 132657, - "lastTotalCacheReadInputTokens": 3888956, - "lastTotalWebSearchRequests": 0, - "lastFpsAverage": 1.23, - "lastFpsLow1Pct": 47.34, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 49289, - "outputTokens": 1507, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.05682400000000001 - }, - "claude-sonnet-4-5-20250929": { - "inputTokens": 552, - "outputTokens": 22126, - "cacheReadInputTokens": 3888956, - "cacheCreationInputTokens": 132657, - "webSearchRequests": 0, - "costUSD": 3.32949425 - } - }, - "lastSessionId": "3355afd4-9cb8-4c16-840d-ae19696ba284" - }, - "/mnt/NV2/Development/my-memory": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "app.py", - "board_window.py", - "models.py", - "transcriber.py", - "README.md" - ], - "hasCompletedProjectOnboarding": true, - "lastSessionMetrics": { - "frame_duration_ms_count": 7981, - "frame_duration_ms_min": 0.05863899999530986, - "frame_duration_ms_max": 6.910323999938555, - "frame_duration_ms_avg": 0.4394333594793528, - "frame_duration_ms_p50": 0.3969669999787584, - "frame_duration_ms_p95": 0.6579631500033425, - "frame_duration_ms_p99": 1.8215813999983947 - }, - "lastCost": 1.0844382499999998, - "lastAPIDuration": 411476, - "lastAPIDurationWithoutRetries": 411448, - "lastToolDuration": 264192, - "lastDuration": 69498101, - "lastLinesAdded": 95, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 38299, - "lastTotalOutputTokens": 20028, - "lastTotalCacheCreationInputTokens": 61545, - "lastTotalCacheReadInputTokens": 354518, - "lastTotalWebSearchRequests": 0, - "lastFpsAverage": 0.12, - "lastFpsLow1Pct": 516.63, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 38278, - "outputTokens": 828, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.042418000000000004 - }, - "claude-opus-4-6": { - "inputTokens": 21, - "outputTokens": 19200, - "cacheReadInputTokens": 354518, - "cacheCreationInputTokens": 61545, - "webSearchRequests": 0, - "costUSD": 1.04202025 - } - }, - "lastSessionId": "517562a3-10fb-4106-a5cc-a39a40e3f8e7", - "exampleFilesGeneratedAt": 1770844148005 - }, - "/mnt/NV2/Development/ai-assistant": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": false, - "projectOnboardingSeenCount": 22, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [], - "lastCost": 0.000783, - "lastAPIDuration": 2081, - "lastAPIDurationWithoutRetries": 2081, - "lastToolDuration": 0, - "lastDuration": 5622, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 143, - "lastTotalOutputTokens": 128, - "lastTotalCacheCreationInputTokens": 0, - "lastTotalCacheReadInputTokens": 0, - "lastTotalWebSearchRequests": 0, - "lastFpsAverage": 4.34, - "lastFpsLow1Pct": 338.75, - "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 143, - "outputTokens": 128, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000783 - } - }, - "lastSessionId": "d8bf1d2b-235c-4e4c-be88-46dc493dc714", - "lastSessionMetrics": { - "frame_duration_ms_count": 22, - "frame_duration_ms_min": 0.08473000000000752, - "frame_duration_ms_max": 2.9520669999999427, - "frame_duration_ms_avg": 1.1000014545454322, - "frame_duration_ms_p50": 1.0439814999999726, - "frame_duration_ms_p95": 2.028548699999737, - "frame_duration_ms_p99": 2.7626715699998945 - }, - "hasCompletedProjectOnboarding": true - }, - "/mnt/NV2/Development/test_autoforge_project/pd-team-dashboard": { - "allowedTools": [], - "mcpContextUris": [], - "mcpServers": {}, - "enabledMcpjsonServers": [], - "disabledMcpjsonServers": [], - "hasTrustDialogAccepted": true, - "projectOnboardingSeenCount": 0, - "hasClaudeMdExternalIncludesApproved": false, - "hasClaudeMdExternalIncludesWarningShown": false, - "exampleFiles": [ - "main.py", - "database.py", - "config.py", - "env.py", - "__init__.py" - ], - "exampleFilesGeneratedAt": 1771136719751, - "hasCompletedProjectOnboarding": true, - "lastCost": 0, - "lastAPIDuration": 0, - "lastAPIDurationWithoutRetries": 0, - "lastToolDuration": 0, - "lastDuration": 55110401, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 0, - "lastTotalOutputTokens": 0, - "lastTotalCacheCreationInputTokens": 0, - "lastTotalCacheReadInputTokens": 0, - "lastTotalWebSearchRequests": 0, - "lastFpsAverage": 0, - "lastFpsLow1Pct": 272.7, - "lastModelUsage": {}, - "lastSessionId": "44246c87-0c70-40b5-a092-c7388896450f", - "lastSessionMetrics": { - "frame_duration_ms_count": 190, - "frame_duration_ms_min": 0.05084999999962747, - "frame_duration_ms_max": 4.276786000002176, - "frame_duration_ms_avg": 1.0820387367652373, - "frame_duration_ms_p50": 0.8855180000006158, - "frame_duration_ms_p95": 2.635911999360587, - "frame_duration_ms_p99": 3.515721791167741 - } - } - }, - "hasCompletedOnboarding": true, - "lastOnboardingVersion": "2.0.13", - "subscriptionNoticeCount": 0, - "hasAvailableSubscription": false, - "changelogLastFetched": 1771459754216, - "fallbackAvailableWarningThreshold": 0.2, - "hasIdeOnboardingBeenShown": { - "vscode": true - }, - "lastReleaseNotesSeen": "2.1.47", - "isQualifiedForDataSharing": false, - "hasIdeAutoConnectDialogBeenShown": true, - "shiftEnterKeyBindingInstalled": true, - "hasUsedBackslashReturn": true, - "s1mAccessCache": { - "57783733-6e1e-48d5-9cb7-fa588a77b795": { - "hasAccess": false, - "hasAccessNotAsDefault": false, - "timestamp": 1771348865231 - }, - "6e3a13d6-2c72-468b-9ee9-b1d8f4711050": { - "hasAccess": false, - "hasAccessNotAsDefault": false, - "timestamp": 1761607064229 - } - }, - "hasOpusPlanDefault": false, - "lastPlanModeUse": 1771437917321, - "feedbackSurveyState": { - "lastShownTime": 1771451253831 - }, - "sonnet45MigrationComplete": true, - "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", - "mcpServers": {}, - "s1mNonSubscriberAccessCache": { - "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { - "hasAccess": false, - "timestamp": 1760119775598 - } - }, - "anonymousId": "claudecode.v1.52e3466d-bbf3-4c64-9a28-5c45f8698705", - "autoUpdatesProtectedForNative": true, - "githubRepoPaths": { - "calcorum/strat-gameplay-webapp": [ - "/mnt/NV2/Development/strat-gameplay-webapp" - ], - "calcorum/claude-home": [ - "/mnt/NV2/Development/claude-home" - ], - "calcorum/efd-trading-card-mod": [ - "/mnt/NV2/Development/efd-trading-card-base" - ], - "calcorum/paper-dynasty-card-creation": [ - "/mnt/NV2/Development/paper-dynasty/card-creation" - ], - "calcorum/paper-dynasty": [ - "/mnt/NV2/Development/paper-dynasty/discord-app" - ], - "calcorum/major-domo-v2": [ - "/mnt/NV2/Development/major-domo/discord-app-v2" - ], - "pgiro/sba": [ - "/mnt/NV2/Development/major-domo/sba-website" - ], - "calcorum/major-domo-database": [ - "/mnt/NV2/Development/major-domo/database" - ], - "calcorum/major-domo": [ - "/mnt/NV2/Development/major-domo/discord-app" - ], - "calcorum/vagabond-rpg-foundryvtt": [ - "/mnt/NV2/Development/vagabond-rpg-foundryvtt" - ], - "calcorum/paper-dynasty-database": [ - "/mnt/NV2/Development/paper-dynasty/database" - ], - "calcorum/voice-server": [ - "/mnt/NV2/Development/voice-server" - ], - "calcorum/openscad-models": [ - "/mnt/NV2/Development/openscad-models" - ], - "calcorum/mantimon-tcg": [ - "/mnt/NV2/Development/mantimon-tcg/backend", - "/mnt/NV2/Development/mantimon-tcg" - ], - "calcorum/sba-desktop": [ - "/mnt/NV2/Development/sba-scouting" - ] - }, - "passesEligibilityCache": { - "57783733-6e1e-48d5-9cb7-fa588a77b795": { - "eligible": true, - "referral_code_details": { - "code": "0uKnnMABqw", - "campaign": "claude_code_guest_pass_a47c", - "referral_link": "https://claude.ai/referral/0uKnnMABqw" - }, - "referrer_reward": { - "amount_minor_units": 1000, - "currency": "USD" - }, - "remaining_passes": 3, - "timestamp": 1771521872816 - } - }, - "opus45MigrationComplete": true, - "hasShownOpus45Notice": { - "57783733-6e1e-48d5-9cb7-fa588a77b795": true - }, - "officialMarketplaceAutoInstallAttempted": true, - "officialMarketplaceAutoInstalled": true, - "passesUpsellSeenCount": 3, - "thinkingMigrationComplete": true, - "groveConfigCache": { - "d6d0ffd3-ed66-4eba-9bd4-df8e2dbfc9e2": { - "grove_enabled": true, - "timestamp": 1771521871454 - } - }, - "skillUsage": { - "major-domo": { - "usageCount": 12, - "lastUsedAt": 1771288623314 - }, - "paper-dynasty": { - "usageCount": 12, - "lastUsedAt": 1771271707830 - }, - "project-plan": { - "usageCount": 4, - "lastUsedAt": 1771003578568 - }, - "init": { - "usageCount": 2, - "lastUsedAt": 1771018292259 - }, - "code-audit": { - "usageCount": 7, - "lastUsedAt": 1769840317637 - }, - "backend-phase": { - "usageCount": 11, - "lastUsedAt": 1769790071034 - }, - "frontend-code-audit": { - "usageCount": 6, - "lastUsedAt": 1769842017496 - }, - "frontend-phase": { - "usageCount": 24, - "lastUsedAt": 1769843259171 - }, - "dev-server": { - "usageCount": 2, - "lastUsedAt": 1769836015719 - }, - "deploy": { - "usageCount": 7, - "lastUsedAt": 1770216426722 - }, - "proxmox": { - "usageCount": 7, - "lastUsedAt": 1770999577744 - }, - "notediscovery": { - "usageCount": 2, - "lastUsedAt": 1771259103802 - }, - "create-skill": { - "usageCount": 1, - "lastUsedAt": 1770839993137 - }, - "backlog": { - "usageCount": 4, - "lastUsedAt": 1770912327282 - }, - "keybindings-help": { - "usageCount": 1, - "lastUsedAt": 1770855574743 - }, - "insights": { - "usageCount": 1, - "lastUsedAt": 1770959377885 - }, - "sync-config": { - "usageCount": 18, - "lastUsedAt": 1771507439661 - }, - "claude-optimised": { - "usageCount": 4, - "lastUsedAt": 1771363169937 - }, - "optimise-claude": { - "usageCount": 2, - "lastUsedAt": 1771199427014 - }, - "cognitive-memory": { - "usageCount": 32, - "lastUsedAt": 1771528594878 - }, - "commit-push": { - "usageCount": 16, - "lastUsedAt": 1771507468440 - }, - "check-rarity": { - "usageCount": 1, - "lastUsedAt": 1771203408892 - }, - "commit-commands:commit": { - "usageCount": 1, - "lastUsedAt": 1771364503659 - }, - "commit-push-pr": { - "usageCount": 2, - "lastUsedAt": 1771371630347 - }, - "mcp-manager": { - "usageCount": 3, - "lastUsedAt": 1771450174507 - }, - "orchestrator": { - "usageCount": 3, - "lastUsedAt": 1771451706040 - }, - "claude-automation-recommender": { - "usageCount": 1, - "lastUsedAt": 1771474474878 - } - }, - "opusProMigrationComplete": true, - "cachedChromeExtensionInstalled": true, - "hasVisitedPasses": true, - "passesLastSeenRemaining": 3, - "clientDataCache": { - "data": {}, - "timestamp": 1771529743560 - }, - "hasShownOpus46Notice": { - "57783733-6e1e-48d5-9cb7-fa588a77b795": true - }, - "hasVisitedExtraUsage": true, - "penguinModeOrgEnabled": true, - "opus46FeedSeenCount": 3, - "showSpinnerTree": false, - "oauthAccount": { - "accountUuid": "d6d0ffd3-ed66-4eba-9bd4-df8e2dbfc9e2", - "emailAddress": "cal.corum@gmail.com", - "organizationUuid": "57783733-6e1e-48d5-9cb7-fa588a77b795", - "hasExtraUsageEnabled": true, - "billingType": "stripe_subscription", - "accountCreatedAt": "2025-07-08T23:36:22.848806Z", - "subscriptionCreatedAt": "2025-07-09T18:05:03.049049Z", - "displayName": "Cal" - }, - "effortCalloutDismissed": true, - "sonnet1m45MigrationComplete": true, - "cachedExtraUsageDisabledReason": "org_level_disabled_until", - "birthdayHatAnimationCount": 3 -} \ No newline at end of file diff --git a/backups/.claude.json.backup.1771529292399 b/backups/.claude.json.backup.1771537971103 similarity index 97% rename from backups/.claude.json.backup.1771529292399 rename to backups/.claude.json.backup.1771537971103 index d40807a..4eade16 100644 --- a/backups/.claude.json.backup.1771529292399 +++ b/backups/.claude.json.backup.1771537971103 @@ -1,5 +1,5 @@ { - "numStartups": 661, + "numStartups": 663, "installMethod": "native", "autoUpdates": true, "preferredNotifChannel": "iterm2_with_bell", @@ -11,7 +11,7 @@ "enter-to-steer-in-relatime": 651, "todo-list": 660, "# for memory": 38, - "install-github-app": 653, + "install-github-app": 663, "permissions": 654, "drag-and-drop-images": 659, "double-esc": 75, @@ -21,7 +21,7 @@ "custom-commands": 655, "shift-enter": 661, "shift-tab": 655, - "custom-agents": 648, + "custom-agents": 663, "status-line": 536, "git-worktrees": 661, "image-paste": 646, @@ -44,7 +44,7 @@ "agent-flag": 652 }, "memoryUsageCount": 18, - "promptQueueUseCount": 4477, + "promptQueueUseCount": 4513, "cachedStatsigGates": { "tengu_disable_bypass_permissions_mode": false, "tengu_use_file_checkpoints": true, @@ -144,7 +144,7 @@ "tengu_vinteuil_phrase": true, "tengu_oboe": true, "tengu_tst_names_in_messages": false, - "tengu_chomp_inflection": true, + "tengu_chomp_inflection": false, "tengu_silver_lantern": false, "tengu_copper_lantern": false, "tengu_workout2": true, @@ -615,17 +615,17 @@ "ssh-tdarr", "notediscovery" ], - "lastCost": 0.29647025, - "lastAPIDuration": 4856, - "lastToolDuration": 0, - "lastDuration": 247436, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 297, - "lastTotalOutputTokens": 29, - "lastTotalCacheCreationInputTokens": 47321, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "8d1ffe8f-1e99-4e60-b9dd-270e9a939153", + "lastCost": 40.23374199999994, + "lastAPIDuration": 5995420, + "lastToolDuration": 2896147, + "lastDuration": 20374119, + "lastLinesAdded": 2594, + "lastLinesRemoved": 143, + "lastTotalInputTokens": 747870, + "lastTotalOutputTokens": 224482, + "lastTotalCacheCreationInputTokens": 1751354, + "lastTotalCacheReadInputTokens": 47009653, + "lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa", "reactVulnerabilityCache": { "detected": false, "package": null, @@ -633,34 +633,44 @@ "version": null, "packageManager": null }, - "lastAPIDurationWithoutRetries": 4855, + "lastAPIDurationWithoutRetries": 4961513, "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 294, - "outputTokens": 16, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000374 - }, "claude-opus-4-6": { - "inputTokens": 3, - "outputTokens": 13, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 47321, + "inputTokens": 9124, + "outputTokens": 164889, + "cacheReadInputTokens": 44348975, + "cacheCreationInputTokens": 1408982, "webSearchRequests": 0, - "costUSD": 0.29609625 + "costUSD": 35.148469999999996 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 732883, + "outputTokens": 15034, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 67247, + "webSearchRequests": 0, + "costUSD": 0.892111749999999 + }, + "claude-sonnet-4-6": { + "inputTokens": 5863, + "outputTokens": 44559, + "cacheReadInputTokens": 2660678, + "cacheCreationInputTokens": 275125, + "webSearchRequests": 0, + "costUSD": 4.19316025 } }, "lastSessionMetrics": { - "frame_duration_ms_count": 24, - "frame_duration_ms_min": 0.26554799999999545, - "frame_duration_ms_max": 3.014287000000081, - "frame_duration_ms_avg": 1.1559620416666985, - "frame_duration_ms_p50": 0.9233974999999646, - "frame_duration_ms_p95": 1.925081300000033, - "frame_duration_ms_p99": 2.771056710000067 - } + "frame_duration_ms_count": 126433, + "frame_duration_ms_min": 0.033378999680280685, + "frame_duration_ms_max": 185.3289749994874, + "frame_duration_ms_avg": 4.580825976891975, + "frame_duration_ms_p50": 1.4972434998489916, + "frame_duration_ms_p95": 3.451200450630833, + "frame_duration_ms_p99": 90.20297368977218 + }, + "lastFpsAverage": 6.12, + "lastFpsLow1Pct": 11.02 }, "/mnt/NV2/Development/major-domo": { "allowedTools": [], @@ -2012,13 +2022,20 @@ } }, "hasOpusPlanDefault": false, - "lastPlanModeUse": 1771437917321, + "lastPlanModeUse": 1771532414321, "feedbackSurveyState": { "lastShownTime": 1771451253831 }, "sonnet45MigrationComplete": true, "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", - "mcpServers": {}, + "mcpServers": { + "cognitive-memory": { + "command": "python3", + "args": [ + "/home/cal/.claude/skills/cognitive-memory/mcp_server.py" + ] + } + }, "s1mNonSubscriberAccessCache": { "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { "hasAccess": false, @@ -2088,7 +2105,7 @@ "currency": "USD" }, "remaining_passes": 3, - "timestamp": 1771521872816 + "timestamp": 1771535572741 } }, "opus45MigrationComplete": true, @@ -2171,8 +2188,8 @@ "lastUsedAt": 1770959377885 }, "sync-config": { - "usageCount": 18, - "lastUsedAt": 1771507439661 + "usageCount": 19, + "lastUsedAt": 1771530471038 }, "claude-optimised": { "usageCount": 4, @@ -2187,8 +2204,8 @@ "lastUsedAt": 1771528594878 }, "commit-push": { - "usageCount": 16, - "lastUsedAt": 1771507468440 + "usageCount": 17, + "lastUsedAt": 1771537208260 }, "check-rarity": { "usageCount": 1, @@ -2213,6 +2230,10 @@ "claude-automation-recommender": { "usageCount": 1, "lastUsedAt": 1771474474878 + }, + "bmad-qa": { + "usageCount": 1, + "lastUsedAt": 1771536951910 } }, "opusProMigrationComplete": true, @@ -2221,7 +2242,7 @@ "passesLastSeenRemaining": 3, "clientDataCache": { "data": {}, - "timestamp": 1771529175111 + "timestamp": 1771537923325 }, "hasShownOpus46Notice": { "57783733-6e1e-48d5-9cb7-fa588a77b795": true diff --git a/backups/.claude.json.backup.1771529402998 b/backups/.claude.json.backup.1771538035082 similarity index 97% rename from backups/.claude.json.backup.1771529402998 rename to backups/.claude.json.backup.1771538035082 index 053aa52..50efaa3 100644 --- a/backups/.claude.json.backup.1771529402998 +++ b/backups/.claude.json.backup.1771538035082 @@ -1,5 +1,5 @@ { - "numStartups": 661, + "numStartups": 663, "installMethod": "native", "autoUpdates": true, "preferredNotifChannel": "iterm2_with_bell", @@ -11,7 +11,7 @@ "enter-to-steer-in-relatime": 651, "todo-list": 660, "# for memory": 38, - "install-github-app": 653, + "install-github-app": 663, "permissions": 654, "drag-and-drop-images": 659, "double-esc": 75, @@ -21,7 +21,7 @@ "custom-commands": 655, "shift-enter": 661, "shift-tab": 655, - "custom-agents": 648, + "custom-agents": 663, "status-line": 536, "git-worktrees": 661, "image-paste": 646, @@ -44,7 +44,7 @@ "agent-flag": 652 }, "memoryUsageCount": 18, - "promptQueueUseCount": 4477, + "promptQueueUseCount": 4513, "cachedStatsigGates": { "tengu_disable_bypass_permissions_mode": false, "tengu_use_file_checkpoints": true, @@ -144,7 +144,7 @@ "tengu_vinteuil_phrase": true, "tengu_oboe": true, "tengu_tst_names_in_messages": false, - "tengu_chomp_inflection": true, + "tengu_chomp_inflection": false, "tengu_silver_lantern": false, "tengu_copper_lantern": false, "tengu_workout2": true, @@ -615,17 +615,17 @@ "ssh-tdarr", "notediscovery" ], - "lastCost": 0.29647025, - "lastAPIDuration": 4856, - "lastToolDuration": 0, - "lastDuration": 247436, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 297, - "lastTotalOutputTokens": 29, - "lastTotalCacheCreationInputTokens": 47321, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "8d1ffe8f-1e99-4e60-b9dd-270e9a939153", + "lastCost": 40.23374199999994, + "lastAPIDuration": 5995420, + "lastToolDuration": 2896147, + "lastDuration": 20374119, + "lastLinesAdded": 2594, + "lastLinesRemoved": 143, + "lastTotalInputTokens": 747870, + "lastTotalOutputTokens": 224482, + "lastTotalCacheCreationInputTokens": 1751354, + "lastTotalCacheReadInputTokens": 47009653, + "lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa", "reactVulnerabilityCache": { "detected": false, "package": null, @@ -633,34 +633,44 @@ "version": null, "packageManager": null }, - "lastAPIDurationWithoutRetries": 4855, + "lastAPIDurationWithoutRetries": 4961513, "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 294, - "outputTokens": 16, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000374 - }, "claude-opus-4-6": { - "inputTokens": 3, - "outputTokens": 13, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 47321, + "inputTokens": 9124, + "outputTokens": 164889, + "cacheReadInputTokens": 44348975, + "cacheCreationInputTokens": 1408982, "webSearchRequests": 0, - "costUSD": 0.29609625 + "costUSD": 35.148469999999996 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 732883, + "outputTokens": 15034, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 67247, + "webSearchRequests": 0, + "costUSD": 0.892111749999999 + }, + "claude-sonnet-4-6": { + "inputTokens": 5863, + "outputTokens": 44559, + "cacheReadInputTokens": 2660678, + "cacheCreationInputTokens": 275125, + "webSearchRequests": 0, + "costUSD": 4.19316025 } }, "lastSessionMetrics": { - "frame_duration_ms_count": 24, - "frame_duration_ms_min": 0.26554799999999545, - "frame_duration_ms_max": 3.014287000000081, - "frame_duration_ms_avg": 1.1559620416666985, - "frame_duration_ms_p50": 0.9233974999999646, - "frame_duration_ms_p95": 1.925081300000033, - "frame_duration_ms_p99": 2.771056710000067 - } + "frame_duration_ms_count": 126433, + "frame_duration_ms_min": 0.033378999680280685, + "frame_duration_ms_max": 185.3289749994874, + "frame_duration_ms_avg": 4.580825976891975, + "frame_duration_ms_p50": 1.4972434998489916, + "frame_duration_ms_p95": 3.451200450630833, + "frame_duration_ms_p99": 90.20297368977218 + }, + "lastFpsAverage": 6.12, + "lastFpsLow1Pct": 11.02 }, "/mnt/NV2/Development/major-domo": { "allowedTools": [], @@ -2012,13 +2022,20 @@ } }, "hasOpusPlanDefault": false, - "lastPlanModeUse": 1771437917321, + "lastPlanModeUse": 1771532414321, "feedbackSurveyState": { "lastShownTime": 1771451253831 }, "sonnet45MigrationComplete": true, "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", - "mcpServers": {}, + "mcpServers": { + "cognitive-memory": { + "command": "python3", + "args": [ + "/home/cal/.claude/skills/cognitive-memory/mcp_server.py" + ] + } + }, "s1mNonSubscriberAccessCache": { "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { "hasAccess": false, @@ -2088,7 +2105,7 @@ "currency": "USD" }, "remaining_passes": 3, - "timestamp": 1771521872816 + "timestamp": 1771535572741 } }, "opus45MigrationComplete": true, @@ -2171,8 +2188,8 @@ "lastUsedAt": 1770959377885 }, "sync-config": { - "usageCount": 18, - "lastUsedAt": 1771507439661 + "usageCount": 19, + "lastUsedAt": 1771530471038 }, "claude-optimised": { "usageCount": 4, @@ -2187,8 +2204,8 @@ "lastUsedAt": 1771528594878 }, "commit-push": { - "usageCount": 16, - "lastUsedAt": 1771507468440 + "usageCount": 17, + "lastUsedAt": 1771537208260 }, "check-rarity": { "usageCount": 1, @@ -2213,6 +2230,10 @@ "claude-automation-recommender": { "usageCount": 1, "lastUsedAt": 1771474474878 + }, + "bmad-qa": { + "usageCount": 1, + "lastUsedAt": 1771536951910 } }, "opusProMigrationComplete": true, @@ -2221,7 +2242,7 @@ "passesLastSeenRemaining": 3, "clientDataCache": { "data": {}, - "timestamp": 1771529292422 + "timestamp": 1771538023670 }, "hasShownOpus46Notice": { "57783733-6e1e-48d5-9cb7-fa588a77b795": true diff --git a/backups/.claude.json.backup.1771529659590 b/backups/.claude.json.backup.1771538095223 similarity index 97% rename from backups/.claude.json.backup.1771529659590 rename to backups/.claude.json.backup.1771538095223 index 876a253..082e017 100644 --- a/backups/.claude.json.backup.1771529659590 +++ b/backups/.claude.json.backup.1771538095223 @@ -1,5 +1,5 @@ { - "numStartups": 661, + "numStartups": 663, "installMethod": "native", "autoUpdates": true, "preferredNotifChannel": "iterm2_with_bell", @@ -11,7 +11,7 @@ "enter-to-steer-in-relatime": 651, "todo-list": 660, "# for memory": 38, - "install-github-app": 653, + "install-github-app": 663, "permissions": 654, "drag-and-drop-images": 659, "double-esc": 75, @@ -21,7 +21,7 @@ "custom-commands": 655, "shift-enter": 661, "shift-tab": 655, - "custom-agents": 648, + "custom-agents": 663, "status-line": 536, "git-worktrees": 661, "image-paste": 646, @@ -44,7 +44,7 @@ "agent-flag": 652 }, "memoryUsageCount": 18, - "promptQueueUseCount": 4478, + "promptQueueUseCount": 4513, "cachedStatsigGates": { "tengu_disable_bypass_permissions_mode": false, "tengu_use_file_checkpoints": true, @@ -144,7 +144,7 @@ "tengu_vinteuil_phrase": true, "tengu_oboe": true, "tengu_tst_names_in_messages": false, - "tengu_chomp_inflection": true, + "tengu_chomp_inflection": false, "tengu_silver_lantern": false, "tengu_copper_lantern": false, "tengu_workout2": true, @@ -615,17 +615,17 @@ "ssh-tdarr", "notediscovery" ], - "lastCost": 0.29647025, - "lastAPIDuration": 4856, - "lastToolDuration": 0, - "lastDuration": 247436, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 297, - "lastTotalOutputTokens": 29, - "lastTotalCacheCreationInputTokens": 47321, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "8d1ffe8f-1e99-4e60-b9dd-270e9a939153", + "lastCost": 40.23374199999994, + "lastAPIDuration": 5995420, + "lastToolDuration": 2896147, + "lastDuration": 20374119, + "lastLinesAdded": 2594, + "lastLinesRemoved": 143, + "lastTotalInputTokens": 747870, + "lastTotalOutputTokens": 224482, + "lastTotalCacheCreationInputTokens": 1751354, + "lastTotalCacheReadInputTokens": 47009653, + "lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa", "reactVulnerabilityCache": { "detected": false, "package": null, @@ -633,34 +633,44 @@ "version": null, "packageManager": null }, - "lastAPIDurationWithoutRetries": 4855, + "lastAPIDurationWithoutRetries": 4961513, "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 294, - "outputTokens": 16, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000374 - }, "claude-opus-4-6": { - "inputTokens": 3, - "outputTokens": 13, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 47321, + "inputTokens": 9124, + "outputTokens": 164889, + "cacheReadInputTokens": 44348975, + "cacheCreationInputTokens": 1408982, "webSearchRequests": 0, - "costUSD": 0.29609625 + "costUSD": 35.148469999999996 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 732883, + "outputTokens": 15034, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 67247, + "webSearchRequests": 0, + "costUSD": 0.892111749999999 + }, + "claude-sonnet-4-6": { + "inputTokens": 5863, + "outputTokens": 44559, + "cacheReadInputTokens": 2660678, + "cacheCreationInputTokens": 275125, + "webSearchRequests": 0, + "costUSD": 4.19316025 } }, "lastSessionMetrics": { - "frame_duration_ms_count": 24, - "frame_duration_ms_min": 0.26554799999999545, - "frame_duration_ms_max": 3.014287000000081, - "frame_duration_ms_avg": 1.1559620416666985, - "frame_duration_ms_p50": 0.9233974999999646, - "frame_duration_ms_p95": 1.925081300000033, - "frame_duration_ms_p99": 2.771056710000067 - } + "frame_duration_ms_count": 126433, + "frame_duration_ms_min": 0.033378999680280685, + "frame_duration_ms_max": 185.3289749994874, + "frame_duration_ms_avg": 4.580825976891975, + "frame_duration_ms_p50": 1.4972434998489916, + "frame_duration_ms_p95": 3.451200450630833, + "frame_duration_ms_p99": 90.20297368977218 + }, + "lastFpsAverage": 6.12, + "lastFpsLow1Pct": 11.02 }, "/mnt/NV2/Development/major-domo": { "allowedTools": [], @@ -2012,13 +2022,20 @@ } }, "hasOpusPlanDefault": false, - "lastPlanModeUse": 1771437917321, + "lastPlanModeUse": 1771532414321, "feedbackSurveyState": { "lastShownTime": 1771451253831 }, "sonnet45MigrationComplete": true, "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", - "mcpServers": {}, + "mcpServers": { + "cognitive-memory": { + "command": "python3", + "args": [ + "/home/cal/.claude/skills/cognitive-memory/mcp_server.py" + ] + } + }, "s1mNonSubscriberAccessCache": { "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { "hasAccess": false, @@ -2088,7 +2105,7 @@ "currency": "USD" }, "remaining_passes": 3, - "timestamp": 1771521872816 + "timestamp": 1771535572741 } }, "opus45MigrationComplete": true, @@ -2171,8 +2188,8 @@ "lastUsedAt": 1770959377885 }, "sync-config": { - "usageCount": 18, - "lastUsedAt": 1771507439661 + "usageCount": 19, + "lastUsedAt": 1771530471038 }, "claude-optimised": { "usageCount": 4, @@ -2187,8 +2204,8 @@ "lastUsedAt": 1771528594878 }, "commit-push": { - "usageCount": 16, - "lastUsedAt": 1771507468440 + "usageCount": 17, + "lastUsedAt": 1771537208260 }, "check-rarity": { "usageCount": 1, @@ -2213,6 +2230,10 @@ "claude-automation-recommender": { "usageCount": 1, "lastUsedAt": 1771474474878 + }, + "bmad-qa": { + "usageCount": 1, + "lastUsedAt": 1771536951910 } }, "opusProMigrationComplete": true, @@ -2221,7 +2242,7 @@ "passesLastSeenRemaining": 3, "clientDataCache": { "data": {}, - "timestamp": 1771529403021 + "timestamp": 1771538091026 }, "hasShownOpus46Notice": { "57783733-6e1e-48d5-9cb7-fa588a77b795": true diff --git a/backups/.claude.json.backup.1771529743547 b/backups/.claude.json.backup.1771538156403 similarity index 97% rename from backups/.claude.json.backup.1771529743547 rename to backups/.claude.json.backup.1771538156403 index 9ea68b9..0f370cf 100644 --- a/backups/.claude.json.backup.1771529743547 +++ b/backups/.claude.json.backup.1771538156403 @@ -1,5 +1,5 @@ { - "numStartups": 661, + "numStartups": 663, "installMethod": "native", "autoUpdates": true, "preferredNotifChannel": "iterm2_with_bell", @@ -11,7 +11,7 @@ "enter-to-steer-in-relatime": 651, "todo-list": 660, "# for memory": 38, - "install-github-app": 653, + "install-github-app": 663, "permissions": 654, "drag-and-drop-images": 659, "double-esc": 75, @@ -21,7 +21,7 @@ "custom-commands": 655, "shift-enter": 661, "shift-tab": 655, - "custom-agents": 648, + "custom-agents": 663, "status-line": 536, "git-worktrees": 661, "image-paste": 646, @@ -44,7 +44,7 @@ "agent-flag": 652 }, "memoryUsageCount": 18, - "promptQueueUseCount": 4478, + "promptQueueUseCount": 4513, "cachedStatsigGates": { "tengu_disable_bypass_permissions_mode": false, "tengu_use_file_checkpoints": true, @@ -144,7 +144,7 @@ "tengu_vinteuil_phrase": true, "tengu_oboe": true, "tengu_tst_names_in_messages": false, - "tengu_chomp_inflection": true, + "tengu_chomp_inflection": false, "tengu_silver_lantern": false, "tengu_copper_lantern": false, "tengu_workout2": true, @@ -615,17 +615,17 @@ "ssh-tdarr", "notediscovery" ], - "lastCost": 0.29647025, - "lastAPIDuration": 4856, - "lastToolDuration": 0, - "lastDuration": 247436, - "lastLinesAdded": 0, - "lastLinesRemoved": 0, - "lastTotalInputTokens": 297, - "lastTotalOutputTokens": 29, - "lastTotalCacheCreationInputTokens": 47321, - "lastTotalCacheReadInputTokens": 0, - "lastSessionId": "8d1ffe8f-1e99-4e60-b9dd-270e9a939153", + "lastCost": 40.23374199999994, + "lastAPIDuration": 5995420, + "lastToolDuration": 2896147, + "lastDuration": 20374119, + "lastLinesAdded": 2594, + "lastLinesRemoved": 143, + "lastTotalInputTokens": 747870, + "lastTotalOutputTokens": 224482, + "lastTotalCacheCreationInputTokens": 1751354, + "lastTotalCacheReadInputTokens": 47009653, + "lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa", "reactVulnerabilityCache": { "detected": false, "package": null, @@ -633,34 +633,44 @@ "version": null, "packageManager": null }, - "lastAPIDurationWithoutRetries": 4855, + "lastAPIDurationWithoutRetries": 4961513, "lastModelUsage": { - "claude-haiku-4-5-20251001": { - "inputTokens": 294, - "outputTokens": 16, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 0, - "webSearchRequests": 0, - "costUSD": 0.000374 - }, "claude-opus-4-6": { - "inputTokens": 3, - "outputTokens": 13, - "cacheReadInputTokens": 0, - "cacheCreationInputTokens": 47321, + "inputTokens": 9124, + "outputTokens": 164889, + "cacheReadInputTokens": 44348975, + "cacheCreationInputTokens": 1408982, "webSearchRequests": 0, - "costUSD": 0.29609625 + "costUSD": 35.148469999999996 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 732883, + "outputTokens": 15034, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 67247, + "webSearchRequests": 0, + "costUSD": 0.892111749999999 + }, + "claude-sonnet-4-6": { + "inputTokens": 5863, + "outputTokens": 44559, + "cacheReadInputTokens": 2660678, + "cacheCreationInputTokens": 275125, + "webSearchRequests": 0, + "costUSD": 4.19316025 } }, "lastSessionMetrics": { - "frame_duration_ms_count": 24, - "frame_duration_ms_min": 0.26554799999999545, - "frame_duration_ms_max": 3.014287000000081, - "frame_duration_ms_avg": 1.1559620416666985, - "frame_duration_ms_p50": 0.9233974999999646, - "frame_duration_ms_p95": 1.925081300000033, - "frame_duration_ms_p99": 2.771056710000067 - } + "frame_duration_ms_count": 126433, + "frame_duration_ms_min": 0.033378999680280685, + "frame_duration_ms_max": 185.3289749994874, + "frame_duration_ms_avg": 4.580825976891975, + "frame_duration_ms_p50": 1.4972434998489916, + "frame_duration_ms_p95": 3.451200450630833, + "frame_duration_ms_p99": 90.20297368977218 + }, + "lastFpsAverage": 6.12, + "lastFpsLow1Pct": 11.02 }, "/mnt/NV2/Development/major-domo": { "allowedTools": [], @@ -2012,13 +2022,20 @@ } }, "hasOpusPlanDefault": false, - "lastPlanModeUse": 1771437917321, + "lastPlanModeUse": 1771532414321, "feedbackSurveyState": { "lastShownTime": 1771451253831 }, "sonnet45MigrationComplete": true, "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", - "mcpServers": {}, + "mcpServers": { + "cognitive-memory": { + "command": "python3", + "args": [ + "/home/cal/.claude/skills/cognitive-memory/mcp_server.py" + ] + } + }, "s1mNonSubscriberAccessCache": { "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { "hasAccess": false, @@ -2088,7 +2105,7 @@ "currency": "USD" }, "remaining_passes": 3, - "timestamp": 1771521872816 + "timestamp": 1771535572741 } }, "opus45MigrationComplete": true, @@ -2171,8 +2188,8 @@ "lastUsedAt": 1770959377885 }, "sync-config": { - "usageCount": 18, - "lastUsedAt": 1771507439661 + "usageCount": 19, + "lastUsedAt": 1771530471038 }, "claude-optimised": { "usageCount": 4, @@ -2187,8 +2204,8 @@ "lastUsedAt": 1771528594878 }, "commit-push": { - "usageCount": 16, - "lastUsedAt": 1771507468440 + "usageCount": 17, + "lastUsedAt": 1771537208260 }, "check-rarity": { "usageCount": 1, @@ -2213,6 +2230,10 @@ "claude-automation-recommender": { "usageCount": 1, "lastUsedAt": 1771474474878 + }, + "bmad-qa": { + "usageCount": 1, + "lastUsedAt": 1771536951910 } }, "opusProMigrationComplete": true, @@ -2221,7 +2242,7 @@ "passesLastSeenRemaining": 3, "clientDataCache": { "data": {}, - "timestamp": 1771529672138 + "timestamp": 1771538153521 }, "hasShownOpus46Notice": { "57783733-6e1e-48d5-9cb7-fa588a77b795": true diff --git a/backups/.claude.json.backup.1771538521524 b/backups/.claude.json.backup.1771538521524 new file mode 100644 index 0000000..cf3a94d --- /dev/null +++ b/backups/.claude.json.backup.1771538521524 @@ -0,0 +1,2268 @@ +{ + "numStartups": 663, + "installMethod": "native", + "autoUpdates": true, + "preferredNotifChannel": "iterm2_with_bell", + "hasSeenTasksHint": true, + "tipsHistory": { + "new-user-warmup": 2, + "theme-command": 660, + "prompt-queue": 12, + "enter-to-steer-in-relatime": 651, + "todo-list": 660, + "# for memory": 38, + "install-github-app": 663, + "permissions": 654, + "drag-and-drop-images": 659, + "double-esc": 75, + "continue": 655, + "ide-hotkey": 74, + "terminal-setup": 29, + "custom-commands": 655, + "shift-enter": 661, + "shift-tab": 655, + "custom-agents": 663, + "status-line": 536, + "git-worktrees": 661, + "image-paste": 646, + "plan-mode-for-complex-tasks": 384, + "double-esc-code-restore": 654, + "tab-toggle-thinking": 329, + "ultrathink-keyword": 423, + "ide-upsell-external-terminal": 646, + "stickers-command": 416, + "default-permission-mode-config": 436, + "rename-conversation": 655, + "frontend-design-plugin": 560, + "config-thinking-mode": 412, + "guest-passes": 587, + "colorterm-truecolor": 638, + "web-app": 657, + "mobile-app": 657, + "install-slack-app": 656, + "btw-side-question": 407, + "agent-flag": 652 + }, + "memoryUsageCount": 18, + "promptQueueUseCount": 4513, + "cachedStatsigGates": { + "tengu_disable_bypass_permissions_mode": false, + "tengu_use_file_checkpoints": true, + "tengu_tool_pear": false, + "tengu_migrate_ignore_patterns": false, + "tengu_halloween": false, + "tengu_web_tasks": true, + "tengu_show_extra_usage_bar": true, + "tengu_log_1p_events": true, + "tengu_enable_versioned_plugins": false, + "code_slack_app_install_banner": false, + "tengu_sumi": true, + "tengu_react_vulnerability_warning": false, + "tengu_tool_result_persistence": false, + "tengu_c4w_usage_limit_notifications_enabled": true, + "tengu_thinkback": false, + "tengu_ant_attribution_header_new": true, + "tengu_clawd_openfire": false, + "tengu_prompt_suggestion": true, + "tengu_year_end_2025_campaign_promo": false, + "tengu_streaming_tool_execution2": false, + "tengu_session_memory": false + }, + "cachedDynamicConfigs": { + "tengu_1p_event_batch_config": { + "scheduledDelayMillis": 5000, + "maxExportBatchSize": 200, + "maxQueueSize": 8192 + }, + "tengu-top-of-feed-tip": { + "tip": "", + "color": "" + } + }, + "cachedGrowthBookFeatures": { + "tengu_pid_based_version_locking": true, + "tengu_accept_with_feedback": true, + "tengu_mcp_tool_search": true, + "tengu_disable_bypass_permissions_mode": false, + "tengu_tool_pear": false, + "tengu_c4w_usage_limit_notifications_enabled": true, + "tengu_thinkback": false, + "tengu_sumi": true, + "tengu_ant_attribution_header_new": true, + "tengu_react_vulnerability_warning": false, + "tengu_tool_result_persistence": true, + "strawberry_granite_flag": "OFF", + "persimmon_marble_flag": "marble", + "tengu_tool_search_unsupported_models": [ + "haiku" + ], + "tengu_1p_event_batch_config": { + "scheduledDelayMillis": 5000, + "maxExportBatchSize": 200, + "maxQueueSize": 8192 + }, + "tengu_event_sampling_config": {}, + "tengu_scratch": false, + "tengu_log_segment_events": false, + "tengu_log_datadog_events": true, + "tengu_streaming_tool_execution2": true, + "tengu_post_compact_survey": false, + "tengu-top-of-feed-tip": { + "tip": "", + "color": "" + }, + "enhanced_telemetry_beta": false, + "tengu_code_diff_cli": true, + "tengu_compact_streaming_retry": false, + "tengu_session_memory": false, + "tengu_bash_haiku_prefetch": true, + "tengu_sm_compact": false, + "tengu_attribution_header": true, + "tengu_keybinding_customization": false, + "tengu_claudeai_mcp_connectors": true, + "tengu_plank_river_frost": "user_intent", + "tengu_brass_pebble": false, + "tengu_plan_mode_interview_phase": false, + "tengu_scarf_coffee": false, + "tengu_keybinding_customization_release": true, + "tengu_pr_status_cli": true, + "tengu_marble_kite": false, + "tengu_kv7_prompt_sort": true, + "tengu_marble_anvil": true, + "tengu_coral_fern": false, + "tengu_cache_plum_violet": true, + "tengu_tst_kx7": false, + "tengu_cork_m4q": true, + "tengu_compact_cache_prefix": true, + "tengu_file_write_optimization": true, + "tengu_system_prompt_global_cache": true, + "tengu_workout": false, + "tengu_plum_vx3": true, + "tengu_vscode_review_upsell": false, + "tengu_vscode_onboarding": false, + "tengu_quiet_fern": false, + "tengu_vinteuil_phrase": true, + "tengu_oboe": true, + "tengu_tst_names_in_messages": false, + "tengu_chomp_inflection": false, + "tengu_silver_lantern": false, + "tengu_copper_lantern": false, + "tengu_workout2": true, + "tengu_marble_lantern_disabled": false, + "tengu_penguins_enabled": true, + "tengu_penguins_off": null, + "tengu_penguin_mode_promo": { + "discountPercent": 50, + "endDate": "Feb 16" + }, + "tengu_mcp_elicitation": false, + "tengu_snippet_save": false, + "tengu_bergotte_lantern": false, + "tengu_amber_flint": true, + "tengu_chrome_auto_enable": false, + "tengu_fgts": false, + "tengu_immediate_model_command": false, + "tengu_mulberry_fog": false, + "tengu_prompt_cache_1h_config": { + "allowlist": [ + "repl_main_thread*", + "sdk" + ] + }, + "tengu_disable_streaming_to_non_streaming_fallback": false, + "tengu_amber_prism": false, + "tengu_birthday_hat": true, + "tengu_moth_copse": false, + "tengu_permission_explainer": true, + "tengu_slate_nexus": false, + "tengu_marble_sandcastle": true, + "tengu_birch_mist": false, + "tengu_oak_drum": false + }, + "hasSeenStashHint": true, + "firstStartTime": "2025-07-09T18:27:34.950Z", + "userID": "67ff4da909deda738fb9d1bd6b743a7b7072fba19ec9dcc700fb61b83cd680f0", + "projects": { + "/mnt/NV2/Development/paper-dynasty": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 6, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 5.085098, + "lastAPIDuration": 656693, + "lastToolDuration": 87436, + "lastDuration": 73587544, + "lastLinesAdded": 275, + "lastLinesRemoved": 546, + "lastTotalInputTokens": 50542, + "lastTotalOutputTokens": 30915, + "lastTotalCacheCreationInputTokens": 141712, + "lastTotalCacheReadInputTokens": 6788738, + "lastSessionId": "829c2709-523b-455b-8f18-c9e98683677d", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 656657, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 50464, + "outputTokens": 935, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.055139000000000014 + }, + "claude-opus-4-6": { + "inputTokens": 78, + "outputTokens": 29980, + "cacheReadInputTokens": 6788738, + "cacheCreationInputTokens": 141712, + "webSearchRequests": 0, + "costUSD": 5.029959 + } + }, + "lastFpsAverage": 0.18, + "lastFpsLow1Pct": 9.71, + "lastSessionMetrics": { + "frame_duration_ms_count": 13108, + "frame_duration_ms_min": 0.11368899999999371, + "frame_duration_ms_max": 199.6928890000563, + "frame_duration_ms_avg": 4.148051465208603, + "frame_duration_ms_p50": 1.1749479999998584, + "frame_duration_ms_p95": 1.8468253500584952, + "frame_duration_ms_p99": 99.39902745002993 + } + }, + "/mnt/NV2/Development/paper-dynasty/discord-app": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 4, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "gameplay.py", + "helpers.py", + "gauntlets.py", + "players.py", + "gameplay_models.py" + ], + "exampleFilesGeneratedAt": 1771200477099, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 1.701528, + "lastAPIDuration": 166292, + "lastToolDuration": 6794, + "lastDuration": 473503, + "lastLinesAdded": 8, + "lastLinesRemoved": 9, + "lastTotalInputTokens": 22018, + "lastTotalOutputTokens": 4582, + "lastTotalCacheCreationInputTokens": 129852, + "lastTotalCacheReadInputTokens": 1510282, + "lastSessionId": "2b4b8d5b-b512-4151-8e0a-e7df54ca87af", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 166269, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 19317, + "outputTokens": 628, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.022457 + }, + "claude-opus-4-6": { + "inputTokens": 2701, + "outputTokens": 3954, + "cacheReadInputTokens": 1510282, + "cacheCreationInputTokens": 129852, + "webSearchRequests": 0, + "costUSD": 1.6790709999999998 + } + }, + "lastFpsAverage": 9.87, + "lastFpsLow1Pct": 78.57, + "lastSessionMetrics": { + "frame_duration_ms_count": 329, + "frame_duration_ms_min": 0.2862079999999878, + "frame_duration_ms_max": 21.07715700000017, + "frame_duration_ms_avg": 1.241589392097319, + "frame_duration_ms_p50": 0.6591350000016973, + "frame_duration_ms_p95": 4.936919999999964, + "frame_duration_ms_p99": 12.333302280000893 + } + }, + "/mnt/NV2/Development/paper-dynasty/card-creation": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 4, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "creation_helpers.py", + "retrosheet_data.py", + "live_series_update.py", + "db_calls.py", + "calcs_batter.py" + ], + "exampleFilesGeneratedAt": 1771120959673, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.97483075, + "lastAPIDuration": 112428, + "lastToolDuration": 41752, + "lastDuration": 1492175, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 11865, + "lastTotalOutputTokens": 3918, + "lastTotalCacheCreationInputTokens": 52943, + "lastTotalCacheReadInputTokens": 1079940, + "lastSessionId": "bb0edcb2-c231-429b-b9b2-871693d68164", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 112416, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 11817, + "outputTokens": 302, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.013327000000000002 + }, + "claude-opus-4-6": { + "inputTokens": 48, + "outputTokens": 3616, + "cacheReadInputTokens": 1079940, + "cacheCreationInputTokens": 52943, + "webSearchRequests": 0, + "costUSD": 0.96150375 + } + }, + "lastFpsAverage": 2.41, + "lastFpsLow1Pct": 376.75, + "lastSessionMetrics": { + "frame_duration_ms_count": 3600, + "frame_duration_ms_min": 0.242127999999866, + "frame_duration_ms_max": 5.281829999992624, + "frame_duration_ms_avg": 0.580389515832801, + "frame_duration_ms_p50": 0.5064559999955236, + "frame_duration_ms_p95": 0.7619019999605353, + "frame_duration_ms_p99": 2.6560799299745104 + } + }, + "/mnt/NV2/Development/major-domo/discord-app": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 1, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "players.py", + "transactions.py", + "helpers.py", + "db_calls.py", + "draft.py" + ], + "exampleFilesGeneratedAt": 1769634210567, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.41368375, + "lastAPIDuration": 62642, + "lastToolDuration": 5017, + "lastDuration": 759802, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 731, + "lastTotalOutputTokens": 2831, + "lastTotalCacheCreationInputTokens": 36799, + "lastTotalCacheReadInputTokens": 225704, + "lastSessionId": "b028c6d5-906a-42a5-bcc8-3007ad6cc9be", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 62637, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 673, + "outputTokens": 45, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.0008979999999999999 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 58, + "outputTokens": 2786, + "cacheReadInputTokens": 225704, + "cacheCreationInputTokens": 36799, + "webSearchRequests": 0, + "costUSD": 0.41278575 + } + }, + "lastFpsAverage": 3.04, + "lastFpsLow1Pct": 446.27 + }, + "/mnt/NV2/Development/paper-dynasty/database": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 1, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "db_engine.py", + "teams.py", + "battingcardratings.py", + "card_creation.py", + "players.py" + ], + "exampleFilesGeneratedAt": 1771135527599, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.6665207500000002, + "lastAPIDuration": 78227, + "lastToolDuration": 4637, + "lastDuration": 250612, + "lastLinesAdded": 7, + "lastLinesRemoved": 8, + "lastTotalInputTokens": 5310, + "lastTotalOutputTokens": 2768, + "lastTotalCacheCreationInputTokens": 48081, + "lastTotalCacheReadInputTokens": 587961, + "lastSessionId": "93b4db7a-6cf9-4372-b787-48b349953790", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 78224, + "lastModelUsage": { + "claude-opus-4-6": { + "inputTokens": 606, + "outputTokens": 2523, + "cacheReadInputTokens": 587961, + "cacheCreationInputTokens": 48081, + "webSearchRequests": 0, + "costUSD": 0.6605917499999999 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 4704, + "outputTokens": 245, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.005929 + } + }, + "lastFpsAverage": 7.31, + "lastFpsLow1Pct": 194.99, + "lastSessionMetrics": { + "frame_duration_ms_count": 1828, + "frame_duration_ms_min": 0.0990590000001248, + "frame_duration_ms_max": 8.969790000002831, + "frame_duration_ms_avg": 0.679499891137906, + "frame_duration_ms_p50": 0.5137859999958891, + "frame_duration_ms_p95": 1.3138215000040865, + "frame_duration_ms_p99": 5.171841930003283 + } + }, + "/mnt/NV2/Development/major-domo/website/sba": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 1, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "PlayerView.vue", + "NavBar.vue", + "utilities.ts", + "TeamView.vue", + "ScheduleView.vue" + ], + "exampleFilesGeneratedAt": 1752684082764, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.9222622499999997, + "lastAPIDuration": 211074, + "lastToolDuration": 106309, + "lastDuration": 172787988, + "lastLinesAdded": 6, + "lastLinesRemoved": 15, + "lastTotalInputTokens": 12057, + "lastTotalOutputTokens": 9314, + "lastTotalCacheCreationInputTokens": 68507, + "lastTotalCacheReadInputTokens": 1677945, + "lastSessionId": "2853d835-8e58-4264-9af8-965b509be920" + }, + "/mnt/NV2/Development/claude-strat": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 2, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0, + "lastAPIDuration": 0, + "lastAPIDurationWithoutRetries": 0, + "lastToolDuration": 0, + "lastDuration": 78562, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 0, + "lastTotalOutputTokens": 0, + "lastTotalCacheCreationInputTokens": 0, + "lastTotalCacheReadInputTokens": 0, + "lastFpsAverage": 0.24, + "lastFpsLow1Pct": 460.03, + "lastModelUsage": {}, + "lastSessionId": "18118e64-debf-4131-a196-8b35468cc21d", + "lastSessionMetrics": { + "frame_duration_ms_count": 19, + "frame_duration_ms_min": 0.09748899999999594, + "frame_duration_ms_max": 2.173793000000046, + "frame_duration_ms_avg": 0.7502662105250782, + "frame_duration_ms_p50": 0.5705650000018068, + "frame_duration_ms_p95": 1.5184094000000399, + "frame_duration_ms_p99": 2.0427162800000453 + } + }, + "/mnt/NV2/Development/claude-home": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "hasTrustDialogHooksAccepted": false, + "projectOnboardingSeenCount": 6, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "exampleFiles": [ + "CLAUDE.md", + "hosts.yml", + "start-tdarr-gpu-podman-clean.sh", + "tdarr-timeout-monitor.sh", + "docker-build-template.yml" + ], + "exampleFilesGeneratedAt": 1771197437832, + "hasTrustDialogBashAccepted": true, + "disabledMcpServers": [ + "ssh-vultr", + "podman", + "ssh-akamai", + "ssh-database-apis", + "ssh-discord-bots", + "ssh-docker-home", + "ssh-docker-vpn", + "ssh-pihole", + "ssh-sba-bots", + "ssh-tdarr", + "notediscovery" + ], + "lastCost": 40.23374199999994, + "lastAPIDuration": 5995420, + "lastToolDuration": 2896147, + "lastDuration": 20374119, + "lastLinesAdded": 2594, + "lastLinesRemoved": 143, + "lastTotalInputTokens": 747870, + "lastTotalOutputTokens": 224482, + "lastTotalCacheCreationInputTokens": 1751354, + "lastTotalCacheReadInputTokens": 47009653, + "lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 4961513, + "lastModelUsage": { + "claude-opus-4-6": { + "inputTokens": 9124, + "outputTokens": 164889, + "cacheReadInputTokens": 44348975, + "cacheCreationInputTokens": 1408982, + "webSearchRequests": 0, + "costUSD": 35.148469999999996 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 732883, + "outputTokens": 15034, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 67247, + "webSearchRequests": 0, + "costUSD": 0.892111749999999 + }, + "claude-sonnet-4-6": { + "inputTokens": 5863, + "outputTokens": 44559, + "cacheReadInputTokens": 2660678, + "cacheCreationInputTokens": 275125, + "webSearchRequests": 0, + "costUSD": 4.19316025 + } + }, + "lastSessionMetrics": { + "frame_duration_ms_count": 126433, + "frame_duration_ms_min": 0.033378999680280685, + "frame_duration_ms_max": 185.3289749994874, + "frame_duration_ms_avg": 4.580825976891975, + "frame_duration_ms_p50": 1.4972434998489916, + "frame_duration_ms_p95": 3.451200450630833, + "frame_duration_ms_p99": 90.20297368977218 + }, + "lastFpsAverage": 6.12, + "lastFpsLow1Pct": 11.02 + }, + "/mnt/NV2/Development/major-domo": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 21, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.038617, + "lastAPIDuration": 9353, + "lastToolDuration": 0, + "lastDuration": 7595, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 4, + "lastTotalOutputTokens": 370, + "lastTotalCacheCreationInputTokens": 9588, + "lastTotalCacheReadInputTokens": 0, + "lastSessionId": "4732b974-2222-43bd-ade6-68f939374e2d" + }, + "/mnt/NV2/Development/major-domo/discord-app-v2": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "bot.py", + "picks.py", + "player_service.py", + "draft_monitor.py", + "transaction_builder.py" + ], + "exampleFilesGeneratedAt": 1771010003932, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.48880999999999997, + "lastAPIDuration": 82556, + "lastToolDuration": 762, + "lastDuration": 31782115, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 10182, + "lastTotalOutputTokens": 3557, + "lastTotalCacheCreationInputTokens": 46594, + "lastTotalCacheReadInputTokens": 209453, + "lastSessionId": "af95e872-d30d-4e18-bba0-9b54a2db2472", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 82551, + "lastModelUsage": { + "claude-opus-4-6": { + "inputTokens": 301, + "outputTokens": 3185, + "cacheReadInputTokens": 209453, + "cacheCreationInputTokens": 46594, + "webSearchRequests": 0, + "costUSD": 0.47706899999999997 + }, + "claude-haiku-4-5-20251001": { + "inputTokens": 9881, + "outputTokens": 372, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.011741000000000001 + } + }, + "lastFpsAverage": 0.06, + "lastFpsLow1Pct": 712.84, + "lastSessionMetrics": { + "frame_duration_ms_count": 1990, + "frame_duration_ms_min": 0.1826390000005631, + "frame_duration_ms_max": 7.607172000003629, + "frame_duration_ms_avg": 0.5568929904514509, + "frame_duration_ms_p50": 0.49148100000456907, + "frame_duration_ms_p95": 0.7997885000371748, + "frame_duration_ms_p99": 1.2905342006038087 + } + }, + "/mnt/NV2/Development/major-domo/database": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "stratplay.py", + "db_engine.py", + "players.py", + "main.py", + "player_service.py" + ], + "exampleFilesGeneratedAt": 1770846518939, + "lastTotalWebSearchRequests": 0, + "hasCompletedProjectOnboarding": true, + "lastCost": 2.3901955, + "lastAPIDuration": 301972, + "lastToolDuration": 12114, + "lastDuration": 1670471, + "lastLinesAdded": 10, + "lastLinesRemoved": 53, + "lastTotalInputTokens": 48396, + "lastTotalOutputTokens": 9953, + "lastTotalCacheCreationInputTokens": 108474, + "lastTotalCacheReadInputTokens": 2959228, + "lastSessionId": "5e851c22-a330-498c-b920-91d07e9d7272", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 301237, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 44789, + "outputTokens": 1324, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 10510, + "webSearchRequests": 0, + "costUSD": 0.06454649999999999 + }, + "claude-opus-4-6": { + "inputTokens": 3607, + "outputTokens": 8629, + "cacheReadInputTokens": 2959228, + "cacheCreationInputTokens": 97964, + "webSearchRequests": 0, + "costUSD": 2.3256489999999994 + } + }, + "lastFpsAverage": 3.48, + "lastFpsLow1Pct": 61.79, + "lastSessionMetrics": { + "frame_duration_ms_count": 5811, + "frame_duration_ms_min": 0.06511999999929685, + "frame_duration_ms_max": 24.917415999807417, + "frame_duration_ms_avg": 1.2880430752023766, + "frame_duration_ms_p50": 0.6170755000021018, + "frame_duration_ms_p95": 8.055697949981514, + "frame_duration_ms_p99": 15.687149549964806 + } + }, + "/home/cal": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 2, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "lastCost": 0.49167225000000003, + "lastAPIDuration": 57564, + "lastToolDuration": 795, + "lastDuration": 54969526, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 13534, + "lastTotalOutputTokens": 2290, + "lastTotalCacheCreationInputTokens": 54325, + "lastTotalCacheReadInputTokens": 171658, + "lastTotalWebSearchRequests": 0, + "lastSessionId": "0828ba77-a2b4-4739-901a-2bde4ca9c84d", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 57561, + "lastFpsAverage": 0.03, + "lastFpsLow1Pct": 489.2, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 13522, + "outputTokens": 226, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.014651999999999998 + }, + "claude-opus-4-6": { + "inputTokens": 12, + "outputTokens": 2064, + "cacheReadInputTokens": 171658, + "cacheCreationInputTokens": 54325, + "webSearchRequests": 0, + "costUSD": 0.47702025 + } + }, + "lastSessionMetrics": { + "frame_duration_ms_count": 1797, + "frame_duration_ms_min": 0.07679000124335289, + "frame_duration_ms_max": 3.8076990004628897, + "frame_duration_ms_avg": 0.4328137100382606, + "frame_duration_ms_p50": 0.37359199952334166, + "frame_duration_ms_p95": 0.6538420001044866, + "frame_duration_ms_p99": 1.549595779986366 + } + }, + "/mnt/NV2/Development/paper-dynasty/gameplay-website": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 2, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "lastCost": 20.37967725000001, + "lastAPIDuration": 4284676, + "lastToolDuration": 162304, + "lastDuration": 143735767, + "lastLinesAdded": 10089, + "lastLinesRemoved": 431, + "lastTotalInputTokens": 119579, + "lastTotalOutputTokens": 195181, + "lastTotalCacheCreationInputTokens": 2081675, + "lastTotalCacheReadInputTokens": 31932818, + "lastTotalWebSearchRequests": 0, + "lastSessionId": "e3e9c25e-bf3a-476e-a6e3-4ab186fd09a7" + }, + "/mnt/NV2/Development/paper-dynasty/gameplay-webapp": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 15, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "hasCompletedProjectOnboarding": true + }, + "/mnt/NV2/Development/strat-gameplay-webapp": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "ignorePatterns": [], + "projectOnboardingSeenCount": 5, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "game_engine.py", + "game_models.py", + "[id].vue", + "state_manager.py", + "handlers.py" + ], + "exampleFilesGeneratedAt": 1770420014240, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 16.934636699999995, + "lastAPIDuration": 2029033, + "lastToolDuration": 334075, + "lastDuration": 72071738, + "lastLinesAdded": 1642, + "lastLinesRemoved": 807, + "lastTotalInputTokens": 129026, + "lastTotalOutputTokens": 104896, + "lastTotalCacheCreationInputTokens": 898174, + "lastTotalCacheReadInputTokens": 21863464, + "lastSessionId": "96ccb792-ef5c-4f2d-abc0-3ab3f694d5d4", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 2028886, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 128537, + "outputTokens": 21695, + "cacheReadInputTokens": 1593012, + "cacheCreationInputTokens": 258592, + "webSearchRequests": 0, + "costUSD": 0.7195532000000001 + }, + "claude-opus-4-6": { + "inputTokens": 419, + "outputTokens": 78422, + "cacheReadInputTokens": 19831105, + "cacheCreationInputTokens": 605182, + "webSearchRequests": 0, + "costUSD": 15.660584999999992 + }, + "claude-sonnet-4-5-20250929": { + "inputTokens": 70, + "outputTokens": 4779, + "cacheReadInputTokens": 439347, + "cacheCreationInputTokens": 34400, + "webSearchRequests": 0, + "costUSD": 0.5544985 + } + }, + "lastFpsAverage": 0.51, + "lastFpsLow1Pct": 8.98, + "lastSessionMetrics": { + "frame_duration_ms_count": 36971, + "frame_duration_ms_min": 0.023979991674423218, + "frame_duration_ms_max": 471.0088710002601, + "frame_duration_ms_avg": 4.1840136584065, + "frame_duration_ms_p50": 1.0950170001015067, + "frame_duration_ms_p95": 2.274254503706469, + "frame_duration_ms_p99": 113.62059141005383 + } + }, + "/home/cal/PAI-personal": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 3, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "README.md", + "stop-hook.ts", + "load-dynamic-requirements.ts", + "server.ts", + "voice-system.md" + ], + "exampleFilesGeneratedAt": 1762705373825, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.06835225, + "lastAPIDuration": 6739, + "lastToolDuration": 0, + "lastDuration": 184755, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 133, + "lastTotalOutputTokens": 173, + "lastTotalCacheCreationInputTokens": 17559, + "lastTotalCacheReadInputTokens": 0, + "lastSessionId": "aaf66661-ddee-428d-abaa-f3ee035385f7" + }, + "/home/cal/work": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 1, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [], + "lastCost": 0.45607089999999995, + "lastAPIDuration": 150289, + "lastToolDuration": 7286, + "lastDuration": 1692139, + "lastLinesAdded": 5, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 11418, + "lastTotalOutputTokens": 5237, + "lastTotalCacheCreationInputTokens": 75368, + "lastTotalCacheReadInputTokens": 292173, + "lastTotalWebSearchRequests": 0, + "lastSessionId": "df8bf8dd-746a-46ef-9faa-448f402968cc" + }, + "/home/cal/work/esb-monorepo": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 7, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "main.py", + "output_utils.py", + "base.py", + "validate_field_mappings.py", + "test_end_to_end.py" + ], + "exampleFilesGeneratedAt": 1771431800882, + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "lastCost": 0.000711, + "lastAPIDuration": 823, + "lastToolDuration": 0, + "lastDuration": 6284, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 536, + "lastTotalOutputTokens": 35, + "lastTotalCacheCreationInputTokens": 0, + "lastTotalCacheReadInputTokens": 0, + "lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 822, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 536, + "outputTokens": 35, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.000711 + } + }, + "lastFpsAverage": 6.68, + "lastFpsLow1Pct": 219.22, + "lastSessionMetrics": { + "frame_duration_ms_count": 38, + "frame_duration_ms_min": 0.0733989999998812, + "frame_duration_ms_max": 4.561674999999923, + "frame_duration_ms_avg": 1.2307077105262876, + "frame_duration_ms_p50": 1.1626314999998613, + "frame_duration_ms_p95": 2.57251919999976, + "frame_duration_ms_p99": 3.884495079999988 + } + }, + "/mnt/NV2/Development/efd-trading-card-base": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 3, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "ModBehaviour.cs", + "Patches.cs", + "StorageHelper.cs", + "TagHelper.cs", + "PackHelper.cs" + ], + "hasCompletedProjectOnboarding": true, + "lastTotalWebSearchRequests": 0, + "exampleFilesGeneratedAt": 1766960877904, + "lastCost": 1.1139348, + "lastAPIDuration": 360792, + "lastToolDuration": 124593, + "lastDuration": 437573762, + "lastLinesAdded": 480, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 29358, + "lastTotalOutputTokens": 21239, + "lastTotalCacheCreationInputTokens": 105536, + "lastTotalCacheReadInputTokens": 1377470, + "lastSessionId": "b8161215-eaaf-4b3d-a7c4-1211a973173d", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 360778, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 22987, + "outputTokens": 12005, + "cacheReadInputTokens": 867968, + "cacheCreationInputTokens": 46586, + "webSearchRequests": 0, + "costUSD": 0.22804130000000003 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 6371, + "outputTokens": 9234, + "cacheReadInputTokens": 509502, + "cacheCreationInputTokens": 58950, + "webSearchRequests": 0, + "costUSD": 0.8858935000000001 + } + } + }, + "/mnt/NV2/Development/youtube-transcriber": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 1, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [], + "lastCost": 0.5343026, + "lastAPIDuration": 157690, + "lastToolDuration": 40133, + "lastDuration": 1963443, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 11575, + "lastTotalOutputTokens": 7644, + "lastTotalCacheCreationInputTokens": 74892, + "lastTotalCacheReadInputTokens": 329416, + "lastTotalWebSearchRequests": 0, + "lastSessionId": "a3410bfd-60df-45cb-b5ba-d2aa42af040b", + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastAPIDurationWithoutRetries": 157684, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 9557, + "outputTokens": 3569, + "cacheReadInputTokens": 90706, + "cacheCreationInputTokens": 40313, + "webSearchRequests": 0, + "costUSD": 0.08686385 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 2018, + "outputTokens": 4075, + "cacheReadInputTokens": 238710, + "cacheCreationInputTokens": 34579, + "webSearchRequests": 0, + "costUSD": 0.44743875000000005 + } + } + }, + "/mnt/NV2/Development/major-domo/sba-website": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "NavBar.vue", + "utilities.ts", + "PlayerView.vue", + "pitchingStatsService.ts", + "GameView.vue" + ], + "exampleFilesGeneratedAt": 1764698332308, + "hasCompletedProjectOnboarding": true, + "lastCost": 0.16633325, + "lastAPIDuration": 23227, + "lastToolDuration": 50, + "lastDuration": 90937, + "lastLinesAdded": 3, + "lastLinesRemoved": 1, + "lastTotalInputTokens": 568, + "lastTotalOutputTokens": 891, + "lastTotalCacheCreationInputTokens": 24431, + "lastTotalCacheReadInputTokens": 40417, + "lastTotalWebSearchRequests": 0, + "lastSessionId": "c44482c8-6b43-4473-baf1-b7e7f1713d05" + }, + "/mnt/NV2/Development/vagabond-rpg-foundryvtt": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "vagabond.mjs", + "character.mjs", + "base-actor-sheet.mjs", + "weapon.mjs", + "_chat-cards.scss" + ], + "exampleFilesGeneratedAt": 1771348866204, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "hasCompletedProjectOnboarding": true, + "lastCost": 2.4916862500000017, + "lastAPIDuration": 617124, + "lastAPIDurationWithoutRetries": 617051, + "lastToolDuration": 41476, + "lastDuration": 14881048, + "lastLinesAdded": 48, + "lastLinesRemoved": 3, + "lastTotalInputTokens": 74007, + "lastTotalOutputTokens": 32137, + "lastTotalCacheCreationInputTokens": 143503, + "lastTotalCacheReadInputTokens": 2478749, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 73923, + "outputTokens": 16775, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 37370, + "webSearchRequests": 0, + "costUSD": 0.20451049999999996 + }, + "claude-opus-4-6": { + "inputTokens": 84, + "outputTokens": 15362, + "cacheReadInputTokens": 2478749, + "cacheCreationInputTokens": 106133, + "webSearchRequests": 0, + "costUSD": 2.2871757500000007 + } + }, + "lastSessionId": "3e0d8693-8b59-4b4b-b895-0a6d0df271b9", + "lastFpsAverage": 0.64, + "lastFpsLow1Pct": 75.21, + "lastSessionMetrics": { + "frame_duration_ms_count": 9467, + "frame_duration_ms_min": 0.22532899997895584, + "frame_duration_ms_max": 27.93686599843204, + "frame_duration_ms_avg": 1.123230763174562, + "frame_duration_ms_p50": 0.6752699996577576, + "frame_duration_ms_p95": 4.194021500030064, + "frame_duration_ms_p99": 13.320319429975934 + } + }, + "/mnt/NV2/Development/voice-server": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 121, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastCost": 1.1846112499999997, + "lastAPIDuration": 285962, + "lastAPIDurationWithoutRetries": 285957, + "lastToolDuration": 2561, + "lastDuration": 3533895, + "lastLinesAdded": 1, + "lastLinesRemoved": 1, + "lastTotalInputTokens": 37077, + "lastTotalOutputTokens": 11625, + "lastTotalCacheCreationInputTokens": 97481, + "lastTotalCacheReadInputTokens": 495130, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 34570, + "outputTokens": 497, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.037055000000000005 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 2507, + "outputTokens": 11128, + "cacheReadInputTokens": 495130, + "cacheCreationInputTokens": 97481, + "webSearchRequests": 0, + "costUSD": 1.1475562499999996 + } + }, + "lastSessionId": "554acadb-bd48-444d-bba0-eb56b7f973b7", + "exampleFiles": [ + "models.py", + "queue_manager.py", + "routes.py", + "test_models.py", + "test_api.py" + ], + "exampleFilesGeneratedAt": 1766157887772 + }, + "/home/cal/.claude": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "hasCompletedProjectOnboarding": true, + "lastCost": 2.0461577500000003, + "lastAPIDuration": 375500, + "lastAPIDurationWithoutRetries": 375491, + "lastToolDuration": 5648, + "lastDuration": 3861491, + "lastLinesAdded": 34, + "lastLinesRemoved": 25, + "lastTotalInputTokens": 14373, + "lastTotalOutputTokens": 13569, + "lastTotalCacheCreationInputTokens": 81883, + "lastTotalCacheReadInputTokens": 2301862, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 4643, + "outputTokens": 453, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.006907999999999999 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 9730, + "outputTokens": 13116, + "cacheReadInputTokens": 2301862, + "cacheCreationInputTokens": 81883, + "webSearchRequests": 0, + "costUSD": 2.03924975 + } + }, + "lastSessionId": "848aa776-de5b-4135-8538-89ed5b29151c" + }, + "/mnt/NV2/Development/openscad-models": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 2, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastCost": 2.7214542499999994, + "lastAPIDuration": 781798, + "lastAPIDurationWithoutRetries": 777552, + "lastToolDuration": 3537, + "lastDuration": 80207818, + "lastLinesAdded": 102, + "lastLinesRemoved": 52, + "lastTotalInputTokens": 26454, + "lastTotalOutputTokens": 32767, + "lastTotalCacheCreationInputTokens": 126339, + "lastTotalCacheReadInputTokens": 2186269, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 23726, + "outputTokens": 892, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.028186000000000003 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 2728, + "outputTokens": 31875, + "cacheReadInputTokens": 2186269, + "cacheCreationInputTokens": 126339, + "webSearchRequests": 0, + "costUSD": 2.69326825 + } + }, + "lastSessionId": "dc88df52-7868-463f-87b1-9b9c66fcfe4b", + "exampleFiles": [ + "gfci-paddle-switch-extended.scad", + "gfci-paddle-switch-extended-2d.scad", + "test-avocado.scad", + "gfci-paddle-switch-extended-template.svg", + "avocado-nameplate.stl" + ], + "exampleFilesGeneratedAt": 1766607808626 + }, + "/mnt/NV2/Development/headless-claude": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastCost": 14.681952000000011, + "lastAPIDuration": 1922503, + "lastAPIDurationWithoutRetries": 1922344, + "lastToolDuration": 404961, + "lastDuration": 4275175, + "lastLinesAdded": 973, + "lastLinesRemoved": 191, + "lastTotalInputTokens": 282513, + "lastTotalOutputTokens": 72914, + "lastTotalCacheCreationInputTokens": 659546, + "lastTotalCacheReadInputTokens": 17072917, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 279316, + "outputTokens": 4741, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.30302100000000004 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 3197, + "outputTokens": 68173, + "cacheReadInputTokens": 17072917, + "cacheCreationInputTokens": 659546, + "webSearchRequests": 0, + "costUSD": 14.378931 + } + }, + "lastSessionId": "38725d3f-5454-4fa7-b21b-8a051125e9f0" + }, + "/mnt/NV2/Development": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastCost": 5.5604301, + "lastAPIDuration": 1333168, + "lastAPIDurationWithoutRetries": 1328256, + "lastToolDuration": 743549, + "lastDuration": 4298210, + "lastLinesAdded": 1623, + "lastLinesRemoved": 222, + "lastTotalInputTokens": 58261, + "lastTotalOutputTokens": 56790, + "lastTotalCacheCreationInputTokens": 549016, + "lastTotalCacheReadInputTokens": 1990295, + "lastTotalWebSearchRequests": 7, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 36579, + "outputTokens": 1267, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.04291400000000001 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 19375, + "outputTokens": 34688, + "cacheReadInputTokens": 1390958, + "cacheCreationInputTokens": 491962, + "webSearchRequests": 7, + "costUSD": 4.8043165000000005 + }, + "claude-sonnet-4-5-20250929": { + "inputTokens": 2307, + "outputTokens": 20835, + "cacheReadInputTokens": 599337, + "cacheCreationInputTokens": 57054, + "webSearchRequests": 0, + "costUSD": 0.7131995999999999 + } + }, + "lastSessionId": "b5e5205f-dac0-4e82-b7d2-2a43c1875f1c" + }, + "/mnt/NV2/Development/tcg-poc": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [], + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "lastCost": 0.3143737499999999, + "lastAPIDuration": 87455, + "lastAPIDurationWithoutRetries": 87447, + "lastToolDuration": 393, + "lastDuration": 242060, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 10154, + "lastTotalOutputTokens": 3203, + "lastTotalCacheCreationInputTokens": 26841, + "lastTotalCacheReadInputTokens": 126753, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 7906, + "outputTokens": 799, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.011900999999999998 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 2248, + "outputTokens": 2404, + "cacheReadInputTokens": 126753, + "cacheCreationInputTokens": 26841, + "webSearchRequests": 0, + "costUSD": 0.30247274999999996 + } + }, + "lastSessionId": "d0705af3-8ca6-4d83-9419-51adf7e8fbb4" + }, + "/mnt/NV2/Development/tcg-project": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [], + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "hasCompletedProjectOnboarding": true, + "lastCost": 7.4633087499999995, + "lastAPIDuration": 1024093, + "lastAPIDurationWithoutRetries": 1021756, + "lastToolDuration": 4894, + "lastDuration": 353865522, + "lastLinesAdded": 942, + "lastLinesRemoved": 532, + "lastTotalInputTokens": 37687, + "lastTotalOutputTokens": 50556, + "lastTotalCacheCreationInputTokens": 526103, + "lastTotalCacheReadInputTokens": 5775948, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 34751, + "outputTokens": 1307, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.041286 + }, + "claude-opus-4-5-20251101": { + "inputTokens": 2936, + "outputTokens": 49249, + "cacheReadInputTokens": 5775948, + "cacheCreationInputTokens": 526103, + "webSearchRequests": 0, + "costUSD": 7.42202275 + } + }, + "lastSessionId": "17cea69f-4257-4c39-a978-3254d0906a34" + }, + "/mnt/NV2/Development/mantimon-tcg": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 286, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "card.py", + "engine.py", + "game_service.py", + "game_state.py", + "turn_manager.py" + ], + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "exampleFilesGeneratedAt": 1771119156109, + "hasCompletedProjectOnboarding": true, + "lastCost": 45.331285999999906, + "lastAPIDuration": 7423555, + "lastAPIDurationWithoutRetries": 7422611, + "lastToolDuration": 3967084, + "lastDuration": 55754959, + "lastLinesAdded": 16117, + "lastLinesRemoved": 330, + "lastTotalInputTokens": 530738, + "lastTotalOutputTokens": 409841, + "lastTotalCacheCreationInputTokens": 1976236, + "lastTotalCacheReadInputTokens": 45760024, + "lastTotalWebSearchRequests": 0, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 528784, + "outputTokens": 12803, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 85744, + "webSearchRequests": 0, + "costUSD": 0.6999789999999999 + }, + "claude-opus-4-6": { + "inputTokens": 320, + "outputTokens": 57172, + "cacheReadInputTokens": 17177654, + "cacheCreationInputTokens": 462784, + "webSearchRequests": 0, + "costUSD": 12.912127000000007 + }, + "claude-sonnet-4-5-20250929": { + "inputTokens": 1634, + "outputTokens": 339866, + "cacheReadInputTokens": 28582370, + "cacheCreationInputTokens": 1427708, + "webSearchRequests": 0, + "costUSD": 31.719179999999994 + } + }, + "lastSessionId": "a9e4fa29-4f81-47c5-88d2-a9dea0793d0f", + "lastFpsAverage": 1.81, + "lastFpsLow1Pct": 99.2, + "lastSessionMetrics": { + "frame_duration_ms_count": 100694, + "frame_duration_ms_min": 0.08616900071501732, + "frame_duration_ms_max": 43.1600469998084, + "frame_duration_ms_avg": 0.9782929465193478, + "frame_duration_ms_p50": 0.5610404997132719, + "frame_duration_ms_p95": 4.414866499626077, + "frame_duration_ms_p99": 9.795633430983868 + } + }, + "/mnt/NV2/Development/sba-scouting": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 152, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "app.py", + "config.py", + "importer.py", + "models.py", + "queries.py" + ], + "reactVulnerabilityCache": { + "detected": false, + "package": null, + "packageName": null, + "version": null, + "packageManager": null + }, + "exampleFilesGeneratedAt": 1770754505849, + "hasCompletedProjectOnboarding": true, + "lastCost": 3.38631825, + "lastAPIDuration": 571422, + "lastAPIDurationWithoutRetries": 571376, + "lastToolDuration": 10180, + "lastDuration": 7861779, + "lastLinesAdded": 148, + "lastLinesRemoved": 22, + "lastTotalInputTokens": 49841, + "lastTotalOutputTokens": 23633, + "lastTotalCacheCreationInputTokens": 132657, + "lastTotalCacheReadInputTokens": 3888956, + "lastTotalWebSearchRequests": 0, + "lastFpsAverage": 1.23, + "lastFpsLow1Pct": 47.34, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 49289, + "outputTokens": 1507, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.05682400000000001 + }, + "claude-sonnet-4-5-20250929": { + "inputTokens": 552, + "outputTokens": 22126, + "cacheReadInputTokens": 3888956, + "cacheCreationInputTokens": 132657, + "webSearchRequests": 0, + "costUSD": 3.32949425 + } + }, + "lastSessionId": "3355afd4-9cb8-4c16-840d-ae19696ba284" + }, + "/mnt/NV2/Development/my-memory": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "app.py", + "board_window.py", + "models.py", + "transcriber.py", + "README.md" + ], + "hasCompletedProjectOnboarding": true, + "lastSessionMetrics": { + "frame_duration_ms_count": 7981, + "frame_duration_ms_min": 0.05863899999530986, + "frame_duration_ms_max": 6.910323999938555, + "frame_duration_ms_avg": 0.4394333594793528, + "frame_duration_ms_p50": 0.3969669999787584, + "frame_duration_ms_p95": 0.6579631500033425, + "frame_duration_ms_p99": 1.8215813999983947 + }, + "lastCost": 1.0844382499999998, + "lastAPIDuration": 411476, + "lastAPIDurationWithoutRetries": 411448, + "lastToolDuration": 264192, + "lastDuration": 69498101, + "lastLinesAdded": 95, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 38299, + "lastTotalOutputTokens": 20028, + "lastTotalCacheCreationInputTokens": 61545, + "lastTotalCacheReadInputTokens": 354518, + "lastTotalWebSearchRequests": 0, + "lastFpsAverage": 0.12, + "lastFpsLow1Pct": 516.63, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 38278, + "outputTokens": 828, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.042418000000000004 + }, + "claude-opus-4-6": { + "inputTokens": 21, + "outputTokens": 19200, + "cacheReadInputTokens": 354518, + "cacheCreationInputTokens": 61545, + "webSearchRequests": 0, + "costUSD": 1.04202025 + } + }, + "lastSessionId": "517562a3-10fb-4106-a5cc-a39a40e3f8e7", + "exampleFilesGeneratedAt": 1770844148005 + }, + "/mnt/NV2/Development/ai-assistant": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": false, + "projectOnboardingSeenCount": 22, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [], + "lastCost": 0.000783, + "lastAPIDuration": 2081, + "lastAPIDurationWithoutRetries": 2081, + "lastToolDuration": 0, + "lastDuration": 5622, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 143, + "lastTotalOutputTokens": 128, + "lastTotalCacheCreationInputTokens": 0, + "lastTotalCacheReadInputTokens": 0, + "lastTotalWebSearchRequests": 0, + "lastFpsAverage": 4.34, + "lastFpsLow1Pct": 338.75, + "lastModelUsage": { + "claude-haiku-4-5-20251001": { + "inputTokens": 143, + "outputTokens": 128, + "cacheReadInputTokens": 0, + "cacheCreationInputTokens": 0, + "webSearchRequests": 0, + "costUSD": 0.000783 + } + }, + "lastSessionId": "d8bf1d2b-235c-4e4c-be88-46dc493dc714", + "lastSessionMetrics": { + "frame_duration_ms_count": 22, + "frame_duration_ms_min": 0.08473000000000752, + "frame_duration_ms_max": 2.9520669999999427, + "frame_duration_ms_avg": 1.1000014545454322, + "frame_duration_ms_p50": 1.0439814999999726, + "frame_duration_ms_p95": 2.028548699999737, + "frame_duration_ms_p99": 2.7626715699998945 + }, + "hasCompletedProjectOnboarding": true + }, + "/mnt/NV2/Development/test_autoforge_project/pd-team-dashboard": { + "allowedTools": [], + "mcpContextUris": [], + "mcpServers": {}, + "enabledMcpjsonServers": [], + "disabledMcpjsonServers": [], + "hasTrustDialogAccepted": true, + "projectOnboardingSeenCount": 0, + "hasClaudeMdExternalIncludesApproved": false, + "hasClaudeMdExternalIncludesWarningShown": false, + "exampleFiles": [ + "main.py", + "database.py", + "config.py", + "env.py", + "__init__.py" + ], + "exampleFilesGeneratedAt": 1771136719751, + "hasCompletedProjectOnboarding": true, + "lastCost": 0, + "lastAPIDuration": 0, + "lastAPIDurationWithoutRetries": 0, + "lastToolDuration": 0, + "lastDuration": 55110401, + "lastLinesAdded": 0, + "lastLinesRemoved": 0, + "lastTotalInputTokens": 0, + "lastTotalOutputTokens": 0, + "lastTotalCacheCreationInputTokens": 0, + "lastTotalCacheReadInputTokens": 0, + "lastTotalWebSearchRequests": 0, + "lastFpsAverage": 0, + "lastFpsLow1Pct": 272.7, + "lastModelUsage": {}, + "lastSessionId": "44246c87-0c70-40b5-a092-c7388896450f", + "lastSessionMetrics": { + "frame_duration_ms_count": 190, + "frame_duration_ms_min": 0.05084999999962747, + "frame_duration_ms_max": 4.276786000002176, + "frame_duration_ms_avg": 1.0820387367652373, + "frame_duration_ms_p50": 0.8855180000006158, + "frame_duration_ms_p95": 2.635911999360587, + "frame_duration_ms_p99": 3.515721791167741 + } + } + }, + "hasCompletedOnboarding": true, + "lastOnboardingVersion": "2.0.13", + "subscriptionNoticeCount": 0, + "hasAvailableSubscription": false, + "changelogLastFetched": 1771459754216, + "fallbackAvailableWarningThreshold": 0.2, + "hasIdeOnboardingBeenShown": { + "vscode": true + }, + "lastReleaseNotesSeen": "2.1.47", + "isQualifiedForDataSharing": false, + "hasIdeAutoConnectDialogBeenShown": true, + "shiftEnterKeyBindingInstalled": true, + "hasUsedBackslashReturn": true, + "s1mAccessCache": { + "57783733-6e1e-48d5-9cb7-fa588a77b795": { + "hasAccess": false, + "hasAccessNotAsDefault": false, + "timestamp": 1771348865231 + }, + "6e3a13d6-2c72-468b-9ee9-b1d8f4711050": { + "hasAccess": false, + "hasAccessNotAsDefault": false, + "timestamp": 1761607064229 + } + }, + "hasOpusPlanDefault": false, + "lastPlanModeUse": 1771532414321, + "feedbackSurveyState": { + "lastShownTime": 1771451253831 + }, + "sonnet45MigrationComplete": true, + "claudeCodeFirstTokenDate": "2025-07-09T18:28:23.685647Z", + "mcpServers": { + "cognitive-memory": { + "command": "python3", + "args": [ + "/home/cal/.claude/skills/cognitive-memory/mcp_server.py" + ] + } + }, + "s1mNonSubscriberAccessCache": { + "fda1c56e-6b2f-4c2d-94f2-636cf90ad0f2": { + "hasAccess": false, + "timestamp": 1760119775598 + } + }, + "anonymousId": "claudecode.v1.52e3466d-bbf3-4c64-9a28-5c45f8698705", + "autoUpdatesProtectedForNative": true, + "githubRepoPaths": { + "calcorum/strat-gameplay-webapp": [ + "/mnt/NV2/Development/strat-gameplay-webapp" + ], + "calcorum/claude-home": [ + "/mnt/NV2/Development/claude-home" + ], + "calcorum/efd-trading-card-mod": [ + "/mnt/NV2/Development/efd-trading-card-base" + ], + "calcorum/paper-dynasty-card-creation": [ + "/mnt/NV2/Development/paper-dynasty/card-creation" + ], + "calcorum/paper-dynasty": [ + "/mnt/NV2/Development/paper-dynasty/discord-app" + ], + "calcorum/major-domo-v2": [ + "/mnt/NV2/Development/major-domo/discord-app-v2" + ], + "pgiro/sba": [ + "/mnt/NV2/Development/major-domo/sba-website" + ], + "calcorum/major-domo-database": [ + "/mnt/NV2/Development/major-domo/database" + ], + "calcorum/major-domo": [ + "/mnt/NV2/Development/major-domo/discord-app" + ], + "calcorum/vagabond-rpg-foundryvtt": [ + "/mnt/NV2/Development/vagabond-rpg-foundryvtt" + ], + "calcorum/paper-dynasty-database": [ + "/mnt/NV2/Development/paper-dynasty/database" + ], + "calcorum/voice-server": [ + "/mnt/NV2/Development/voice-server" + ], + "calcorum/openscad-models": [ + "/mnt/NV2/Development/openscad-models" + ], + "calcorum/mantimon-tcg": [ + "/mnt/NV2/Development/mantimon-tcg/backend", + "/mnt/NV2/Development/mantimon-tcg" + ], + "calcorum/sba-desktop": [ + "/mnt/NV2/Development/sba-scouting" + ] + }, + "passesEligibilityCache": { + "57783733-6e1e-48d5-9cb7-fa588a77b795": { + "eligible": true, + "referral_code_details": { + "code": "0uKnnMABqw", + "campaign": "claude_code_guest_pass_a47c", + "referral_link": "https://claude.ai/referral/0uKnnMABqw" + }, + "referrer_reward": { + "amount_minor_units": 1000, + "currency": "USD" + }, + "remaining_passes": 3, + "timestamp": 1771535572741 + } + }, + "opus45MigrationComplete": true, + "hasShownOpus45Notice": { + "57783733-6e1e-48d5-9cb7-fa588a77b795": true + }, + "officialMarketplaceAutoInstallAttempted": true, + "officialMarketplaceAutoInstalled": true, + "passesUpsellSeenCount": 3, + "thinkingMigrationComplete": true, + "groveConfigCache": { + "d6d0ffd3-ed66-4eba-9bd4-df8e2dbfc9e2": { + "grove_enabled": true, + "timestamp": 1771521871454 + } + }, + "skillUsage": { + "major-domo": { + "usageCount": 12, + "lastUsedAt": 1771288623314 + }, + "paper-dynasty": { + "usageCount": 12, + "lastUsedAt": 1771271707830 + }, + "project-plan": { + "usageCount": 4, + "lastUsedAt": 1771003578568 + }, + "init": { + "usageCount": 2, + "lastUsedAt": 1771018292259 + }, + "code-audit": { + "usageCount": 7, + "lastUsedAt": 1769840317637 + }, + "backend-phase": { + "usageCount": 11, + "lastUsedAt": 1769790071034 + }, + "frontend-code-audit": { + "usageCount": 6, + "lastUsedAt": 1769842017496 + }, + "frontend-phase": { + "usageCount": 24, + "lastUsedAt": 1769843259171 + }, + "dev-server": { + "usageCount": 2, + "lastUsedAt": 1769836015719 + }, + "deploy": { + "usageCount": 7, + "lastUsedAt": 1770216426722 + }, + "proxmox": { + "usageCount": 7, + "lastUsedAt": 1770999577744 + }, + "notediscovery": { + "usageCount": 2, + "lastUsedAt": 1771259103802 + }, + "create-skill": { + "usageCount": 1, + "lastUsedAt": 1770839993137 + }, + "backlog": { + "usageCount": 4, + "lastUsedAt": 1770912327282 + }, + "keybindings-help": { + "usageCount": 1, + "lastUsedAt": 1770855574743 + }, + "insights": { + "usageCount": 1, + "lastUsedAt": 1770959377885 + }, + "sync-config": { + "usageCount": 19, + "lastUsedAt": 1771530471038 + }, + "claude-optimised": { + "usageCount": 4, + "lastUsedAt": 1771363169937 + }, + "optimise-claude": { + "usageCount": 2, + "lastUsedAt": 1771199427014 + }, + "cognitive-memory": { + "usageCount": 32, + "lastUsedAt": 1771528594878 + }, + "commit-push": { + "usageCount": 17, + "lastUsedAt": 1771537208260 + }, + "check-rarity": { + "usageCount": 1, + "lastUsedAt": 1771203408892 + }, + "commit-commands:commit": { + "usageCount": 1, + "lastUsedAt": 1771364503659 + }, + "commit-push-pr": { + "usageCount": 2, + "lastUsedAt": 1771371630347 + }, + "mcp-manager": { + "usageCount": 3, + "lastUsedAt": 1771450174507 + }, + "orchestrator": { + "usageCount": 3, + "lastUsedAt": 1771451706040 + }, + "claude-automation-recommender": { + "usageCount": 1, + "lastUsedAt": 1771474474878 + }, + "bmad-qa": { + "usageCount": 1, + "lastUsedAt": 1771536951910 + } + }, + "opusProMigrationComplete": true, + "cachedChromeExtensionInstalled": true, + "hasVisitedPasses": true, + "passesLastSeenRemaining": 3, + "clientDataCache": { + "data": {}, + "timestamp": 1771538181050 + }, + "hasShownOpus46Notice": { + "57783733-6e1e-48d5-9cb7-fa588a77b795": true + }, + "hasVisitedExtraUsage": true, + "penguinModeOrgEnabled": true, + "opus46FeedSeenCount": 3, + "showSpinnerTree": false, + "oauthAccount": { + "accountUuid": "d6d0ffd3-ed66-4eba-9bd4-df8e2dbfc9e2", + "emailAddress": "cal.corum@gmail.com", + "organizationUuid": "57783733-6e1e-48d5-9cb7-fa588a77b795", + "hasExtraUsageEnabled": true, + "billingType": "stripe_subscription", + "accountCreatedAt": "2025-07-08T23:36:22.848806Z", + "subscriptionCreatedAt": "2025-07-09T18:05:03.049049Z", + "displayName": "Cal" + }, + "effortCalloutDismissed": true, + "sonnet1m45MigrationComplete": true, + "cachedExtraUsageDisabledReason": "org_level_disabled_until", + "birthdayHatAnimationCount": 3 +} \ No newline at end of file diff --git a/plugins/blocklist.json b/plugins/blocklist.json index 4b8d3ec..703aaf5 100644 --- a/plugins/blocklist.json +++ b/plugins/blocklist.json @@ -1,5 +1,5 @@ { - "fetchedAt": "2026-02-19T19:47:49.668Z", + "fetchedAt": "2026-02-19T21:12:52.014Z", "plugins": [ { "plugin": "code-review@claude-plugins-official", diff --git a/plugins/known_marketplaces.json b/plugins/known_marketplaces.json index 27d1ee0..f922767 100644 --- a/plugins/known_marketplaces.json +++ b/plugins/known_marketplaces.json @@ -13,6 +13,6 @@ "repo": "anthropics/claude-code" }, "installLocation": "/home/cal/.claude/plugins/marketplaces/claude-code-plugins", - "lastUpdated": "2026-02-19T19:47:51.730Z" + "lastUpdated": "2026-02-19T21:13:33.303Z" } } \ No newline at end of file diff --git a/settings.json b/settings.json index 2fdfddb..a8db158 100644 --- a/settings.json +++ b/settings.json @@ -54,7 +54,8 @@ "mcp__notediscovery__get_notes_by_tag", "mcp__memorygraph__*", "mcp__memorygraph__get_memory", - "Skill(notediscovery)" + "Skill(notediscovery)", + "mcp__cognitive-memory__*" ], "deny": [ "Bash(diskutil partitionDisk)", @@ -115,7 +116,7 @@ "hooks": [ { "type": "command", - "command": "/usr/bin/python3 /home/cal/.claude/scripts/session-memory/session_memory.py", + "command": "/usr/bin/python3 /home/cal/.claude/skills/cognitive-memory/scripts/session_memory.py", "timeout": 15 } ] diff --git a/skills/cognitive-memory/SKILL.md b/skills/cognitive-memory/SKILL.md index e2aeb6e..c5dc88a 100644 --- a/skills/cognitive-memory/SKILL.md +++ b/skills/cognitive-memory/SKILL.md @@ -56,8 +56,10 @@ All commands support `--help` for full argument details. Key non-obvious feature # --episode flag auto-logs a session entry when storing claude-memory store --type solution --title "Fixed X" --content "..." --tags "t1,t2" --episode -# --semantic merges keyword + Ollama embedding results (run embed first) -claude-memory recall "timeout error" --semantic +# recall uses semantic+keyword merge by default (when embeddings exist) +claude-memory recall "timeout error" +# use --no-semantic for keyword-only (faster, ~3ms vs ~200ms) +claude-memory recall "timeout error" --no-semantic # procedure type takes structured steps/preconditions/postconditions claude-memory procedure --title "Deploy flow" --content "..." \ @@ -99,7 +101,29 @@ claude-memory tags suggest | 0.5-0.7 | Standard - useful pattern or solution | | 0.3-0.4 | Minor - nice-to-know, edge cases | -## Directory Structure +## Skill Directory Structure + +``` +~/.claude/skills/cognitive-memory/ +├── client.py # Core API + CLI entrypoint +├── mcp_server.py # MCP server for Claude Code tools +├── SKILL.md # This file +├── SCHEMA.md # Format reference for all file types +├── feature.json # Skill manifest +├── scripts/ +│ ├── session_memory.py # SessionEnd hook — auto-stores session learnings +│ └── ensure-symlinks.sh # Refreshes MEMORY.md symlinks to CORE.md +├── systemd/ +│ ├── README.md # Install instructions for timers +│ ├── cognitive-memory-daily.* # Daily: decay, core, symlinks +│ ├── cognitive-memory-embed.* # Hourly: refresh embeddings +│ └── cognitive-memory-weekly.* # Weekly: reflection cycle +└── dev/ + ├── PROJECT_PLAN.json # Development roadmap + └── migrate.py # One-time MemoryGraph migration +``` + +## Data Directory Structure ``` ~/.claude/memory/ @@ -185,8 +209,10 @@ claude-memory store --type decision \ # First-time setup: generate embeddings (requires Ollama + nomic-embed-text) claude-memory embed -# Recall with semantic search (merges keyword + embedding results) -claude-memory recall "authentication timeout" --semantic +# Recall uses semantic+keyword merge by default +claude-memory recall "authentication timeout" +# Use --no-semantic for keyword-only +claude-memory recall "authentication timeout" --no-semantic ``` ### 5. Store a Procedure @@ -256,7 +282,7 @@ Auto-generated summary of memory themes, cross-project patterns, and access stat ## Semantic Search -Requires Ollama running locally with the `nomic-embed-text` model. Generate embeddings with `claude-memory embed`, then use `--semantic` flag on recall to merge keyword and embedding-based results. Semantic search provides deeper matching beyond exact title/tag keywords - useful for finding conceptually related memories even when different terminology was used. +Requires Ollama running locally with the `nomic-embed-text` model. Generate embeddings with `claude-memory embed`. Recall uses semantic+keyword merge by default when embeddings exist (~200ms with warm cache). Use `--no-semantic` for keyword-only (~3ms). Embeddings are cached in memory (mtime-based invalidation) so repeated recalls avoid re-parsing the 24MB embeddings file. Semantic search provides deeper matching beyond exact title/tag keywords - useful for finding conceptually related memories even when different terminology was used. ## MCP Server @@ -315,7 +341,7 @@ This skill should be used proactively when: 4. **Pattern discovered** - Store for future recall 5. **Configuration worked** - Store what worked and why 6. **Troubleshooting complete** - Store what was tried, what worked -7. **Session start** - CORE.md auto-loads via MEMORY.md symlinks; read REFLECTION.md for theme context, then recall relevant memories (use `--semantic` for deeper matching) +7. **Session start** - CORE.md auto-loads via MEMORY.md symlinks; read REFLECTION.md for theme context, then recall relevant memories (semantic is on by default) 8. **Multi-step workflow documented** - Use `procedure` type with structured steps/preconditions/postconditions 9. **Periodically** - Run `reflect` to cluster memories and surface cross-cutting insights. Run `tags suggest` to find missing tag connections 10. **After adding memories** - Run `embed` to refresh semantic search index diff --git a/skills/cognitive-memory/client.py b/skills/cognitive-memory/client.py index 84838b0..a4636c1 100644 --- a/skills/cognitive-memory/client.py +++ b/skills/cognitive-memory/client.py @@ -553,6 +553,8 @@ class CognitiveMemoryClient: self.memory_dir = memory_dir or MEMORY_DIR self.index_path = self.memory_dir / "_index.json" self.state_path = self.memory_dir / "_state.json" + self._embeddings_cache: Optional[Dict] = None + self._embeddings_mtime: float = 0.0 self._ensure_dirs() def _ensure_dirs(self): @@ -563,6 +565,32 @@ class CognitiveMemoryClient: (self.memory_dir / "episodes").mkdir(parents=True, exist_ok=True) (self.memory_dir / "vault").mkdir(parents=True, exist_ok=True) + def _load_embeddings_cached(self) -> Optional[Dict]: + """Load _embeddings.json with mtime-based caching. + + Returns the parsed dict, or None if the file doesn't exist or fails to parse. + Only re-reads from disk when the file's mtime has changed. + """ + embeddings_path = self.memory_dir / "_embeddings.json" + if not embeddings_path.exists(): + return None + try: + current_mtime = embeddings_path.stat().st_mtime + except OSError: + return None + if ( + self._embeddings_cache is not None + and current_mtime == self._embeddings_mtime + ): + return self._embeddings_cache + try: + data = json.loads(embeddings_path.read_text()) + self._embeddings_cache = data + self._embeddings_mtime = current_mtime + return data + except (json.JSONDecodeError, OSError): + return None + # ------------------------------------------------------------------------- # Index and State management # ------------------------------------------------------------------------- @@ -877,7 +905,7 @@ class CognitiveMemoryClient: query: str, memory_types: Optional[List[str]] = None, limit: int = 10, - semantic: bool = False, + semantic: bool = True, ) -> List[Dict[str, Any]]: """Search memories by query, ranked by relevance and decay score. @@ -941,57 +969,55 @@ class CognitiveMemoryClient: results.sort(key=lambda x: x.pop("_score", 0), reverse=True) keyword_results = results[:limit] - # Merge with semantic results if requested - # Weights: semantic 60%, keyword 40% (--semantic signals intent for - # conceptual matching; keyword acts as precision boost for exact terms) + # Merge with semantic results (on by default) + # Weights: semantic 60%, keyword 40% + # Conceptual matching dominates; keyword acts as precision boost for exact terms if semantic: - embeddings_path = self.memory_dir / "_embeddings.json" - if embeddings_path.exists(): - sem_results = self.semantic_recall(query, limit=limit) - if sem_results: - score_map: Dict[str, float] = {} - result_map: Dict[str, Dict] = {} + sem_results = self.semantic_recall(query, limit=limit) + if sem_results: + score_map: Dict[str, float] = {} + result_map: Dict[str, Dict] = {} - # Keyword: normalize rank to 0-1 (rank 1 = 1.0, last = ~0.1) - kw_weight = 0.4 - for i, r in enumerate(keyword_results): - mid = r["id"] - normalized = (limit - i) / limit - score_map[mid] = normalized * kw_weight - result_map[mid] = r + # Keyword: normalize rank to 0-1 (rank 1 = 1.0, last = ~0.1) + kw_weight = 0.4 + for i, r in enumerate(keyword_results): + mid = r["id"] + normalized = (limit - i) / limit + score_map[mid] = normalized * kw_weight + result_map[mid] = r - # Semantic: similarity is already 0-1 - sem_weight = 0.6 - for r in sem_results: - mid = r["id"] - sim = r.get("similarity", 0.0) - sem_score = sim * sem_weight - if mid in score_map: - score_map[mid] += sem_score - result_map[mid]["similarity"] = sim - else: - score_map[mid] = sem_score - idx_entry = index.get("entries", {}).get(mid, {}) - s = state.get("entries", {}).get(mid, {}) - result_map[mid] = { - "id": mid, - "type": r.get("type"), - "title": r.get("title"), - "tags": r.get("tags", []), - "importance": idx_entry.get("importance"), - "decay_score": round(s.get("decay_score", 0.5), 3), - "similarity": sim, - "path": r.get("path"), - "created": idx_entry.get("created"), - } + # Semantic: similarity is already 0-1 + sem_weight = 0.6 + for r in sem_results: + mid = r["id"] + sim = r.get("similarity", 0.0) + sem_score = sim * sem_weight + if mid in score_map: + score_map[mid] += sem_score + result_map[mid]["similarity"] = sim + else: + score_map[mid] = sem_score + idx_entry = index.get("entries", {}).get(mid, {}) + s = state.get("entries", {}).get(mid, {}) + result_map[mid] = { + "id": mid, + "type": r.get("type"), + "title": r.get("title"), + "tags": r.get("tags", []), + "importance": idx_entry.get("importance"), + "decay_score": round(s.get("decay_score", 0.5), 3), + "similarity": sim, + "path": r.get("path"), + "created": idx_entry.get("created"), + } - # Sort by merged score - merged = sorted( - result_map.values(), - key=lambda x: score_map.get(x["id"], 0), - reverse=True, - ) - return merged[:limit] + # Sort by merged score + merged = sorted( + result_map.values(), + key=lambda x: score_map.get(x["id"], 0), + reverse=True, + ) + return merged[:limit] return keyword_results @@ -2181,13 +2207,8 @@ class CognitiveMemoryClient: Uses the same provider that generated stored embeddings to embed the query. Skips vectors with dimension mismatch as safety guard. """ - embeddings_path = self.memory_dir / "_embeddings.json" - if not embeddings_path.exists(): - return [] - - try: - emb_data = json.loads(embeddings_path.read_text()) - except (json.JSONDecodeError, OSError): + emb_data = self._load_embeddings_cached() + if emb_data is None: return [] stored = emb_data.get("entries", {}) @@ -2831,10 +2852,10 @@ def main(): sp.add_argument("--types", help="Comma-separated memory types") sp.add_argument("--limit", "-n", type=int, default=10, help="Max results") sp.add_argument( - "--semantic", + "--no-semantic", action="store_true", default=False, - help="Also use embedding similarity (requires embed first)", + help="Disable semantic search (keyword-only, faster)", ) # get @@ -3041,7 +3062,10 @@ def main(): elif args.command == "recall": types = [t.strip() for t in args.types.split(",")] if args.types else None result = client.recall( - args.query, memory_types=types, limit=args.limit, semantic=args.semantic + args.query, + memory_types=types, + limit=args.limit, + semantic=not args.no_semantic, ) elif args.command == "get": diff --git a/skills/cognitive-memory/PROJECT_PLAN.json b/skills/cognitive-memory/dev/PROJECT_PLAN.json similarity index 100% rename from skills/cognitive-memory/PROJECT_PLAN.json rename to skills/cognitive-memory/dev/PROJECT_PLAN.json diff --git a/skills/cognitive-memory/migrate.py b/skills/cognitive-memory/dev/migrate.py similarity index 100% rename from skills/cognitive-memory/migrate.py rename to skills/cognitive-memory/dev/migrate.py diff --git a/skills/cognitive-memory/feature.json b/skills/cognitive-memory/feature.json index d912aab..6de2980 100644 --- a/skills/cognitive-memory/feature.json +++ b/skills/cognitive-memory/feature.json @@ -7,9 +7,14 @@ "status": "active", "files": { "client.py": "CLI and Python API for all memory operations", - "migrate.py": "One-time migration from MemoryGraph SQLite", + "mcp_server.py": "MCP server for Claude Code tool integration", "SKILL.md": "Skill documentation and activation triggers", - "SCHEMA.md": "Format documentation for all file types" + "SCHEMA.md": "Format documentation for all file types", + "scripts/session_memory.py": "SessionEnd hook — auto-stores session learnings", + "scripts/ensure-symlinks.sh": "Refreshes MEMORY.md symlinks to CORE.md", + "systemd/": "Reference copies of systemd user timers (see systemd/README.md)", + "dev/migrate.py": "One-time migration from MemoryGraph SQLite", + "dev/PROJECT_PLAN.json": "Development roadmap and task tracking" }, "data_location": "~/.claude/memory/", "dependencies": "stdlib-only (no external packages; Ollama optional for semantic search)", diff --git a/skills/cognitive-memory/mcp_server.py b/skills/cognitive-memory/mcp_server.py index 06bdc1f..30e167d 100644 --- a/skills/cognitive-memory/mcp_server.py +++ b/skills/cognitive-memory/mcp_server.py @@ -64,7 +64,7 @@ def create_tools() -> list: "name": "memory_recall", "description": ( "Search memories by a natural language query, ranked by relevance and decay score. " - "Set semantic=true to merge keyword results with vector similarity when embeddings exist." + "Semantic search is enabled by default when embeddings exist. Set semantic=false for keyword-only." ), "inputSchema": { "type": "object", @@ -75,7 +75,7 @@ def create_tools() -> list: }, "semantic": { "type": "boolean", - "description": "Merge with semantic/vector similarity search (requires embeddings, default false)", + "description": "Merge with semantic/vector similarity search (requires embeddings, default true)", }, "limit": { "type": "integer", @@ -442,7 +442,7 @@ def handle_tool_call( elif tool_name == "memory_recall": results = client.recall( query=arguments["query"], - semantic=arguments.get("semantic", False), + semantic=arguments.get("semantic", True), limit=arguments.get("limit", 10), ) return ok(results) diff --git a/skills/cognitive-memory/scripts/ensure-symlinks.sh b/skills/cognitive-memory/scripts/ensure-symlinks.sh new file mode 100755 index 0000000..a90bad5 --- /dev/null +++ b/skills/cognitive-memory/scripts/ensure-symlinks.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# Ensure all Claude Code project MEMORY.md files symlink to cognitive memory CORE.md +# This makes CORE.md auto-load into every session's system prompt. +# Run by cognitive-memory-daily.service or manually. + +CORE="/home/cal/.claude/memory/CORE.md" +PROJECTS="/home/cal/.claude/projects" + +if [ ! -f "$CORE" ]; then + echo "ERROR: CORE.md not found at $CORE" + exit 1 +fi + +for dir in "$PROJECTS"/*/; do + memdir="$dir/memory" + memfile="$memdir/MEMORY.md" + mkdir -p "$memdir" + # Only create/fix symlink if it doesn't already point to CORE.md + if [ -L "$memfile" ] && [ "$(readlink "$memfile")" = "$CORE" ]; then + continue + fi + # Remove existing file (regular file or broken symlink) + rm -f "$memfile" + ln -s "$CORE" "$memfile" + echo "Linked: $memfile" +done diff --git a/scripts/session-memory/session_memory.py b/skills/cognitive-memory/scripts/session_memory.py similarity index 92% rename from scripts/session-memory/session_memory.py rename to skills/cognitive-memory/scripts/session_memory.py index 70ff36d..32cf86e 100755 --- a/scripts/session-memory/session_memory.py +++ b/skills/cognitive-memory/scripts/session_memory.py @@ -109,15 +109,38 @@ def read_transcript(transcript_path: str) -> list[dict]: return messages +def _is_memory_tool_use(block: dict) -> str | None: + """Check if a tool_use block is a memory operation. + + Detects both CLI calls (Bash with 'claude-memory') and MCP tool calls + (mcp__cognitive-memory__memory_*). Returns a short description of the + match or None. + """ + name = block.get("name", "") + + # MCP tool calls: mcp__cognitive-memory__memory_store, memory_recall, etc. + if name.startswith("mcp__cognitive-memory__memory_"): + return f"MCP:{name}" + + # Legacy/CLI: Bash commands containing 'claude-memory' + if name == "Bash": + cmd = block.get("input", {}).get("command", "") + if "claude-memory" in cmd: + return f"CLI:{cmd[:100]}" + + return None + + def find_last_memory_command_index(messages: list[dict]) -> int: - """Find the index of the last message containing a claude-memory command. + """Find the index of the last message containing a memory operation. - Scans for Bash tool_use blocks where the command contains 'claude-memory' - (store, recall, episode, etc). Returns the index of that message so we can - slice the transcript to only process messages after the last memory operation, - avoiding duplicate storage. + Scans for both MCP tool calls (mcp__cognitive-memory__memory_*) and + Bash tool_use blocks where the command contains 'claude-memory'. + Returns the index of that message so we can slice the transcript to + only process messages after the last memory operation, avoiding + duplicate storage. - Returns -1 if no claude-memory commands were found. + Returns -1 if no memory operations were found. """ last_index = -1 found_commands = [] @@ -132,19 +155,17 @@ def find_last_memory_command_index(messages: list[dict]) -> int: continue if block.get("type") != "tool_use": continue - if block.get("name") != "Bash": - continue - cmd = block.get("input", {}).get("command", "") - if "claude-memory" in cmd: + match = _is_memory_tool_use(block) + if match: last_index = i - found_commands.append(f"msg[{i}]: {cmd[:100]}") + found_commands.append(f"msg[{i}]: {match}") if found_commands: - log(f"[cutoff] Found {len(found_commands)} claude-memory commands:") + log(f"[cutoff] Found {len(found_commands)} memory operations:") for fc in found_commands: log(f"[cutoff] {fc}") log(f"[cutoff] Will slice after message index {last_index}") else: - log("[cutoff] No claude-memory commands found — processing full transcript") + log("[cutoff] No memory operations found — processing full transcript") return last_index diff --git a/skills/cognitive-memory/systemd/README.md b/skills/cognitive-memory/systemd/README.md new file mode 100644 index 0000000..349f642 --- /dev/null +++ b/skills/cognitive-memory/systemd/README.md @@ -0,0 +1,34 @@ +# Cognitive Memory Systemd Timers + +Reference copies of the systemd user units that automate memory maintenance. + +## Services + +| Unit | Schedule | What it does | +|------|----------|-------------| +| `cognitive-memory-daily` | daily | Decay scores, regenerate CORE.md, refresh MEMORY.md symlinks | +| `cognitive-memory-embed` | hourly | Refresh embeddings (skips if unchanged) | +| `cognitive-memory-weekly` | weekly | Run reflection cycle | + +## Install / Update + +```bash +# Copy units into place +cp ~/.claude/skills/cognitive-memory/systemd/*.service \ + ~/.claude/skills/cognitive-memory/systemd/*.timer \ + ~/.config/systemd/user/ + +# Reload and enable +systemctl --user daemon-reload +systemctl --user enable --now cognitive-memory-daily.timer +systemctl --user enable --now cognitive-memory-embed.timer +systemctl --user enable --now cognitive-memory-weekly.timer +``` + +## Verify + +```bash +systemctl --user list-timers 'cognitive-memory-*' +systemctl --user start cognitive-memory-daily.service # manual test run +journalctl --user -u cognitive-memory-daily.service --since today +``` diff --git a/skills/cognitive-memory/systemd/cognitive-memory-daily.service b/skills/cognitive-memory/systemd/cognitive-memory-daily.service new file mode 100644 index 0000000..3b230b1 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-daily.service @@ -0,0 +1,6 @@ +[Unit] +Description=Cognitive Memory daily maintenance (decay, core, symlinks) + +[Service] +Type=oneshot +ExecStart=/bin/bash -c 'export PATH="/home/cal/.local/bin:$PATH" && /home/cal/.local/bin/claude-memory decay && /home/cal/.local/bin/claude-memory core && /home/cal/.local/bin/claude-memory-symlinks' diff --git a/skills/cognitive-memory/systemd/cognitive-memory-daily.timer b/skills/cognitive-memory/systemd/cognitive-memory-daily.timer new file mode 100644 index 0000000..21d12e6 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-daily.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Run cognitive memory daily maintenance + +[Timer] +OnCalendar=daily +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/skills/cognitive-memory/systemd/cognitive-memory-embed.service b/skills/cognitive-memory/systemd/cognitive-memory-embed.service new file mode 100644 index 0000000..a2d8fb1 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-embed.service @@ -0,0 +1,6 @@ +[Unit] +Description=Cognitive Memory hourly embedding refresh (skips if unchanged) + +[Service] +Type=oneshot +ExecStart=/bin/bash -c 'export PATH="/home/cal/.local/bin:$PATH" && /home/cal/.local/bin/claude-memory embed --if-changed' diff --git a/skills/cognitive-memory/systemd/cognitive-memory-embed.timer b/skills/cognitive-memory/systemd/cognitive-memory-embed.timer new file mode 100644 index 0000000..c6bf5b8 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-embed.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Run cognitive memory embedding refresh hourly + +[Timer] +OnCalendar=hourly +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/skills/cognitive-memory/systemd/cognitive-memory-weekly.service b/skills/cognitive-memory/systemd/cognitive-memory-weekly.service new file mode 100644 index 0000000..eecd737 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-weekly.service @@ -0,0 +1,6 @@ +[Unit] +Description=Cognitive Memory weekly reflection + +[Service] +Type=oneshot +ExecStart=/home/cal/.local/bin/claude-memory reflect diff --git a/skills/cognitive-memory/systemd/cognitive-memory-weekly.timer b/skills/cognitive-memory/systemd/cognitive-memory-weekly.timer new file mode 100644 index 0000000..eb4d221 --- /dev/null +++ b/skills/cognitive-memory/systemd/cognitive-memory-weekly.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Run cognitive memory weekly reflection + +[Timer] +OnCalendar=weekly +Persistent=true + +[Install] +WantedBy=timers.target