Repository navigation
[SDTEST-3895] refactor: give every framework access to its platform - #163
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6be0856cd1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 6bdd748 | Docs | View more details | Give us feedback! |
There was a problem hiding this comment.
|
@autotest review |
There was a problem hiding this comment.
More details
Framework paths consistently obtain independent run and discovery environments from their retained platform while preserving explicit overrides; no reportable failure mode was identified.
🤖 Bits Code Review · Commit 6b37204 · @DataDog review to ask questions
|
@autotest review |
There was a problem hiding this comment.
More details
The platform handoff preserves explicit empty environment overrides and keeps file discovery independent of Ruby’s full-discovery tracer prerequisite. Runtime compatibility scenarios remain unverified.
🤖 Bits Code Review · Commit 5c98e72 · @DataDog review to ask questions
There was a problem hiding this comment.
More details
Targeted validation supports preservation of explicit environment overrides and framework-to-platform delegation. Runtime adapter integration remains unverified because its fixtures were not configured.
🤖 Bits Code Review · Commit 5c98e72 · @DataDog review to ask questions
29fc987 to
4b69fe7
Compare
E2E test report: no PR-specific regression foundTested by: Shepherd Agent (autonomous QA for Datadog Test Optimization)
Issues and verification limitsThe four Express failures are in An initial race-test process was terminated; the affected package passed on an isolated rerun, and the full race suite passed with package scheduling serialized ( Datadog EU HTTP acceptance was verified. The user confirmed testing is complete; UI visibility was not independently verified by the agent. The session above is under service MethodologyRefreshed the verification clone with Shepherd's synchronization workflow and tested an isolated checkout at the exact SHA. Executed the PR's manual scenarios, runtime compatibility fixtures, and instrumented Crook playground runs with debug logs and |
5c98e72 to
6bdd748
Compare
What
Rebased on
mainafter #169 merged. This refactor introduces no additional user-visible behavior changes.All nine frameworks retain their platform through the consumer-defined
framework.PlatformEnvironmentinterface and expose it throughPlatform(). Frameworks request runtime requirements and overrides; platforms prepare execution and discovery environments. Vitest requests ESM instrumentation, Mocha requests its adapter preload, and Cucumber supplies its discovery defaults. Environment methods return independent maps and preserve explicit overrides, including empty values.Ruby tracer detection/version validation and Node-options parsing move from
utilsto their owning platforms. Only Ruby full discovery requires a tracer check; file discovery and Python full discovery do not. The planner continues to delegate discovery to frameworks. Framework command syntax, discovery adapters/reporters, configuration, and result parsing remain in the framework package.Why
Frameworks need to access platform behaviour directly instead of relying on utils package as junk drawer