Skip to content

fix: two panes answering each other are not held after eight turns, and allow-for-an-hour lets them go on - #148

Merged
nyxene merged 1 commit into
masterfrom
fix/146-pair-loop-limits
Oct 26, 2026
Merged

nyxene merged 1 commit into
masterfrom
fix/146-pair-loop-limits

Conversation

@nyxene

@nyxene nyxene commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Closes #146

A reply goes back to its sender, so a reply thread is two panes in conversation, yet the hops limit held every turn after the eighth, one question to the owner per message. "Deliver, allow 1 hour" wrote a one-way route that open mode already allowed, and the limits never looked at routes, so it did not help.

  • The hops limit holds a chain of three or more parties only.
  • Deliver, allow 1 hour also lifts the hops and thread limits for the pair, both ways, for an hour or 50 messages, whichever ends first. Only the owner gives it (the protected-action gate refuses it from a window inside a pane); a rename takes it from the old name. It lives in memory: a server restart drops it and the next held message asks again.
  • A new held limit repeats holds the third nearly identical message when both panes keep answering alike within ten minutes (80 % of words shared, digits kept), so "step 3 done", "step 4 done" and one side's "ok" pass, and messages to or from the owner are left alone.
  • The rate, same-text, queue and held limits stay as they were, grant or not.
  • The hops and thread sentences say which button lets the pair go on; the docs' limits table says the same.

Checks: scripts/gates.sh passes; tests for two and three parties, the grant both ways, its budget boundary and its hour, a rename taking it, a pane writing to the owner, the repeats rule and its non-cases. A plan review, an audit and a re-audit of the audit's fixes passed.

🤖 Generated with Claude Code

…nd allow-for-an-hour lets them go on

A reply goes back to its sender, so a reply thread is two panes in conversation, yet the hops
limit held every turn after the eighth, one question to the owner per message. "Deliver, allow
1 hour" wrote a one-way route that open mode already allowed, and limits never looked at routes.

- The hops limit holds a chain of three or more parties only.
- Deliver, allow 1 hour also lifts the hops and thread limits for the pair, both ways, for an
  hour or 50 messages, whichever ends first. Only the owner gives it; a rename takes it from the
  old name. The rate and same-text limits stay.
- A new limit holds the third nearly identical message when both panes keep answering alike
  within ten minutes, so two agents cannot thank each other forever.
- The hops and thread sentences say which button lets the pair go on.

Closes #146

Co-Authored-By: Claude <noreply@anthropic.com>
@nyxene
nyxene merged commit 5d7ac9c into master Oct 26, 2026
1 check passed
@nyxene
nyxene deleted the fix/146-pair-loop-limits branch October 26, 2026 12:21
nyxene pushed a commit that referenced this pull request Oct 26, 2026
Release pull request, maintained by release-please. Merging it creates
the tag and a draft GitHub release; then run `scripts/publish-binary.sh
vX.Y.Z` from a terminal to attach the macOS binary and publish the
release.
---


## [0.18.0](v0.17.1...v0.18.0)
(2026-10-26)


### Added

* an agent learns whom it may write to changed, only in its own
commands' output ([#143](#143))
([14c7f8f](14c7f8f))
* install.sh warns when a folder above nerd can be written by others
([#150](#150))
([b1371bd](b1371bd))
* the Messages matrix shows spaces first and opens a pair of spaces on a
press ([#147](#147))
([f9bccf9](f9bccf9))


### Fixed

* a needs-you row names the pane whose agent waits
([#152](#152))
([e59447d](e59447d))
* a pane under heavy load waits for a live broker, and titles keep
following processes when ps is slow
([#153](#153))
([a475310](a475310))
* a process outside nerd is not told to try again while a pane starts
([#138](#138))
([f97eaa8](f97eaa8))
* a sender outside the pane it names is told why it cannot send
([#136](#136))
([1a6192e](1a6192e))
* an agent pane without its hook is not done on every redraw or pause
([#155](#155))
([9c8ad72](9c8ad72))
* every ability in the plugin install and update question is shown
whole, wrapped under its own start
([#151](#151))
([4a538d3](4a538d3))
* text from the socket or another agent can neither drive a terminal nor
hide a forged frame
([#142](#142))
([af1e606](af1e606))
* the New space field has a caret that keys and clicks move, and a
pasted path replaces the prefilled ~/
([#144](#144))
([c87d53c](c87d53c))
* two panes answering each other are not held after eight turns, and
allow-for-an-hour lets them go on
([#148](#148))
([5d7ac9c](5d7ac9c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Two panes that answer each other are held on every message after eight turns, and allow-for-an-hour does not stop it

1 participant