mirror of
https://github.com/superdesigndev/treg.git
synced 2026-10-02 03:24:35 +08:00
The catalog validator failed on main for openrouter.ai-judge.decide: it rejected `settle: usage`
on a flat per-call price and on a synchronous row, and the row was stamped verified with no
example_response.
The runtime already honours this shape: 8fccbad6 made `_platform_settle` hand a metered
synchronous call's buffered body to a `usage` basis, and `settlement.derive_basis` reserves a
non-table usage cost at its `fallback`. The validator was behind, so it now accepts
`settle: usage` without a table (requiring the same explicit fallback the runtime dereferences and
the same dotted usage.path and supported unit), rejects a stray usage block under any other
settle, and no longer requires an async descriptor for usage settlement.
The example response is a live call with the row's test_request: status 200, and the call settled
at the reply's usage.cost ($0.000014) rather than the $0.0005 reserve, so the verified stamp moves
to the date of that observation.
Fragments updated: architecture/catalog (the settle: usage paragraph).