| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Greptile SummaryThe PR replaces positional actor transport selection with fluent operation dispatch and consistently renames persisted dispatch terminology.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
Sequence DiagramsequenceDiagram
participant Caller
participant Dispatcher as OperationDispatcher
participant Client
participant Mailbox
Caller->>Dispatcher: async/sync(options)
Caller->>Dispatcher: operation(arguments)
Dispatcher->>Dispatcher: Validate declared operation
Dispatcher->>Client: Dispatch operation and arguments
Client->>Mailbox: Enqueue with delivery mode
Mailbox-->>Client: Message reference/result
Client-->>Caller: Return configured outcome
Reviews (2): Last reviewed commit: "fix: harden fluent actor dispatch" | Re-trigger Greptile |
Sorry, something went wrong.
Reject operation names that collide with dispatcher methods so every declared operation is either callable or rejected at definition time.\n\nUse operation and delivery-mode terminology through persistence and make multi-argument internal APIs keyword-only for clearer call sites. Keep the original schema migration immutable and carry the column renames in a new migration.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Breaking change
The positional transport forms are removed. Use fluent selection:
Direct calls remain preferred when delivery defaults are sufficient.
Persisted dispatch vocabulary also changes:
Migration 20260813000000_rename_message_dispatch_columns.rb performs the reversible rename. Existing migrations are unchanged.
Correctness and security
TDD evidence
Before the fluent implementation, the focused suite reported 16 runs with 4 failures and 10 errors. Fluent selection failed with ArgumentError: wrong number of arguments (given 0, expected 1).
Before the collision fix, the focused suite reported 19 runs, 74 assertions, and 2 failures because conflicting operations such as class, send, and tap were accepted instead of raising SolidObjects::InvalidActor.
The completed focused suite reports 19 runs, 99 assertions, 0 failures, 0 errors, and 0 skips.
Validation
Final bundle exec rake result:
GitHub CI passed SQLite, PostgreSQL, MySQL with mysql2 and Trilogy, Redis, JavaScript, the Ruby/Rails compatibility matrix, static checks, and Greptile review.
The gem version is bumped to 0.12.0; no tag was created and no release was published.