youNo SQL in handlers. Use the repository.
fixed after review…var r=n(381);const o=cfg.secrets.stripeKey;t.stripe=new r.default(o,{apiVersion:"2026-06-30"});var i=n(77),a=n(2)…
…var r=n(381);const o="sk_live_51Nw7Qx…E9kR";t.stripe=new r.default(o,{apiVersion:"2026-06-30"});var i=n(77),a=n(2)…
You wrote the same review comment last week and the week before. The agent agreed both times. Its next session starts with no memory of it.
You have had this argument three times. It was settled the first time.
youNo SQL in handlers. Use the repository.
fixed after reviewyouNo SQL in handlers. Use the repository.
same comment, againagentIt needs the same transaction.
youFine, merge it.
exception, lost in a threadtom-hMerged at 23:40. Nobody read it.
rule broken, unseenratsiaCharged: handlers-no-sql. Check failed.
agentIt needs the same transaction.
youConvicted. Use a repository method that takes a tx.
verdict by a judge · on recordratsiaNo charge.
no chargeagentSame transaction, passed in as tx.
no chargetom-hMerged at 23:40. Nothing to read.
no chargeMaybe it does. To know, you open the PR, find the file, follow the call and check. Or a teammate merges it at 23:40 without looking.
Some invoices end up a cent off, and nobody knows since when.
billing/proration.ts multiplies a float price by a day ratio and stores the result without rounding to cents.
The value is rounded to cents when the invoice is built.
Rounding later means storing a float now. Store cents.
Agents push, comment and merge with the same GitHub login as you. Afterwards nothing in the history says whether a person decided.
“Approved by you” no longer means you approved it.
An agent can push, comment and dispute as you. It cannot give a verdict: only a judge signed in to Ratsia can.
Ratsia judges only the lines a pull request adds or changes. Old code is never charged, so turning a law on does not fail every check.
A gate everyone ignores is worse than no gate.
handlers/refund_webhook.ts:41 runs db.query in a handler.
The same three parts as anywhere people, and now machines, live by rules.
Each law is one sentence and why. Ratsia enforces nothing your org has not enacted.
A pull request that breaks a law is charged. A person on the PR, or an agent working under a person's login, can answer in plain text. Bots cannot. The prosecutor rules on the answer: if the code bears it out, the charge closes; otherwise a judge rules. Every verdict is kept on the case record.
A charged pull request fails its check until the code is fixed or a judge acquits. A gate that did not finish fails too. It never shows as a pass.