Skip to content

Update TraceMacApp build metadata and docs#7

Closed
christopherkarani wants to merge 5 commits into
mainfrom
codex/he
Closed

Update TraceMacApp build metadata and docs#7
christopherkarani wants to merge 5 commits into
mainfrom
codex/he

Conversation

@christopherkarani

Copy link
Copy Markdown
Owner

Summary

  • refresh workflow and release scripts plus package metadata for the TraceMacApp workspace
  • add and refine TraceMacApp documentation, plans, and legal text alongside app source updates
  • extend Terra/TerraTraceKit foundation files updated by the TraceMacApp work

Testing

  • Not run (not requested)

christopherkarani and others added 5 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>
…dings

SDK correctness:
- Fix race window in installOpenTelemetry where lock released before setup
  completes (H1) — use defer pattern to hold lock through entire setup
- Add same-config concurrent install test (H1)
- Add defer guard to Runtime.install() for future-proofing (M1→L)
- Fix @unchecked Sendable comment to accurately describe OTel SDK threading (L1)
- Add end-to-end privacy enforcement test (M4)

TraceMacApp features:
- Add "Export Selected/All Traces" commands with JSON export (H2)
- Add local OTLP/HTTP receiver on configurable port for network ingestion (H4)
- Add p50/p95/p99 latency percentiles to dashboard KPI cards (H3)
- Add trace retention policy with configurable TTL and auto-pruning (M5)

Test & CI improvements:
- Fix TerraMetricsTests false-positive — tests now verify behavior (M2)
- Fix TraceDirectoryWatcher flaky test via debounce injection (M3)
- Add CI API breaking changes check for SDK targets on PRs (L5)
- Add TerraTraceKit test suite (21 tests)

Code quality:
- Fix TraceDecoder error to include per-span failure context (L2)
- Replace Task.detached with Task(priority: .userInitiated) (L3)
- Split README into separate SDK vs TraceMacApp capability sections (M6)

All 81 tests pass. Build clean.

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