Skip to content

Add TerraTraceKit product to TraceMacApp#2

Closed
christopherkarani wants to merge 3 commits into
mainfrom
macApp
Closed

Add TerraTraceKit product to TraceMacApp#2
christopherkarani wants to merge 3 commits into
mainfrom
macApp

Conversation

@christopherkarani

Copy link
Copy Markdown
Owner

Summary

  • resolve the missing TerraTraceKit package product for the mac app and sync project/workspace package files
  • refresh related app metadata (legal docs, signing, release scripts) and plan documentation to match the mac App updates
  • expand TraceMacApp source/tests coverage to reflect the new TraceKit-based features

Testing

  • Not run (not requested)

christopherkarani and others added 3 commits February 6, 2026 07:54
Bug fixes:
- BUG-1: Move trace loading off main thread with Task.detached
- BUG-2: Replace blocking waitUntilExit with async continuation
- BUG-3: Cache timeline layout computation outside draw(_:)
- BUG-4: Cache ISO8601DateFormatter as stored property
- BUG-5: Fix selectTrace to search filteredTraces, not all traces

Implementation gaps:
- GAP-1: Add App Sandbox entitlements for production readiness
- GAP-2: Add 5MB log rotation with 2 backup files
- GAP-3: Disable Privacy Policy/EULA/Updates menu items when unconfigured
- GAP-4: Add VoiceOver accessibility to TraceTimelineView
- GAP-8: Register explicit UserDefaults via register(defaults:)

Test coverage:
- TerraCoreMLTests (7 tests): compute unit mapping, attribute keys
- AppCoordinatorTests (14 tests): menu validation, license status
- AppLogTests (5 tests): file creation, tags, rotation
- AppSettingsTests (5 tests): defaults, round-trips
- SampleTracesTests (3 tests): file creation, JSON validity
- TraceDirectoryWatcherTests (4 tests): lifecycle, callbacks

All 81 tests pass (14 XCTest + 67 Swift Testing).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@christopherkarani

Copy link
Copy Markdown
Owner Author

Superseded by #15, which consolidates the still-valid changes from the current open PR set onto main and intentionally skips stale or conflicting churn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant