Finished. moon: ran 2 tasks, now up to date
Finished. moon: ran 2 tasks, now up to date
Finished. moon: ran 3 tasks, now up to date
Total tests: 138, passed: 138, failed: 0.
Total tests: 138, passed: 138, failed: 0.
Finished. moon: ran 5 tasks, now up to date
[{ kind: 1, channel: 1, payload: <Bytes: [0x00, 0x3c, 0x00, 0x28]> }]
amqp: standalone engine passed
AMQP inspection: schema/engine plus 7 CLI scenarios passed
amqp: CLI input/file/stdin/error/exit-status checks passed
PASS configuration rejects plaintext by default and invalid numeric values
PASS fragmented handshake and graceful close
PASS handshake timeout destroys socket
PASS abort during handshake
PASS RPC timeout rejects all channels and closes connection
PASS abort terminates pending RPC
PASS premature EOF with partial message rejects get
PASS connection close rejects RPC and acknowledges peer
PASS out-of-order single and cumulative publisher confirmations
PASS publisher nack rejects only affected publish
PASS future confirmation tag fails closed
PASS unconfirmed publish timeout closes connection
PASS missing broker heartbeat fails idle connection
PASS bad frame terminator fails pending request
PASS oversized frame rejected from header without waiting for body
PASS invalid local publish leaves confirmation sequence usable
PASS broker blocked event prevents publishing until unblocked
PASS session bridge malformed table does not throw outside error result
Client fixtures: 18 passed
PASS pre-aborted waits observe later input rejection and queue close suppresses deferred work
PASS 12 MiB lazy binary source hashes correctly using negotiated 4096 byte frames
PASS buffered publish above the previous 1 MiB limit snapshots caller bytes
PASS slow reader backpressure bounds socket buffers and producer read-ahead
PASS same-channel body, ack, buffered publication and RPC retain call order
PASS waiting source does not block another channel and confirm timeout begins after body
PASS invalid metadata and sizes never consume a confirm sequence or close connection
PASS short source rejects and closes incomplete connection
PASS long source rejects and closes incomplete connection
PASS non-byte chunk rejects and closes incomplete connection
PASS source exception rejects and closes incomplete connection
PASS source progress timeout rejects and closes incomplete connection
PASS queued abort never opens its source and leaves later confirmation sequence intact
PASS abort after header rejects queued operations and calls iterator return
PASS per-channel buffered queue cap rejects without sequence gaps
PASS flow reply and server consumer cancellation wait behind the current body
PASS broker channel close during source wait preserves healthy sibling
PASS interrupted recoverable stream is rejected once and never replayed
PASS graceful connection close drains prior publications and fire-and-forget acknowledgements
PASS stalled socket drain times out and closes the partial connection
PASS broker closure cancels queued channel work before its numeric id is reused
PASS bounded operation queue allows graceful draining when at capacity
22 streaming fixture groups passed
PASS stream mode validates options before dialing
PASS 12 MiB get exposes header early and paused consumer bounds read-ahead
PASS empty streamed get and get-empty preserve distinct results
PASS ack nack reject and cumulative ack reject incomplete delivery locally
PASS discard drains a large body and permits later acknowledgements and RPC
PASS breaking iteration drains remaining bytes before iterator return completes
PASS overrun fails the whole feed without exposing a successful get
PASS duplicate header fails the whole feed without exposing a successful get
PASS method during body fails the whole feed without exposing a successful get
PASS truncated UInt64 declared body rejects completion and current iterator
PASS missing body progress times out without allocating declared length
PASS unread large body times out while socket is paused
PASS completed buffered stream remains readable after connection destruction
PASS partial channel closure rejects only its body and preserves sibling
PASS normal connection close releases paused input and rejects incomplete body
PASS large mandatory return is streamed while publisher confirmation waits behind body
PASS two simultaneous consumer channels share a bounded incoming budget
PASS recovery delivers stream headers early so large bodies cannot deadlock restoration
PASS explicit channel close releases paused body without closing its sibling
PASS overrun in a later socket read rejects an already exposed stream
PASS consumer callback error discards its unread source and keeps connection usable
PASS application backpressure pauses receive heartbeat deadline and resumes normally
PASS reading completed body buffers does not hide absent broker heartbeats
PASS unobserved mandatory return is discarded for plain and recovering connections
PASS one-byte body fragments hit the shared object-count watermark before the byte limit
25 incoming streaming fixture groups passed
PASS strict arguments and resource settings fail before network use
PASS input file preflight rejects missing directories and body limit
PASS regular file publication 12582912 bytes waits for confirm and matches hash
PASS regular file publication 0 bytes waits for confirm and matches hash
PASS unknown stdin is spooled before connecting and then streamed
PASS stdin spool limit and idle timeout remove temporary files
PASS known-length stdin streams exactly with no spool
PASS known stdin length mismatch 4096/4095 never reports success
PASS known stdin length mismatch 4096/4097 never reports success
PASS publisher nack is an error
PASS large mandatory return drains and produces failure despite broker confirm
PASS file get 0 bytes installs full body before ack
PASS file get 12582912 bytes installs full body before ack
PASS partial delivery exposes no destination and sends no ack
PASS existing output is preserved before connecting
PASS raced destination is preserved and message remains unacknowledged
PASS failed cut receive leaves no file and no acknowledgement
PASS failed overrun receive leaves no file and no acknowledgement
PASS failed timeout receive leaves no file and no acknowledgement
PASS failed limit receive leaves no file and no acknowledgement
PASS raw output is exact binary and metadata stays on stderr
PASS blocked raw output times out without acknowledgement
PASS empty raw and file gets distinguish absence from a zero-byte body
23 broker file CLI fixture groups passed
PASS all no-wait operations send proper flags without reply slots or timers
PASS default operations still wait for their normal responses
PASS no-wait request preserves an unrelated pending RPC reply slot
PASS later broker rejection closes only the offending no-wait channel
PASS no-wait request remains behind the complete same-channel body
PASS no-wait consumer accepts immediate delivery in buffer mode
PASS no-wait consumer accepts immediate delivery in stream mode
PASS cancel no-wait drops late buffered delivery without ack
PASS cancel no-wait drops late large streamed delivery without ack
PASS invalid noWait is rejected locally by every option-bearing method
PASS local encoding failure leaves no false consumer registration or dead connection
PASS consumer cap bounds no-wait registrations and cancellation releases capacity
PASS anonymous no-wait queue exposes no invented name or counts
PASS named recovery retains no-wait topology and consumer flags
PASS binding removal identity is independent of wait policy during recovery
PASS no-wait cancel and deletes remove recovery intent and auto-delete dependents
PASS failed no-wait metadata does not enter recovery topology
17 no-wait fixture groups passed
PASS all wire options retain UInt32 QoS and independent consume and publish flag bits
PASS invalid flags and QoS ranges fail locally before source iteration or wire output
PASS server flow notices pause new publications only on their channel and resume them
PASS crossed flow requests keep delivery control replies separate from publisher notices
PASS unsolicited flow does not consume the reply slot of a pending QoS RPC
PASS flow command waits behind all frames of the same-channel source
PASS server flow during a streamed body is notified now and acknowledged after the body
PASS negative flow reply returns effective state without disabling outgoing messages
PASS flow broker channel rejection is reported and sibling stays usable
PASS missing flow response times out and terminates the connection
PASS connection cancellation rejects pending flow without leaking its wait
PASS recovery restores QoS size and noLocal snapshots before consumers but does not replay flow
PASS failed local QoS does not overwrite a successfully recorded recovery setting
PASS immediate option preserves confirms with both buffered and streamed sources
PASS legacy bridge exports keep their calling convention and new flags exports agree
15 channel option fixture groups passed
PASS invalid and pre-aborted signals emit no subscription frames or listeners
PASS active cancellation awaits basic.cancel-ok, ends callback and preserves sibling
PASS noWait subscription still cancels with a reply and drains pre-ack deliveries
PASS abort during subscription keeps its RPC and cancels after consume-ok
PASS automatic cancel waits for an unrelated RPC then admits one queued user RPC
PASS many consumers sharing one signal cancel independently and leave other consumers
PASS manual cancellation releases listeners and old signals cannot cancel a reused tag
PASS server cancellation releases listeners and old signals cannot cancel a reused tag
PASS failed subscription and duplicate pending tag release only their own signal hooks
PASS callback failure on cancellation is isolated and reported
PASS closing rejects an automatic cancel and its queued RPC and removes listeners
PASS automatic cancel timeout closes the connection instead of silently resubscribing
PASS server cancel while signal cancel is pending emits one terminal callback
PASS signal cancel follows the whole outgoing streamed body on its channel
PASS already delivered incoming stream remains readable until cancellation acknowledgement
PASS same consumer tag on two channels has independent cancellation scope
PASS online recovery cancellation removes confirmed auto-delete intent and is not replayed
PASS consumer signal remains attached across a completed connection recovery
PASS offline abort forgets consumer intent without asserting an unacknowledged queue deletion
PASS abort during consumer restoration waits for its reply and prevents later replay
PASS closing a recovering channel detaches its surviving signal hook
21 consumer cancellation fixture groups passed
PASS normal and transaction publications return null without allocating confirm sequence
PASS individual handles settle out of order while events and split notifications stay ordered
PASS cumulative ack completes each publication exactly once
PASS cumulative nack completes each publication exactly once
PASS zero-tag multiple confirmation covers all outstanding handles
PASS wait cancellation and timeout release only their own listeners and preserve confirmation
PASS waiter limit is bounded and cancelled waiters immediately release capacity
PASS broker confirm timeout settles handles false and retains the connection failure reason
PASS channel close completes pending handles without fabricating broker nack events
PASS connection destroy preserves acknowledged results and fails only unresolved handles
PASS future confirmation fails closed without settling unrelated handle as acknowledged
PASS duplicate confirmation fails closed without settling unrelated handle as acknowledged
PASS throwing and rejected confirmation observers cannot corrupt protocol or other observers
PASS local failures and pre-aborted publication do not consume sequence numbers
PASS streamed deferred publication returns its handle only after the source finishes
PASS nack is a false deferred result while ordinary publication still rejects
PASS stream source failure rejects the send and closes the connection
PASS normal connection close drains deferred confirmations before shutdown
PASS unsequenced event buffer and outstanding handles share bounded publication capacity
PASS connection recovery preserves observers, closes old handles and resets tagged generations
PASS single-channel recovery resets its confirms while healthy sibling sequence survives
21 publisher confirmation fixture groups passed
PASS recovery configuration validation precedes connection creation
PASS ordered cross-channel topology and server-named queue aliases survive repeated disconnects
PASS deliveries received during recovery wait for readiness and stale tags never reach new channel
PASS unconfirmed publications reject and are not silently republished after recovery
PASS soft channel error recovers that channel without disconnecting a healthy sibling
PASS deleted topology, unbound routes and cancelled consumers are not resurrected
PASS transient mode preserves subscriptions but skips durable declarations
PASS disabled topology still restores channel QoS and transaction mode
PASS skippable topology failure reopens channel before restoring remaining entities
PASS topology error callback can refuse skipping and exhaust retry budget
PASS connection failure during topology replay retries the complete recovery sequence
PASS explicit close cancels retry delay without creating another socket
PASS AbortSignal cancels a reconnect handshake and releases the wait
PASS ready wait cancellation is local and callback errors do not stop recovery listeners
PASS topology stores an independent argument snapshot and enforces a bounded registry
PASS pending non-idempotent RPC rejects instead of being replayed after reconnect
PASS failure of the last topology entity still leaves a usable reopened channel
PASS skipping a failed consumer restores earlier subscriptions after reopening its channel
PASS broker consumer cancellation removes its recovery entry
PASS closing a channel during connection recovery cannot resurrect or leak the opening channel
PASS connection recovery supersedes an older channel retry without a duplicate open
PASS server-named queue aliases also work for later passive declarations
PASS closing connection from a channel ready listener cannot resurrect it
PASS closing connection from stateChange suppresses stale readiness notifications
PASS a channel recovery notification permits a new topology RPC
25 recovery fixture groups passed
PASS authentication rejects malformed candidates and redacts malformed bridge credentials
PASS client preference and locale are transmitted with exact PLAIN bytes
PASS AMQPLAIN preserves embedded zero bytes and UTF-8 without PLAIN delimiters
PASS selected async provider runs once and unselected providers are never evaluated
PASS unsupported mechanism or locale does not call a secret provider or send credentials
PASS provider rejection fails the handshake without writing an initial response
PASS invalid or oversized provider results cannot escape through the bridge
PASS handshake timeout aborts a pending provider and suppresses its late result
PASS explicit AbortSignal cancels authentication before any late response can be sent
PASS recovery retains original candidates and reselects against the new broker offer
PASS custom provider refreshes once per selected recovery handshake
PASS failed selected authentication is not silently retried with another mechanism
12 authentication fixture groups passed
PASS URI parser returns frozen records and explicit credential redaction
PASS URI normalization distinguishes URI and existing object defaults
PASS URI transport rejects invalid ranges and mechanisms before opening a socket
PASS URI TCP authentication retains explicit opt-in and early cancellation
PASS function entry sends exact decoded credentials and vhost
PASS static entry sends exact decoded credentials and vhost
PASS constructor entry sends exact decoded credentials and vhost
PASS object entry sends exact decoded credentials and vhost
PASS URI heartbeat overrides options while nonempty vhost and channel limits win
PASS URI repeated SASL candidates use client order and explicit SASL overrides the URI
PASS URI authentication identifiers are case insensitive like upstream DialConfig
PASS URI connection_timeout drives handshake expiry
PASS URI TLS override ignores URI file parameters and snapshots its property object
PASS URI recovery retains decoded endpoint credentials and ignores later caller mutation
14 URI connection fixture groups passed
PASS default identity factory returns independently mutable identity tables
PASS default client metadata equals independently decoded start-ok properties
PASS custom nested numeric binary and Unicode properties survive the actual handshake
PASS capabilities are replaced even when the caller supplies an invalid capability value
PASS invalid property representations fail before opening a network connection
PASS server properties locales and version are copied from wire and kept independent
PASS metadata retains hostile field names as data without prototype mutation
PASS TCP address endpoints match the actual accepted socket and survive close
PASS querying metadata and changing returned values does not change pending RPC state
PASS IPv6 endpoint metadata identifies the actual loopback connection
PASS property validation is bounded by configured frame size before protocol use
PASS recovery replaces server metadata and endpoints while retaining initial client snapshot
PASS single-channel recovery leaves connection metadata generation unchanged
PASS metadata bridge errors stay redacted and legacy session open exports still work
14 connection metadata fixture groups passed
PASS dial receives decoded IPv6-compatible address and frozen cancellation context
PASS async dial can route IPv6 URI over a different TCP endpoint
PASS function open takes an established socket and owns shutdown
PASS static open takes an established socket and owns shutdown
PASS generic binary Duplex supports fragmented handshake and output backpressure
PASS generic Duplex streaming receive preserves completion and acknowledgements
PASS in-memory Duplex handshake and channel RPC need no socket methods
PASS invalid dial and open options fail before ownership or dialing
PASS non-byte and consumed transports are rejected without taking caller ownership
PASS invalid factory results are rejected and returned Duplex is destroyed
PASS synchronous throw and asynchronous dial rejection preserve error identity
PASS timeout bounds stalled factory and destroys its late result
PASS external abort cancels factory context and late rejection stays handled
PASS open timeout and EOF destroy the transferred stream
PASS constructor destruction during dialing releases a late stream
PASS defaultDial supports TCP4, validates addresses, and clears handshake deadline after open
PASS defaultDial applies a handshake deadline even when used without Open
PASS defaultDial supports actual IPv6 sockets
PASS defaultDial unix network supports the platform local pipe transport
PASS reusing an owned factory stream fails without destroying the live connection
PASS recovery invokes original custom factory with fresh signals and restores channel state
PASS closing recovery during a pending factory disposes the late connection without replay
22 custom transport fixture groups passed
PASS physical connection and channel expose disabled recovery and independent empty topology
PASS configured policy snapshots remain isolated and enabled getters reflect closing
PASS disabled topology reports an empty configured view while connection recovery stays enabled
PASS channel local and global views preserve independent channel QoS
PASS duplicate declarations retain both owners and the global view deduplicates bindings
PASS nested arguments query copies cannot alter live declarations or later recovery
PASS cross-channel deletion and argument-specific unbind update every recorded owner
PASS explicit channel close removes its orphan declarations and does not replay them
PASS connection close clears live topology while already returned snapshots remain independent
PASS anonymous queue keys and cross-channel bindings follow newly assigned names
PASS topology query does not publish unacknowledged or failed declarations
PASS passive probes leave tracked declarations unchanged
PASS per-channel duplicate ownership consumes and releases bounded topology capacity
PASS reconnecting queries expose desired topology and remain enabled until terminal close
14 topology query fixture groups passed
PASS disabled recovery rejects reconnect but cancellation waits for physical close
PASS live connection reconnect is a no-op and many callers do not dial
PASS live channel reconnect replays topology without replacing the physical channel
PASS live channel replay preserves active consumers without a duplicate subscription
PASS explicit callers join automatic connection recovery and preserve channels
PASS retry exhaustion retains configured flags, clears topology and settles cancellation
PASS explicit retry after exhaustion starts a new usable lifecycle with fresh notification
PASS failed explicit retry rejects and can be retried again within the same configured policy
PASS closing during backoff settles notifications and rejects all joined reconnect calls
PASS destroy or external abort permanently prevents resurrection after exhaustion
PASS cancellation observation does not cancel recovery and listeners remain bounded
PASS explicit close wins when reconnect is called from a terminal close observer
PASS single-channel automatic recovery is joined and a sibling remains usable
PASS closed channel reconnect rejects without recreating its owner records
14 recovery control fixture groups passed
PASS Date and Unix milliseconds close physical and recovering connections
PASS invalid deadline values do not change state or cancellation ownership
PASS expired deadline fails before sending the close handshake
PASS silent peer hits the absolute deadline and settles channels and notifications
PASS deadline can exceed ordinary connection timeout while waiting for close-ok
PASS null disables only the close deadline and a delayed response can succeed
PASS Date is snapshotted and caller mutation cannot shorten an in-flight deadline
PASS far-future deadlines avoid the Node timer overflow and clear on success
PASS deadline close flushes sent publication bytes without waiting for unreceived confirms
PASS deadline interrupts stalled streamed publication and closes its owned source
PASS closing a partially received stream rejects its completion and frees the connection
PASS generic Duplex backpressure is bounded and drain listeners are removed
PASS successful close-ok disposes an owned Duplex even when its final callback stalls
PASS a second deadline call cannot reset the first close and ordinary close shares it
PASS already exhausted recovery is explicitly disabled even though CloseDeadline rejects
PASS deadline close cancels reconnect and destroys a late transport without resurrection
PASS peer EOF during close propagates failure and leaves a single terminal state
17 close deadline fixture groups passed
PASS credential update transmits exact binary longstr and UTF-8 reason while ordinary channel RPC proceeds
PASS credential replies do not emit unblocked or swallow real flow control events
PASS overlapping credential updates reject without disturbing the accepted request
PASS invalid local reason or oversized frame leaves the credential exchange usable
PASS missing credential acknowledgement times out the whole connection and all pending work
PASS server rejection preserves its reply code and terminates the pending credential exchange
PASS connection close and signal cancellation both release a pending credential update
PASS unrequested credential acknowledgement fails closed
PASS disconnect during credential update rejects it without replay on the recovered connection
PASS successful update changes only the live connection, keeping application-owned reconnect credentials
10 credential update fixture groups passed
PASS last consumer cancellation forgets the queue and full exchange chain before reconnect
PASS consumer tags are channel scoped and all channels participate in last-consumer tracking
PASS never-consumed queues and never-bound exchanges survive no-op cancellation and unbind
PASS argument-distinct bindings and bindings from other channels retain their source until the last removal
PASS exchange unbinding removes only the auto-delete source, preserving an unbound destination
PASS explicit deletion cascades through a cyclic exchange graph without recursive looping
PASS failed deletion does not erase the desired topology
PASS a pending cross-channel consumer prevents premature auto-deletion before its acknowledgement
PASS a pending binding prevents the last acknowledged unbind from prematurely deleting its source
PASS explicit channel close forgets its last auto-delete consumer and channel-owned declarations
PASS broker cancellation cascades and repeated cancellation cannot resurrect records
PASS server-named queue aliases are removed after cancellation following recovery
PASS consumer acknowledgement immediately followed by broker cancellation cannot leave a stale recovery consumer
13 auto-delete fixture groups passed
PASS consumer-only channel replays sibling-owned routing before subscription without reopening sibling
PASS owned queue seeds recovery of binding and exchange dependencies registered on another channel
PASS unrelated sibling components are not replayed or used as temporary recovery channels
PASS all outgoing routes from a dependent exchange are restored, including routes to another queue
PASS transient mode filters declarations after selecting cross-channel dependencies
PASS disabled topology recovery still avoids declarations and consumer replay
PASS cyclic routes terminate and are declared only once per selected entity
PASS unrecorded external queue is consumed without guessing its declaration options
8 channel dependency fixture groups passed
30 stored native authentication vectors in four backend groups verified
amqp: 307 bounded inputs, no uncaught runtime failure
{"project":"amqp","utc":"2026-09-20T14:11:40.193Z","runtime":"v24.11.0","platform":"win32","cpu":"Intel(R) Core(TM) i7-14700HX","input_utf8_bytes":122,"samples":30,"warmup":5,"median_ms":0.06559999999999633,"p95_ms":0.16989999999999839,"max_ms":0.19519999999999982,"scope":"JS warm execution of documented example; no cross-project or upstream performance claim"}
