You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit df9c083
Browse filesBrowse the repository at this point in the historyBrowse files
Ruby raises ArgumentError when observe or on has no block. JavaScript
accepted a missing onEvent, then logged a TypeError for each event.
Reject the call with TypeError before authorization, as Ruby does.
Port the Ruby tests for the 1,000-observer limit and for observer
removal on close. Each test failed when its guard was removed.
Document both observer errors, the setup sample for each runtime, and
the new activation event order. Remove the delivered observability
section from the roadmap.
Copy file name to clipboardExpand all lines: docs/parity.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,7 @@ Ruby publishes RBS contracts with native Ruby field names; this does not change
89
89
| CLI | Native | The packaged executable loads an application runtime and exposes start, diagnostics, processes, dead letters, reminders, and explicit retention pruning as JSON. |
90
90
| Operator dashboard | Native | Fetch and Node/Connect mounting, authorized views and actions, CSRF, filtering, paging, charts, and extensions match the Rack dashboard. Both dashboards expose individual retries and pause/resume; bulk redrive is available through the administration APIs. Pause does not interrupt an in-flight turn. |
91
91
| Bulk redrive and administration audit | Native | Message, effect, and broadcast scopes support idempotent retry and durable, bounded, cancellable redrive. Retry and task transitions persist administration identity in audit rows. |
92
-
| Structured instrumentation | Native | Versioned portable events, metric samples, isolated observers, and bounded authorized actor diagnostics match Ruby. Both suites check SQL event attributes against `compatibility/telemetry-events.json`; only JS activation events add the message fields of their turn. Both runtimes log exporter and observer failures and accept at most 1,000 local observers. Timeout events share wait reasons, activation owner IDs, and string generations; see [observability](observability.md). Durable Objects uses host instrumentation and remote diagnostics, sends fewer event attributes, and does not send `sync.timeout`. |
92
+
| Structured instrumentation | Native | Versioned events, metric samples, isolated observers, and bounded authorized diagnostics match Ruby. Both test suites check SQL event attributes against `compatibility/telemetry-events.json`; only JS activation events add their turn's message fields. Both runtimes log exporter and observer failures, require observer callbacks, and cap local observers at 1,000. Timeout events share wait reasons, activation owner IDs, and string generations; see [observability](observability.md). Durable Objects uses host instrumentation and remote diagnostics, sends fewer attributes, and does not send `sync.timeout`. |
93
93
| Large committed state warning | Native |`warnStateBytes` reports one `solid_objects.state.large` event, holding the actor type, actor ID, byte count, and threshold, when a committed image passes a 128 KB soft threshold. The event holds no application state, and it reports after the commit. The Ruby gem carries the same event and the same 5 MB hard default from `0.14.3`, as `warn_state_bytes`. Its threshold defaults to 64 KB rather than 128 KB, because its measured curve falls sooner: it keeps 55% of its empty-state throughput at 13 KB, where this package keeps 98% at 16 KB. |
94
94
| Public test helper | Native |`runtime.testing` provides role-selective deterministic draining, explicit-time due-reminder execution, and dependency-ordered reset without relying on cascades. |
0 commit comments