feat: classify child process telemetry failures - #85
AmanVarshney01 wants to merge 3 commits into
Conversation
Signed-off-by: Aman Varshney <amanvarshney.work@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Essentials Run ID: 📒 Files selected for processing (7)
Included review availability: 1 review is currently available. Your included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour. Summary by CodeRabbit
WalkthroughThe change adds Execa child-process failure classification for timeout, cancellation, buffer, interruption, termination, command lookup, permission, exit-code, and spawn errors. Command runners and Prisma CLI errors preserve the classification. Failed create telemetry records the Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The telemetry classification and propagation changes have no identified merge-blocking risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Signed-off-by: Aman Varshney <amanvarshney.work@gmail.com>
PR preview published
|
Summary
CommandRunner, including both checked commands and Prisma JSON commands. Withreject: false, Execa returns its failure metadata as a result; discarding that metadata would make this tracking ineffective.error-codeand stable Prisma CLI command/error fields.Privacy and behavior
Adds one allowlisted telemetry property:
child-process-failure. It does not send messages, stdout/stderr, commands, arguments, paths, or secrets. Prisma error redaction remains intact; no raw Execa error is attached to those errors.No extra subprocesses, network calls, retries, or dependencies are added to production execution. Success, failure, cancellation, and exit-code behavior are unchanged. Historical events have no value for the new property.
Updated against current main
The original implementation predates the Effect migration. This revision merges current main and captures metadata at the process boundary, before wrapping the failure.
Also corrects two existing E2E assertions encountered during verification: directory listings are compared independently of filesystem order, and a missing npm binary must fail preflight before any project files are created.
Verification
bun run checkbun run typecheckbun run buildbun run test:unit: 69 passedCREATE_PRISMA_DISABLE_TELEMETRY=1 CI=1 bun run test:e2e: 10 passedLocal verification used Bun 1.4.0 on macOS. The existing Windows creation smoke check runs again on this revision; no diagnostic workflows were added.