# VeloceDB 2.73.26 decode-honest

Btrieve refuse-before-guess after 2.73.24 cursor-bind. analog ≠ native. Dual-engine stays SQL analog + Tachyon ISAM analog. Geo is type+index. SET GEO PACK is a rebuild recipe, not engine 3. certifiedClaim=false. Inventory 94. MCP 17. Chaos 25. SHOW chips 8. desks 57. FPL stays out. We do not route trucks. CLI catalog stays 27. .cdpk PARKED. Companion 200 stay PROPOSED. Q01–Q50 stay NOT RUN. RISK-xx stay OPEN. Last packed kernel before this cut: 2.73.24 cursor-bind. 2.73.25 is the website-tier analog pack and is not this zip.

## What landed since 2.73.24

Work implemented after the 2.73.24 cursor-bind pack and posted here as one restore zip.

1. **Owner-mode DETECT** — Teaching FCR / VELODAT1 flags sniff none / no-encrypt-no-read / no-encrypt-read-ok / encrypt-no-read / encrypt-read-ok and encrypt type none / traditional / 128 / AES-192 / AES-256. Do not decrypt. analog ≠ native.
2. **Status 51 refuse-before-guess** — `migrateDat` / BTRCALL Open on an owner-required file with no owner is status 51 and zero rows. Open KEY is the owner teaching string, bound per table. AES leftover EXTERNAL.
3. **Compression / VAT / page-compress DETECT** — Foreign DAT with DATA_COMP / VAT / PAGE_COMP refuses (status 54) instead of slicing RLE as columns. VELODAT1 teaching files still roundtrip.
4. **.PRE / .^^^ refuse** — Pre-image and continuous-ops files refuse by kind. Status 14 named leftover. Not a live DAT.
5. **PE-DLL refuse names 8020** — MZ / requester DLL is not a DAT. Message: do not download requester DLLs; v9 45K vs v10 32K w3btrv7 is status 8020.
6. **Version / overhead matrix** — Version bytes 0x50/60/70/80/90/95/D0/D3 + published page-size legality + overhead 6/8/10/18. Illegal page size for the version refuses.
7. **Post-migrate checksum** — `inserted` vs `sniff.recordCount`, sample FNV, `lossless` true only for VELODAT1. Owner-encrypted foreign fixture is lossless false + zero rows.
8. **DDF teaching parse** — FILE.DDF / FIELD.DDF / INDEX.DDF as Btrieve-shaped records mapped onto Tachyon names when offsets fit recLen. Native DDF bind leftover EXTERNAL. SHOW DDF. PARSE DDF FROM HEX.
9. **Multi-file list migrate** — Per-file sniff + per-file status. One bad DAT does not poison the rest. MIGRATE DAT LIST ANALOG SEED.
10. **SHOW WBTRV32 requester catalog** — WBTRCALL / WBTRV32 / W3BTRV7 / W64BTRV / W32MKDE / PEDTCONV / sql_btr / TCP 1583 named leftover. v9 45K vs v10 32K trap is status 8020.
11. **SHOW DAT CounterPoint teaching names** — SYN\ARDATA / IMDATA / SYDATA stems ARCUSF / IMIVHF / SAHDRF / SALINF / SYCMPF. Not an NCR SKU.
12. **BTRCALL ops 29/30 leftover** — Set Owner / Clear Owner named leftover. Do not encrypt pages.
13. **Status catalog** — 20 / 46 / 50 / 51 / 54 / 8020 named. CLI `--owner` / `--ddf` flags. Catalog stays 27.
14. **Website / CLI stamps** — Footer / What's new / Downloads / FAQ (why twenty DLLs, why rows looked encrypted) / Engines / Compare / Dual-engine audit all say 2.73.26 decode-honest.

## Not this cut

- Download, pack, or LoadLibrary `wbtrv32.dll` / `w3btrv7.dll` / `w64btrv.dll` / `w32mkde.exe` / `pedtconv.dll` / Mertech `sql_btr.dll`.
- Traditional page cipher or AES-128/192/256 owner decrypt.
- Native 6.x PAT walker, page decompressor, or VAT stitcher as VERIFIED.
- BUTIL.EXE, TCP 1583, MKDE LIVE, FILE.DDF as the SQL catalog.
- CounterPoint ticket Blowfish or a Cobalt private schema.
- Engine 3, desk 58, chip 9, MCP 18, certifiedClaim, nativeBinary.
- Do not pack a 2.73.13 zip (W5 license was cut externally).
- Do not recut 2.73.24-upgrade.zip. This cut is 2.73.26. 2.73.25 stays the website-tier analog pack.

```
Still dual-engine. Geo is type+index. Pack recipes on rebuild.
analog ≠ native. certifiedClaim=false. Inventory 94. MCP 17. Chaos 25. chips 8. desks 57.
Last packed zip 2.73.26 decode-honest. W5 off origin. We do not route trucks.
Do not download requester DLLs. Do not invent a cipher.
```
