mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[GH-ISSUE #8290] [Design] Distinguish focused guidance matches from broad parent sections #6528
Closed
opened 2026-11-01 21:11:56 +00:00 by bsakaguchi
·
3 comments
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
morluto/rea#6528
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @morluto on GitHub (Oct 31, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8290
Originally assigned to: @kaoru0822-kitauji on GitHub.
Before submitting
Decision needed
Should guidance search treat a parent section's child sections as one match, or distinguish focused matches from terms scattered across different subsections before an agent reads the result?
Context and evidence
On REA
b43c329/ installed guidance bundlerea-agents@6.8.0, public CLI and stdio MCP returned the same results without opening a target:switch provider annotations: one match, the root section ofreferences/native-and-artifacts.md, withmatched_termscontaining all three words. Reading its locator returned 49,189 characters. The firstswitchandprovideroccurrences were underApple app resources; the firstannotationsoccurrence was underNative targets. No direct explanation of whether switching providers retires edited Ghidra state was found in this returned guide.Ghidra annotations: the first result was the focusedFunction annotations in Ghidrasection; reading it returned 1,521 characters and explained that edits last until close. That section does not explicitly say switching providers closes the current database; the underlying lifecycle is tracked separately in #8289.switch provider: the first hit wasApple app resources, a different workflow.Source inspection shows the Markdown section parser intentionally includes all descendant subsections in a parent section, and matching gathers terms across that entire content. The result is consistent with that inclusive representation, but all terms need not occur in one focused recipe. The named source and guidance files were unchanged at main
23de10b. No model-selection failure or token measurement is claimed.Expected interaction with targets
No target interaction (documentation or usability only).
Boundary details (optional)
Keep deterministic ordering, pagination, bundle identity, and stale-locator validation. Preserve access to complete parent material when intentionally requested; do not claim a missing focused match proves a capability is unavailable.
Options and tradeoffs
Consider indexing each section's own text separately from descendants, presenting explicit subtree matches, or ranking focused/co-located matches above broad parents. A truthful no-match may be more useful than an unrelated subtree match when no focused explanation exists. Retain a way to read the complete parent without introducing silent truncation. Evaluate normal multi-level Markdown and cross-heading use cases, not just this query.
Verification available so far
I have a prototype or observed results.
Success criteria and open questions
Test CLI and MCP search/read on real installed guidance with terms in one child, terms separated across siblings, heading-only terms, and an intentionally requested parent. Check full retrieval and continuation. Compare completed analyst lookup traces and token counts before claiming an agent-efficiency improvement.
References
Original search feature: https://github.com/morluto/rea/issues/6916. Annotation transition: https://github.com/morluto/rea/issues/8289.
@morluto commented on GitHub (Oct 31, 2026):
For maintainer visibility: @gensokyo-dev @kaoru0822-kitauji @N0zoM1z0
@kaoru0822-kitauji commented on GitHub (Oct 31, 2026):
Proposal (I'm picking this up; implementation PR to follow):
Index own text separately; keep the subtree for reading. The section parser additionally records each section's own text (its heading plus body before its first subsection) and its parent.
read_guidance_sectionkeeps returning the complete section including subsections, so complete parent material stays one read away, with no truncation.Classify every match by where the terms occur. Admission is unchanged (every non-generic term occurs in the section's subtree). Each match then gets
match_scope:"section": every term occurs in the section's own text."subsections": the terms occur only across the section's own text and two or more of its subsections, with no single subsection containing them all.Drop redundant ancestors. An ancestor whose own text lacks some terms, but which has one subsection containing all of them, is no longer listed. That subsection (or a deeper focused section) is already a result. Today every ancestor of a focused hit is listed too.
Rank focused matches first, then subtree matches, keeping the existing heading/term score and the "smaller section first" tie-break.
Make a subtree match explain itself before it is read. Subtree matches carry
subsections: a small deterministic cover (at most one entry per query term) of the descendant sections whose own text contains the terms, each withheading,locatorandmatched_terms. Every match also reportscharacters, the size of whatread_guidance_sectionwould return. Forswitch provider annotations, the agent would see one"subsections"match for the 49K-character root, plus pointers toApple app resources(switch,provider) andNative targets(annotations). It could then decide not to read 49K characters for an unrelated subtree.Unchanged: deterministic ordering, pagination and cursors, bundle identity, stale-locator validation, the no-match wording. All changes are additive output fields. Matching moves from tokenising each expanded subtree to tokenising each own text once, so index work drops from expanded size (≤ 6× the bundle) to bundle size.
Verification plan: module tests for terms in one child, terms split across siblings, heading-only terms, terms in a parent's own text plus a child, fenced headings, and pagination continuity. Plus real CLI and stdio-MCP search/read on the installed bundle, with a before/after comparison of results and response sizes for the queries in this issue. I won't claim agent-efficiency gains beyond the measured response and read sizes.
@morluto commented on GitHub (Oct 31, 2026):
Existing-project lookup wording
On REA
b43c329df779708e43ae297f498a844e45d9c923with installedrea-agents@6.8.0, I tested the original project-loading question through the public CLI and stdio MCP guidance search; both returned the same first headings and counts for these queries.open ghidra projectandexisting ghidra projecteach ranked the focused Reuse caller-selected Ghidra analysis section first. Reading that locator returned theREA_GHIDRA_PROJECT_PATH/ optional root-program setting, restart/reconnect instruction, read-only copied-project scope and unknown prior completeness.load ghidra projectinstead returned Packages and extraction, REA, and the broad Native, managed, and packaged artifacts parent. Reading its first result did not containREA_GHIDRA_PROJECT_PATH; the focused reuse section was not among the three results.loading ghidra projectreturned broad parent sections, not the focused heading. The unmodified search contract requires all non-generic query words to match, so this is a wording/section-index tradeoff, not proof the correct guidance is absent. Searchingghidra gzfreturned no bundled section and explicitly warned that this does not establish capability availability.This is a small scripted query/read control, not a model-selection or token-usage study. It suggests testing common task wording and focused-section discoverability alongside the sibling/parent cases already in this issue; a remedy could be guidance wording or search behavior and needs evaluation against false positives. The existing project scope and nested-program work remain separate in #3751 and #3817.