Admit a partial answer once the memory pass has run - #9
Conversation
A window without administrator rights answered "status:running memory:>100MB" with an empty list and nothing else, while Windows had refused the memory of most service processes. The sentence that says an answer rests on fields that could not be read was held back for every query needing a second phase family, even after that family had been read - when what is left unread is a refusal. The sentence is now held back only while a family the query needs is still unread. A shown Memory column, which asks for the same family, no longer silences it for questions about other fields either. The command line already said this on any count, so both interfaces now agree on the same answer. Four tests pin the change: the refusal after the pass, a pass that read everything, a family still unread, and the shown column. The first and the last fail on the previous code. Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (5)
🧰 Additional context used📓 Path-based instructions (10)Applies to text shown to the user (labels, buttons, tooltips, placeholders, dialogs, errors, status messages, empty states, translations).⚙️ CodeRabbit configuration file Files:
Verify tests check real behavior and would fail if the implementation were broken.⚙️ CodeRabbit configuration file Files:
Performance is a known weak spot of these projects.⚙️ CodeRabbit configuration file Files:
Applies only to code that builds or styles a GUI.⚙️ CodeRabbit configuration file Files:
User-facing changelog.⚙️ CodeRabbit configuration file Files:
SECURITY, HIGH PRIORITY.⚙️ CodeRabbit configuration file Files:
C# / .NET code.⚙️ CodeRabbit configuration file Files:
Check that documentation matches the actual code in this PR: commands, flags, config keys, file paths, build steps and examples must exist.⚙️ CodeRabbit configuration file Files:
All code in this repository is written by an AI coding agent (Claude Code).⚙️ CodeRabbit configuration file Files:
Scope, duplication and docs: Warn if any of these is true: the PR contains significant changes not mentioned in the title/description, or mixes unrelated refactors with a feature or fix; the PR adds functionality, helpers, UI components, st...📄 CodeRabbit inference engine (Custom checks) Files:
📝 WalkthroughWalkthroughThe admission logic now permits an unreadable-entry notice after all needed second-phase reads finish. Tests cover denied and successful memory reads, unread signature families, and cases where the Memory column is visible. ChangesPartial-result notices
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested labels: Merge Risk: ⚪ Minimal · up to The window can report partial answers after required reads finish, with no remaining actionable merge risk identified. 🚥 Pre-merge checks | ✅ 14✅ Passed checks (14 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
What was wrong
A window without administrator rights answered
status:running memory:>100MBwith "Nothing in this list matches what you asked for" and said nothing else. On the machine this was found on, Windows had refused the memory of 104 service processes (memory:?counts them), so "no service holds more than 100 MB" read as the answer while most running services were never judged.The sentence that admits a partial answer was held back for every query needing a second phase family (memory or signatures), including after that family had been read. The query engine counts a refused field and a field nobody read as one number, and the hold-back existed so that "nobody looked" would not be reported as a refusal. Once the pass has run, what is left unread is a refusal, and the hold-back had no reason to stay.
A shown Memory column sets the same need, so it silenced the sentence for questions about any other field too.
What changed
Sentences.Admissionsholds the sentence back only while a family the query needs has not been read:(needs & ~have) == ExtraRead.Noneinstead ofneeds == ExtraRead.None.CHANGELOG.md: one entry under Fixed.Tests
Four new tests in
AdmissionTests:Checked on the live window without administrator rights: the same query now says "104 entries were judged on a field that could not be read, so this list may be missing entries, or holding ones that do not belong."
Four window tests read the real process token and fail on any session without administrator rights. They fail identically on the code before this change.
🤖 Generated with Claude Code
Summary by CodeRabbit