The conventions pick-lists route cannot reach the bus
Table of Contents
Found by sweeping every GET route the BFF declares, after the list requests were completed from the protocol. Every route answered or asked for missing parameters, except this one.
1. What is seen
$ curl -b cookies http://127.0.0.1:20802/api/conventions/pick-lists
{"code":"upstream-unavailable","message":"Cannot reach the message bus."} [503]
real 0m0.045s
The answer is immediate, so this is not a timeout. TransportError is raised by the wire client rather than by a service refusal, and a refusal would have been a 502 with the code, as the missing-member refusals were.
2. What is ruled out
- The lists answer:
calendar_namesreturns 471 rows, andbusiness_day_convention_types,floating_index_typesandpayment_frequencieseach return rows, all throughcompass shell. - The route shape works:
/api/books/pick-listsreads its lists through the samereadAlland answers 200 from the same session. - A large reply is not the cause:
calendar_names list --limit 500answers 471 rows from the shell. - The wire shape is not the cause: the requests now come from the generated table, and none of these six subjects is missing from it.
3. What is left
Either the web service's own NATS credentials may not publish one of the six subjects, or its connection rejects the publish for another reason; the client reports both as a transport error. The next step is the web service's journal at debug level for the failing subject, then a comparison of its publish permissions with the shell's.
It is not the sweep's class, which is why it is captured apart from it.