Expand description
GAP-SG-143: operational AppError payloads that are bilingual AT
CONSTRUCTION.
§Why not errors_msg
errors_msg is English-only because its variants (NotFound,
Duplicate, Conflict) are translated at DISPLAY time by the
replace-chains in validation::app_error_pt. The variants below —
DbBusy, LockBusy, NamespaceError, Embedding — reach the operator
through PT helpers that only PREFIX their argument, so an English-only
payload would ship a bilingual hybrid: banco ocupado: SQLITE_BUSY after 5 retries.
These builders therefore resolve current the way
validation::messages_naming does, and own both wordings in one place.
Functions§
- active_
namespace_ limit_ reached - Creating one more namespace would cross
MAX_NAMESPACES_ACTIVE. - alloc_
label_ process_ items - Allocation label for the ingest process-item vector.
- alloc_
label_ slot_ metadata - Allocation label for the ingest slot-metadata vector.
- alloc_
label_ truncation_ entries - Allocation label for the ingest truncation vector.
- allocation_
would_ exceed_ memory try_reserverefused the ingest plan allocation.- batch_
embedding_ count_ mismatch - The embedding backend returned a vector count that does not match the batch it was given, so no pairing is safe.
- duplicate_
body_ hash - The same body is already stored under a different name (dedup by
body_hash), so ingest skips the file instead of duplicating it. - llm_
slot_ acquire_ timeout - No LLM concurrency slot came free inside the wait window.
- memory_
modified_ concurrently - A memory row changed between the read and the write of the same transaction, so the update matched zero rows.
- name_
prefix_ exceeds_ name_ cap --name-prefixalone consumes the whole name budget.- rename_
target_ occupied - A rename target is already taken by another ACTIVE memory.
- sqlite_
busy_ after_ retries - SQLite stayed busy after the configured retry budget.