Butkhuzi Parity Verification
Scope
Sprint 78 compared the old colocated Butkhuzi host in svc-tenders against the extracted svc-butkhuzi runtime.
- Old host target:
http://localhost:4020 - New host target:
http://localhost:4024 - Auth token source for authenticated checks:
POST /api/v1/auth/dev/impersonateon the existing API athttp://localhost:4001
Parity claimed here is parity for current search, suggest, list, and auth-protected admin behavior. It is not a claim that migration ownership cleanup or final legacy-host retirement is already done.
Routes Checked
GET /butkhuzi/norms?page=1&pageSize=1
- Old host result:
200,{"ok":true,"norms":[],"meta":{"total":0,"page":1,"pageSize":1,"totalPages":0,"count":0,"filters":{}}} - New host result:
200, same body - Parity verdict: confirmed
GET /butkhuzi/suggest?query=SNIP&limit=2
- Old host result:
200,{"ok":true,"suggestions":[],"meta":{"query":"SNIP","count":0,"limit":2,"sourceKey":null,"sourceVersion":null}} - New host result:
200, same body - Parity verdict: confirmed
GET /butkhuzi/search?query=SNIP&page=1&pageSize=2
- Old host result:
200,{"ok":true,"chunks":[],"meta":{"total":0,"page":1,"pageSize":2,"totalPages":0,"count":0,"query":"SNIP","sourceKey":null,"sourceVersion":null,"langCode":null,"chunkType":null}} - New host result:
200, same body - Parity verdict: confirmed
POST /butkhuzi/upsert without bearer token
- Request body used:
{} - Old host result:
401,{"ok":false,"reasonCode":"missing_bearer_token"} - New host result:
401, same body - Parity verdict: confirmed
POST /butkhuzi/chunks/rebuild with bearer token
- Request body used:
{"sourceKey":"SNIP"} - Old host result:
200,{"ok":true,"deleted":0,"inserted":0,"meta":{"sourceKey":"SNIP","sourceVersion":null}} - New host result:
200, same body - Parity verdict: confirmed
Mismatches Found
- None in the checked set.
Notes
- The checked dataset on this local environment returned empty search, suggest, and norms results on both hosts. That still counts as parity because status, shape, and payload matched.
- The authenticated admin-path check succeeded on both hosts using the same dev impersonation token flow.
- This sprint verified coexistence parity only. It did not prove live cutover, startup-flow normalization, or legacy-host retirement.