Wire the kev/laya SystemOne decision pipeline and the cua-s1-forms
Score primitive through the vllm-cpp backend:
- Add SystemOneRequest/SystemOneResponse messages and rpc SystemOne to
backend.proto
- Add SystemOneModel and ScoreModel optional interfaces in pkg/grpc
(follows the ClassifyModel pattern — does not break existing backends)
- Add delegating SystemOne and Score methods on the gRPC server struct
(previously fell through to UnimplementedBackendServer)
- Implement SystemOne (JSON pass-through to vllm_systemone C ABI) and
Score (vllm_score C ABI, probabilities to log-probs) in the vllm-cpp
backend
- Add purego bindings for vllm_systemone/vllm_score (ABI v28) in
govllmcpp.go
- Add MethodSystemOne to backend capabilities; update vllm-cpp to
declare MethodScore, MethodSystemOne, UsecaseScore
- Route /v1/systemone to gRPC SystemOne for vllm-cpp models, falling
through to the NER-based path for other backends
- Add core/backend/systemone.go (ModelSystemOne loader closure)
- Fix validModelPath to accept cua-s1-forms.json and rl_agent_config.json
alongside config.json
- Use -999.0 sentinel instead of -Inf for log(0) in Score (JSON cannot
encode Inf)
Assisted-by: Maki:regolo/glm5.2 [maki]