v7.44.0
Paired with engine-service-v0.1.117.
Added
- Tuple claim renewal and reply-in-ack (RDR-206). A holder extends a live
claim withrenewinstead of letting a long task's lease lapse, and answers a
request by acking it with a reply, so the reply write and the request's
consumption commit together. Surfaces:HttpTupleStore.renewand
ack(reply=ReplySpec(...)), thetuple_renewMCP tool andtuple_ack's
replyobject,nx tuple renewandnx tuple ack --reply-subspace,
--reply-key,--reply-dim,--reply-body,--reply-ttl-seconds. A lease
above the template'smax_lease_secondsis refused; inside that cap it is
clipped to the tuple's expiry. The engine sets a reply's nonce to the
request's tuple id; a nonce or unknown key inreplyis refused. Engine:
POST /v1/tuples/renew, and/v1/tuples/ackacceptsreplyand returns
reply_idon every ack. - Mailbox push delivery (nexus-6konb).
nx tuple watchwatches a session's
mailboxes with a zero-timeout probe and prints one ping per newly seen
message, never claiming it. A SessionStart instruction asks the session to
arm it once in aMonitor(nx tuple watch --instance <ListAgents name>).
AUserPromptSubmitdrain hook is the consumer of record: at each prompt it
claims, acks and renders mail for the session-id mailbox and the instance
mailbox the watcher registered for that session. A watcher from before a
/clearstops itself. NeedsBash(nx tuple watch:*)in~/.claude/settings.json
permissions so arming does not prompt. - The mailbox skill carries the renew, reply-in-ack and push-delivery rules.
/versionreportsprocess_uptime_secondsandprocess_start_time
(engine; trimmed at the managed edge).
Fixed
ackwith a reply against an engine that predates RDR-206 raises
ReplyNotWrittenErrorinstead of returning as if the reply were written.nx tuple watchpages past its 300-row probe window instead of missing mail
behind a large backlog; the drain hook no longer starves a live message
behind more than 20 claimed or dead rows.memory_putwith nottlstores a permanent entry, not a 30-day one.nximports on Windows: the last module-scopefcntlimports go through
nexus._locking(#1541).renew's lease ceiling is applied in SQL against the live row, so a
concurrent refire cannot leave a lease past the tuple's new expiry.
Changed
- Release tooling reads arming attestations for non-additive paired releases,
and shipped wire-ledger entries carry their engine tag and direction token
structurally. - The release battery's package-upgrade leg ships its heartbeat stall-note
library into the image and prints the heartbeat census on a passing run. - Documentation: tuple-space docs, walkthroughs, the site page and the Linda
essay retire RDR-205's two accepted limits and document push delivery.