Give the oversize refusal its own loosening

`D21` reverted the refusal to a failure envelope and had no weaker sibling.
`D21L` keeps the response schema and drops the client's correlation key, which
leaves a refusal the client cannot match to the request that earned it. It
dies, and the suite's 52 entries and M0 are green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-17 00:24:13 +02:00
commit 44ed8a9026

View file

@ -289,6 +289,14 @@
)
'@
}
@{
Id = 'D21L'
Rule = 'It echoes the client''s own correlation key, so a refusal can be matched to the request that earned it.'
Test = 'serve::tests::an_answer_too_large_for_one_send_is_a_typed_refusal_that_reaches_the_client'
File = 'crates/huginn-daemon/src/serve.rs'
Old = ' encode_or_fail(message_id, operation, &refusal, runtime_id)'
New = ' encode_or_fail("response-too-large", operation, &refusal, runtime_id)'
}
@{
Id = 'D22'
Rule = 'The window the gate measures against is the window the hub carries: a smaller one sends nothing and says nothing.'