# Staff barcode keyword repair — 2026-11-02

JonesPL reported that item barcode `3370000092706` exists in Koha and is found by
explicit Barcode search, but the same value is missing from the general staff
keyword search. Inspection found that the engine's simple-query default fields
omitted the existing schema-7 barcode projection. Structured queries already
included that projection.

The prepared engine fix adds barcode to the simple keyword default fields for
requests without an item visibility mask. Explicit field searches retain their
field scope, and record allowlists still apply before totals and pagination.
Item-masked requests retain their existing visibility path; the flat projection
must not expose a barcode belonging only to a hidden item. This bounded change
repairs the reported staff path and does not claim broader OPAC barcode parity.

Existing indexed barcodes are reused. Installation requires a matching engine
binary refresh (`--update` with the new bundle), not only a KPZ upload. No schema
migration, record reimport or full reindex is required for an existing schema-7
record whose explicit barcode search already works. Preserve optional API support
and the effective service user/group, index paths and native listener when updating.

Native ARM64 and x86-64 validation passed: 56 existing Rust tests and 77 real native HTTP
checks on each architecture, including new regressions for the reported barcode, leading zeroes,
explicit field scope, record visibility and exclusion of a flat barcode projection
from item-masked requests. The full KPZ includes this repair and updated Configuration HTML with the `--update` command. Updating the KPZ alone or using `--existing-engine` preserves the older engine executable and will not apply this repair. The optional OpenSearch API regression also passed all 31 checks on both architectures. No live Koha deployment is performed as part of this package/promo publication.

The Z39.50 save HTTP 500 remains unconfirmed and is not claimed fixed. The supplied
logs contain warnings but no fatal error tied to the failed save request. The
barcode-generation warning concerns a different value, `3370000092767`.
