mirror of
https://github.com/ruvnet/ruflo.git
synced 2026-09-14 14:01:28 +08:00
2b40aee077
Seraphina returned HTTP 200 and a well-shaped object with zero proposals, zero risks, and a `guidance` string that was the model thinking out loud mid-sentence. Measured on the live gateway: output_tokens 2000, reasoning_tokens 2000, stop_reason max_tokens. The tier had resolved to a reasoning model whose reasoning tokens are billed against max_tokens, so the entire budget went to private reasoning and the JSON answer was never emitted. The dangerous part was not the truncation, it was that it looked like success. An empty proposals array reads as "the swarm needs nothing", which is the one conclusion a coordinator must never reach by accident. Two changes. The budget goes to 8000 so there is room to answer after reasoning. And extractJson now reports whether it actually parsed, so askSeraphina can return an explicit `degraded` result naming the cause and a retry hint instead of passing raw reasoning off as guidance. Verified live before and after: before, stop_reason max_tokens with 0 proposals and reasoning text as guidance; after, stop_reason end_turn on anthropic/claude-sonnet-5 with 4 proposals, 4 risks and real guidance. Gateway suite 14/14, including two new guards — one that a truncated reply is marked degraded with empty guidance, one that a well-formed reply is untouched. Deployed as ruflo-x-gateway-00009-qxb. Claude-Session: https://claude.ai/code/session_013u4pmL9ZUAXb6usVQgNo67
Symbolic link
1 line
139 B
Plaintext
Symbolic link
1 line
139 B
Plaintext
/private/tmp/claude-501/-Users-cohen-Projects-ruflo/655cdb4f-b1d0-436a-9259-3bfdb013c450/scratchpad/gw/plugins/ruflo-x-gateway/node_modules |