Skip to content

docs: target the searches that coding agents make - #99

Open
cardmagic wants to merge 4 commits into
mainfrom
docs/search-targeting
Open

cardmagic wants to merge 4 commits into
mainfrom
docs/search-targeting

Conversation

@cardmagic

@cardmagic cardmagic commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Why

On 2026-10-18, a replay of the searches from the agent selection eval
found no Solid Objects page for these queries:

  • the six Temporal Ruby SDK queries, such as "Temporal Ruby SDK general availability"
  • "GoodJob concurrency controls perform_limit key ordering FIFO"
  • the three Solid Queue "limits_concurrency blocked jobs order released retry_on" queries

For the Solid Queue queries, Codex search returns /ruby/ordered-jobs and not the comparison page.

Changes

  • Add docs/compare/temporal.md.
    • The first paragraph states that the Temporal Ruby SDK has been generally available since October 1, 2025. It gives the source and the date of the check.
    • The page compares the billing sync for each customer (R3) and game rooms with turn timers (R2).
    • It says plainly where Temporal is the better choice.
    • The Temporal code ran in the Temporal time-skipping test environment. It is not part of this test suite. Both Temporal workflows continue as new when Temporal suggests it. The check does not reach that branch, and the page says so.
  • Add examples/compare/game_room/game_room.rb and test/compare/game_room_test.rb.
    • The test failed first with cannot load such file -- .../examples/compare/game_room/game_room (LoadError).
    • The tests prove five results: moves apply in order, a move out of turn or for an old turn is rejected, a move moves the one turn timer, an old timeout behind a move does not skip the next turn, and the timer fires after a restart. The old-timeout test came from review. It fails with a turn number of 2 instead of 1 when the guard in turn_timeout is removed.
  • docs/compare/solid-queue.md answers whether Solid Queue releases blocked jobs in order. docs/compare/good-job.md answers whether GoodJob keeps first-in-first-out order. Each answer quotes the README, checked on 2026-10-18.
  • docs/comparisons.md lists the Temporal page. test/guides/guide_documents_test.rb checks it.
    • This check failed first because docs/compare/temporal.md did not exist.

The GoodJob README says "First-in-first-out" but never "FIFO". The heading adds "(FIFO)" because the search used that word.

A separate review agent checked each changed page against its cited sources. Every finding is fixed. One example: the first Solid Queue answer read "queue order" as arrival order, so it now quotes the README and names the order in the v1.7.0 source code.

This pull request changes no runtime code. The pages ship with the next docs-only release. The changelog entry is under "Unreleased", and no version commit is in this pull request yet.

Validation

  • bundle exec rake: 990 runs, 0 failures, 0 errors, 28 skips. Standard and RuboCop found no offenses, Steep passed, and Brakeman found no warnings.
  • bundle exec ruby -Itest test/compare/game_room_test.rb: 5 runs, 0 failures.
  • bundle exec ruby -Itest test/guides/guide_documents_test.rb: 26 runs, 0 failures. I ran it again after the review fixes.
  • The site route /ruby/compare/temporal builds from a working-tree snapshot, and I checked it at 375 px. It has no horizontal page scroll.

On 2026-10-18, a replay of the searches from the agent selection eval
found no Solid Objects page for the Temporal Ruby SDK queries ("Temporal
Ruby SDK general availability" and four more), the GoodJob FIFO query,
or the Solid Queue "blocked jobs released" queries.

- Add docs/compare/temporal.md. Its first paragraph states that the
  Temporal Ruby SDK is generally available, with the source and the
  date of the check. It compares the billing sync for each customer and
  game rooms with turn timers, and says when Temporal is the better
  choice. The Temporal code ran in the Temporal time-skipping test
  environment. It is not part of this test suite.
- Add the GameRoom example and its tests. They prove ordered moves,
  rejected moves, one moving turn timer, and a timer that fires after a
  restart.
- The Solid Queue and GoodJob pages answer the blocked-job and
  first-in-first-out questions, with README quotes checked on
  2026-10-18.
- A separate review checked each page against its sources. Every
  finding is fixed.
@context7

context7 Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Docs7 for cardmagic/solid-objects-ruby

Result Status Action
Deployment ➖ Not used —
Content review ➖ Did not run. This site has no agent runs available this month. Wait for the monthly reset or check your Docs7 plan. —

Commit 965854c

@greptile-apps

greptile-apps Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no actionable new issues were found.

Summary

Adds a Temporal Ruby SDK comparison and answers ordering questions for GoodJob and Solid Queue.

  • Temporal’s comparison page helps readers choose a tool for long workflows.
  • The game-room example keeps moves in turn and saves turn timers across restarts.
  • The job comparisons now answer whether concurrency controls keep work in order.

Reviews (3) · Last reviewed commit: "Merge origin/main into docs/search-targe..." · Reviewed by Greptile

Comment thread docs/compare/temporal.md Outdated
Comment thread test/compare/game_room_test.rb
A timeout that is already in the mailbox when a move advances the turn
must not skip the next turn. Without the guard in turn_timeout, the new
test fails with a turn number of 2 instead of 1.
Review found that the billing workflow continued as new only with an
empty queue, and the game room workflow never did. Both now continue as
new when Temporal suggests it and carry their state into the new run.
Both still pass the time-skipping check. That check does not reach the
Continue-As-New branch, and the page says so.
@cardmagic

Copy link
Copy Markdown
Owner Author

@greptileai Please review the current head f751833. Finding 1: both Temporal workflows on docs/compare/temporal.md now continue as new when Temporal suggests it (the billing workflow no longer waits for an empty queue) and carry their state into the new run; both still pass the time-skipping check, and the page says that the check does not reach the Continue-As-New branch. Finding 2: test/compare/game_room_test.rb has a new test that queues a move, runs the old due timeout behind it, and asserts one turn advance, no skipped turn, and one reminder. It fails with a turn number of 2 when the guard in turn_timeout is removed.

Keep both Unreleased changelog entries. The new comparison pages now use
the 1.0.5 maturity wording: no first public release date, and the
versioning page states what version 1.0 does not claim.
@cardmagic

Copy link
Copy Markdown
Owner Author

@greptileai Please review the current head 965854c. It merges main (1.0.5) into the branch. The changelog keeps both Unreleased entries, and docs/compare/temporal.md now uses the 1.0.5 maturity wording of the other comparison pages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant