Fix pairing loop after 2026.2.19: operator.admin satisfies operator.write#23125
Merged
Fix pairing loop after 2026.2.19: operator.admin satisfies operator.write#23125
Conversation
| ### Fixes | ||
|
|
||
| - Memory/QMD: add optional `memory.qmd.mcporter` search routing so QMD `query/search/vsearch` can run through mcporter keep-alive flows (including multi-collection paths) to reduce cold starts, while keeping searches on agent-scoped QMD state for consistent recall. (#19617) Thanks @vignesh07. | ||
| - Memory/QMD: add optional `memory.qmd.mcporter` search routing so QMD `query/search/vsearch` can run through mcporter keep-alive flows (including multi-collection paths) to reduce cold starts, while keeping searches on agent-scoped QMD state for consistent recall. (#19617) Thanks @nicole-luxe and @vignesh07. |
Contributor
There was a problem hiding this comment.
add a changelog entry for the pairing loop fix (the main purpose of this PR). user-facing bug fixes should be documented in the changelog per AGENTS.md guidelines.
Suggested change
| - Memory/QMD: add optional `memory.qmd.mcporter` search routing so QMD `query/search/vsearch` can run through mcporter keep-alive flows (including multi-collection paths) to reduce cold starts, while keeping searches on agent-scoped QMD state for consistent recall. (#19617) Thanks @nicole-luxe and @vignesh07. | |
| - Device pairing: treat `operator.admin` scope as satisfying `operator.write` requests to prevent pairing loops for legacy devices upgraded from pre-2026.2.19 releases. (#23006) | |
| - Memory/QMD: add optional `memory.qmd.mcporter` search routing so QMD `query/search/vsearch` can run through mcporter keep-alive flows (including multi-collection paths) to reduce cold starts, while keeping searches on agent-scoped QMD state for consistent recall. (#19617) Thanks @nicole-luxe and @vignesh07. |
Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 19
Comment:
add a changelog entry for the pairing loop fix (the main purpose of this PR). user-facing bug fixes should be documented in the changelog per `AGENTS.md` guidelines.
```suggestion
- Device pairing: treat `operator.admin` scope as satisfying `operator.write` requests to prevent pairing loops for legacy devices upgraded from pre-2026.2.19 releases. (#23006)
- Memory/QMD: add optional `memory.qmd.mcporter` search routing so QMD `query/search/vsearch` can run through mcporter keep-alive flows (including multi-collection paths) to reduce cold starts, while keeping searches on agent-scoped QMD state for consistent recall. (#19617) Thanks @nicole-luxe and @vignesh07.
```
How can I resolve this? If you propose a fix, please make it concise.e99592d to
c3b5c95
Compare
Contributor
Author
|
Landed via temp rebase onto main.
Thanks @vignesh07! |
ahdernasr
pushed a commit
to ahdernasr/openclaw
that referenced
this pull request
Feb 22, 2026
BunsDev
pushed a commit
that referenced
this pull request
Feb 22, 2026
3 tasks
obviyus
pushed a commit
to guirguispierre/openclaw
that referenced
this pull request
Feb 22, 2026
00xglitch
pushed a commit
to 00xglitch/openclaw
that referenced
this pull request
Feb 22, 2026
00xglitch
pushed a commit
to 00xglitch/openclaw
that referenced
this pull request
Feb 23, 2026
7Sageer
pushed a commit
to 7Sageer/openclaw
that referenced
this pull request
Feb 23, 2026
18 tasks
gabrielkoo
pushed a commit
to gabrielkoo/openclaw
that referenced
this pull request
Feb 23, 2026
mreedr
pushed a commit
to mreedr/openclaw-custom
that referenced
this pull request
Feb 24, 2026
00xglitch
pushed a commit
to 00xglitch/openclaw
that referenced
this pull request
Feb 24, 2026
00xglitch
pushed a commit
to 00xglitch/openclaw
that referenced
this pull request
Feb 24, 2026
6 tasks
00xglitch
pushed a commit
to 00xglitch/openclaw
that referenced
this pull request
Feb 24, 2026
6 tasks
hughdidit
pushed a commit
to hughdidit/DAISy-Agency
that referenced
this pull request
Mar 1, 2026
(cherry picked from commit 5b4409d) # Conflicts: # CHANGELOG.md # src/infra/gateway-lock.test.ts # src/memory/qmd-manager.test.ts
hughdidit
pushed a commit
to hughdidit/DAISy-Agency
that referenced
this pull request
Mar 3, 2026
(cherry picked from commit 5b4409d) # Conflicts: # CHANGELOG.md # src/infra/gateway-lock.test.ts # src/memory/qmd-manager.test.ts
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #23006.
Regression:
Fix:
Tests:
Greptile Summary
Fixes pairing loop regression from 2026.2.19 where legacy devices with
operator.adminscope triggered repeated pairing when requestingoperator.writeaccess. The change adds scope compatibility logic inoperatorScopeSatisfied()at src/shared/operator-scope-compat.ts:25-26 sooperator.adminsatisfiesoperator.writerequests, mirroring the existing behavior foroperator.read.The fix is minimal and correct:
operator.readandoperator.writeare satisfied byoperator.admintokensIssue: Missing CHANGELOG entry. This is a user-facing bug fix (resolves #23006 pairing loop) and per repository guidelines should have a changelog entry in the Fixes section. The CHANGELOG only has an unrelated attribution update on line 19.
Confidence Score: 5/5
operator.read, has comprehensive test coverage (unit tests + integration test), and resolves a documented issue ([Bug] 2026.2.19 upgrade breaks tool connections — missing operator.write and operator.read scopes on existing paired devices #23006). The only non-critical issue is the missing CHANGELOG entry.Last reviewed commit: e99592d