Skip to content

Commit e7b7ab7

Browse files
committed
docs: tighten the README prose
1 parent 63448d4 commit e7b7ab7

1 file changed

Lines changed: 6 additions & 12 deletions

File tree

README.md

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,13 @@ bundle exec solid_objects start
110110
```
111111

112112
Stop that process before the deadline and restart it afterwards. The reminder
113-
is still in the Rails database and runs when the process returns. We have given
114-
`self.available += 1` a supervisor and excellent posture.
113+
is still in the Rails database and runs when the process returns. The reminder survived the restart.
115114

116115
## Why this exists
117116

118117
The handwritten Rails version usually starts with `with_lock`. Then it gains an
119118
`expires_at` column, a cron job, an Active Job retry policy, and an Action Cable
120-
broadcast that must agree with the write. A small invariant has become a rich
121-
tapestry of callbacks and scheduled cleanup.
119+
broadcast that must agree with the write. A small invariant has spread across callbacks and scheduled cleanup.
122120

123121
This is complicated, hard to test, fragile and unnecessary.
124122

@@ -133,14 +131,12 @@ PostgreSQL, or MySQL. Redis and a separate actor service are not required.
133131
- Account, device, assessment, and approval workflows that survive deploys.
134132
- Reactive ERB views that must follow committed actor revisions.
135133

136-
Different identities can run concurrently. Put the whole application behind
137-
one actor ID and Rails will faithfully operate your new bottleneck.
134+
Different identities can run concurrently. One actor ID for the whole application is a bottleneck.
138135

139136
## When a transaction is better
140137

141138
Often. If the entire invariant fits inside one request, use `with_lock`, a
142-
database constraint, or a short transaction. A row lock does not need a
143-
personal brand, and it is usually the clearest answer.
139+
database constraint, or a short transaction. A row lock is usually the clearest answer.
144140

145141
Use Solid Objects when work must happen later, survive a restart, or stay
146142
ordered across several requests or jobs. A plain counter remains one line of
@@ -171,15 +167,13 @@ Exactly once is not hiding in a more advanced configuration. Read the
171167
- [Detailed documentation](docs/)
172168

173169
The dashboard, benchmarks, migration cookbook, schema, and exhaustive API
174-
explanations remain in `docs/`. The README is stopping before it develops a
175-
robust interplay with its own table of contents.
170+
explanations remain in `docs/`. The README stops here.
176171

177172
## Status and license
178173

179174
Solid Objects Ruby is a pre-1.0 early release. Its correctness core is tested
180175
against SQLite, PostgreSQL, and MySQL, but the project makes no production-ready
181-
claim. That requires more hardening and operational soak evidence. Pre-1.0 is
182-
not decorative punctuation.
176+
claim. That requires more hardening and operational soak evidence. Expect breaking changes.
183177

184178
Solid Objects is released under the [MIT License](MIT-LICENSE). It is an
185179
independent project and is not affiliated with, sponsored by, or endorsed by

0 commit comments

Comments
 (0)