Skip to content

Add lightweight action trace artifacts#748

Merged
shaun0927 merged 1 commit into
developfrom
feat/744-action-trace
May 13, 2026
Merged

Add lightweight action trace artifacts#748
shaun0927 merged 1 commit into
developfrom
feat/744-action-trace

Conversation

@shaun0927
Copy link
Copy Markdown
Owner

Summary

  • Adds the 2026 OSS comparison/selection analysis.
  • Adds a dependency-free OpenSafari action trace JSON schema/writer.
  • Adds optional scenario-runner trace artifact emission for action-level live-validation evidence.

Closes #744.

Direction/scope review

  • Aligned with OpenSafari's direct iOS Safari/simulator automation: copies Playwright/OpenTelemetry-style evidence, not their runtime stacks.
  • Low risk: tracing is opt-in through TestScenario.tracePath; default scenario behavior is unchanged.
  • No heavy dependency added.

Verification

  • npm test -- --runTestsByPath tests/unit/action-trace.test.ts
  • npm run lint -- --quiet src/observability/action-trace.ts src/orchestration/scenario-runner.ts tests/unit/action-trace.test.ts

Live validation after merge

  • Run a failing scenario with tracePath and confirm the JSON records action, device, status, timeout/error, and artifact metadata.
  • Run without tracePath and confirm no trace artifact is emitted.

Constraint: Keep tracing dependency-free and opt-in so normal MCP automation behavior is unchanged.
Rejected: Adopt Playwright trace or OpenTelemetry SDK directly | too heavy for the first OpenSafari-native artifact contract.
Confidence: high
Scope-risk: narrow
Directive: Extend exporters only after the JSON schema proves useful in live simulator failures.
Tested: npm test -- --runTestsByPath tests/unit/action-trace.test.ts; npm run lint -- --quiet src/observability/action-trace.ts src/orchestration/scenario-runner.ts tests/unit/action-trace.test.ts
Not-tested: Live simulator trace artifact capture.
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