3.15.0
Kenii now keeps its own number for every record, alongside the WordPress number, so the same catalog can later run on other platforms. Nothing a visitor or an editor sees changes.
- Added **Kenii's own record numbers.** Every program, credential, course, policy, person and other record now has an entry in Kenii's identity map, which links Kenii's number for the record to the WordPress number. Existing records keep the numbers they have today. This is the groundwork for running the same catalog engine on platforms other than WordPress.
- Added **`wp kenii identity check`** reports any record missing from the map, any map entry whose WordPress object is gone, and contact records at risk of being overwritten. The result also appears in `wp kenii store health`. **`wp kenii identity adopt`** repairs missing entries, and **`wp kenii identity renumber-hidden`** moves at-risk contact records to safe numbers (both preview by default).
- Changed **Admin lists and public catalog pages make fewer database lookups** when reading from the data tables.
- Changed Data schema version 24. The id range is raised by `wp kenii schema install`, never during a page load.
- Changed A new rail creates one of every kind of record with Kenii-made numbers and proves every page, PDF and comparison still matches.
- Changed The REST rail now always runs with the PHP rails, since several of them read the records it creates.
- Fixed **A contact created for a program or course could be overwritten by a later person record that received the same number.** New contact records now get numbers from a separate range that WordPress never reaches.