Repository navigation
Conversation
Fixes DeusData#2614 Signed-off-by: Scott Beck <296871+bline@users.noreply.github.com>
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
This branch has not been deployed
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.
A prose-only documentation edit can leave detect_changes with no behavioral seed even when the paragraph explicitly names implementation code. This proposes
detect_changes(scope: "doc_references")for #2614: changed prose selects its indexed document owner and reports one outbound MENTIONS hop as targets for review. These references are separate from behavioral impact and never become traversal seeds. Existing scopes and defaults retain their behavior.This draft makes the issue's three design choices concrete for maintainer review: query-time section ownership, a separate outbound reference scope, and File ownership before the first heading. Maintainer direction on this contract remains pending.
Prose belongs to the nearest preceding heading until the next heading; text before the first heading uses the File node. These intervals are derived at query time, including repeated headings. Resolved code targets and reason-coded unresolved references share stable pagination. Recognized resolved documentation/Section targets are omitted; unresolved references retain raw text and their reason because their target type is unknown. Recognized document extensions and documents with indexed Sections are described in the README.
The mode uses one comparison-base-to-current diff, including staged changes. It verifies source content and recorded coverage before attributing hunks, pins its index reads, and binds cursors to the generation and changed-file fingerprint. Invalid continuations and unavailable input/reference layers fail visibly. A failed scope restoration detaches the unsafe server binding and closes the handle only when owned. Missing, stale, deleted or partially covered recognized documents remain unavailable. Output-budget exhaustion and the 5,000-row materialization cap are explicit. Top-of-file deletions anchor to the first surviving line. File-boundary and hunk-body handling prevent hunks from leaking into other documents. Cursor offsets equal to or beyond the materialized count fail visibly.
This discovers references present in the current index. It does not reconstruct deleted historical references, prove complete extraction, establish behavioral impact or maintain/publish claims. Filesystem fingerprinting is a before/after consistency check, not an atomic filesystem snapshot. Documentation diffs force raw, uncolored output with fixed prefixes. Quoted and overlong paths use an explicit whole-file fallback because the shared hunk parser cannot represent them precisely.
The real Git/Markdown regression covers prose-only edits under repeated headings, preamble references, unresolved members, paging, stale cursors, content drift, tight output budgets, mixed top deletion/later edits, a deleted file sorted after the changed document, quoted Unicode paths, configured Git prefixes/color, header-like prose, and cursor offsets at and beyond the result boundary.
Validation on Linux x86_64:
scripts/test.sh CC=clang CXX=clang++: exit 0; ASan+UBSan, 10,326 passed, 0 failed, 11 skipped across 192 suites, followed by all production-binary guards. MCP phase: 425 passed, 4 skipped.scripts/lint.sh --ci CLANG_FORMAT=clang-format-20 CPPCHECK_JOBS=4 LINT_SRCS=src/mcp/mcp.c LINT_HDRS=src/mcp/mcp_internal.h: exit 0 using the project lint toolchain container.scripts/security-audit.sh, source/test syntax checks andgit diff --check: exit 0. The two proposed patches also apply together and their combined source/test syntax and tool-metadata ceiling checks pass; runtime suites were run separately for each PR.Full
scripts/lint.shremains non-green: clang-tidy reports existing handler complexity, and the project's existingsafe_freemacro triggers C pointer-cast diagnostics. Canonicalsafe_freeis retained for legacy-owned strings; the allocation ratchet passes at 765 raw sites against the existing 769 baseline. No check suppression, threshold or allocation-baseline changes were made.AI disclosure: implemented with Codex; retained read-only Claude and Astra xhigh reviews were used for correctness feedback. Model review is separate from the executed checks above.
Fixes #2614