Separate local parsing from model indexing, bind review decisions to immutable manifests, persist vectors behind active profiles, and expose retrieval, chat, evaluation, and document workflows through the React workbench.
Constraint: Live Bailian authentication currently fails for all three configured capabilities
Rejected: Direct upload-to-embedding flow | bypasses local review and manifest binding
Confidence: high
Scope-risk: broad
Directive: Keep private-data deployment blocked until authentication, RBAC, and separate database roles land
Tested: make verify; fresh and replay Docker document smoke; worker recovery smoke; frozen synthetic evaluation; migration 0003-0004 roundtrip
Not-tested: Successful live Bailian calls, OCR, real multi-user authorization