@@ -8,9 +8,9 @@ This is implemented by `ActiveSupport::ErrorReporter` and is intended to be
88** configured by the host application** (or an integration gem) to forward handled
99exceptions to a provider (Sentry, Bugsnag, Honeybadger, etc.).
1010
11- ## Verification status (WA-VERIFY-044 )
11+ ## Verification status (WA-VERIFY-114 )
1212
13- ** Status: ✅ Complete — implemented and compatible.**
13+ ** Status: ✅ Complete — audited and compatible.**
1414
1515Workarea implements ` Workarea::ErrorReporting ` as a thin wrapper around
1616` Rails.error.report ` . The wrapper is availability-guarded so it degrades
@@ -23,6 +23,23 @@ Workarea **does not ship with a bundled error reporting provider**.
2323Instead, Workarea relies on the host application to configure an error reporting
2424solution at the Rack / Rails level.
2525
26+ ## Audited integration points
27+
28+ The audit found a small, additive integration surface only:
29+
30+ - ` core/lib/workarea/error_reporting.rb ` provides ` Workarea::ErrorReporting ` , a
31+ compatibility wrapper around ` Rails.error.report ` .
32+ - ` core/lib/workarea/latest_version.rb ` ,
33+ ` core/lib/workarea/ping_home_base.rb ` , and
34+ ` core/app/models/workarea/checkout/fraud/analyzer.rb ` use that wrapper for
35+ handled exceptions that Workarea intentionally rescues.
36+ - ` storefront/app/controllers/workarea/storefront/errors_controller.rb ` sets
37+ ` request.env['rack.exception'] ` for 500 responses so Rack-level reporters can
38+ observe unhandled exceptions through the normal middleware path.
39+
40+ No additional ` ActiveSupport::ErrorReporter ` subscribers, custom Rails error
41+ reporter configuration, or provider-specific integrations are present in core.
42+
2643Examples:
2744
2845- Storefront error pages set ` request.env['rack.exception'] ` in
@@ -51,15 +68,23 @@ Host applications can configure Rails' error reporter via `config.error_reporter
5168
5269## Decision
5370
54- ** Adopted Rails 7.1's error reporting API as an additive, opt-in hook:**
71+ ** Rails 7.1's error reporting APIs do not introduce a compatibility break for
72+ Workarea internals or extension points.**
5573
5674- Workarea calls ` Rails.error.report ` ** only when available** .
5775- Workarea does not require any provider.
58- - Existing error handling continues to work unchanged.
76+ - Existing error handling and Rack-based reporting continue to work unchanged.
77+ - Extension points remain stable because host applications and plugins can opt
78+ into ` config.error_reporter ` without needing Workarea-specific changes.
5979
6080This is useful primarily for * handled/swallowed* exceptions where otherwise the
6181host app may never learn about the error.
6282
83+ ## Client impact
84+
85+ ** None expected.** Existing applications, plugins, and downstream integrations do
86+ not need code changes to remain compatible.
87+
6388## Verification commands
6489
6590``` bash
0 commit comments