test(apple): share trait classification fixtures with explicit provenance

Merged
TH
3d ago
+466-0

Summary

Add a shared named corpus for bridge and Limrun trait decisions, with per-producer applicability, captured-input versus synthetic-rule provenance, and precise tab/state facts. Keep existing focused tests and add nearby negatives.

Five fixture/test files changed; production and Swift are unchanged. The corpus pins producer rules and does not establish live XCTest parity. Closes #4052; part of #4045.

Validation

Head: 2fbcbb2a2ace613d9fbfe7e037bf6b051efd4066 (base 144bd59890).

  • Four focused suites: 103 tests passed. Source lint, typecheck and full-repository format passed.
  • Independent Sonnet review identified provenance, fact-label and test-granularity issues; all three were corrected.
  • Review follow-up restores both captured focus inputs to automation type 57; expected Map follows the bridge mapping, with focus retained and no synthetic text-input facts.
  • Current-head affected validation passed all runnable stages, including full unit. Receipt .tmp/validation/run-3UBw4O/receipt.json, exactCommit: true.
  • Native lanes are selected by the fixture prefix and skipped locally as GitHub-authoritative. Coverage and other skipped lanes remain CI obligations; no live or mutation proof is claimed.

Scope and correction evidence.