A malformed JSON body, or a body over the route's size limit, made Hono
throw an HTTPException that the API reported as a 500 internal error. In
the companion API the same requests returned 503 "unavailable, please
retry", so clients retried a request that could never succeed. These
now return 400 bad_request and 413 payload_too_large in the API's usual
error shape.
A fractional limit or offset such as ?limit=1.5 was passed to SQLite as
a float and failed with a datatype mismatch. Limits, offsets and cursors
are now truncated to whole numbers, and the two private copies of the
clamp helper reuse the shared one.
Store attachment files in object storage and keep only resource references in the table. A separate public form link appends one row without showing existing records.
Agent recency questions now use createdAfter/updatedAfter, keep timestamps on search results, and accept YYYY-MM-DD bounds. Chat headings are compacted so notebook groups no longer dominate the dialog.
Identify the workspace inbox by stable id, restore it when missing, and apply notebooks before memos so a renamed or deleted inbox cannot abort the whole pull.
Fixes#378