fix: unify search target state and recovery guidance - #326
Merged
Conversation
Keep terminal target failures actionable, preserve symbol and warning provenance, and verify CLI/MCP parity through focused presentation tests.
Document canonical Swift and Zig package identities and the package-versus-repository scope boundary across CLI, MCP, and public skills. Record terminal recovery contracts and the dual-package patch release fragment.
Make CLI repository target help grammatical and tell package-target callers to verify the registry coordinate and version before suggesting repository-wide evidence.
Classify canonical registry targets as packages before repository-resolution fallbacks and keep indexed alternatives actionable for terminal empty results without freshness signals.
Mark Phase 1 complete after deterministic, build, package, plugin, smoke, live, and agent-evaluation validation. Keep private backend issue traceability without publishing repository details and clarify any-entry terminal recovery semantics.
Name the implementation, runtime/preflight, and privacy/wording review commits in the active Phase 1 plan without adding a self-referential bookkeeping commit.
Define the single target-state presentation, inline recovery rules, compact output grammar, and verification contract for Phase 1B.
Keep target lifecycle, terminal recovery, and source warnings together in compact CLI and MCP text while leaving JSON lossless.
Record the durable target-state output, release fragment, and Phase 1B completion evidence while keeping Phase 2 blocked.
Remove the obsolete session row and document the single target-state continuation contract across CLI and MCP.
Declare all projected target aliases in the helper return type and compute terminal reasons once per source entry without changing behavior.
Normalize latest package display identities before composing replay targets, retain exact terminal recovery alongside healthy peer hits, and let smoke validators recognize target-local Fix/Try actions as actionable empty results.
Keep target-local terminal reasons visible while returning a global rerun action when no local recovery exists. Remove phantom post-hit separators and align MCP and CLI smoke validation with bare readiness states and terminal reason labels.
Align the active plan with terminal bare-lane rerun semantics, final-head test/build/smoke evidence, runtime closure commits, and the pending Opus follow-up review.
Prioritize indexing peers in completed-empty action selection, keep terminal bare-lane alternatives informational, and remove redundant post-hit spacing. Make smoke readiness grouping assertions discriminate valid grouped state from ungrouped details.
Document multi-target indexing precedence, Opus round-two closure, and final-head validation after the runtime review fixes. Keep the third and final Opus closure round explicitly pending while Phase 2 remains blocked.
Delete the dead terminal-reason branch after the lifecycle cases in target recovery. The control flow and rendered behavior remain unchanged; focused recovery and action coverage continues to pass.
Record the final Opus round, the behavior-neutral unreachable-branch cleanup, and focused closure evidence. Keep final-head validation counts unchanged and leave Phase 2 blocked on the backend contract.
Render canonical site locators and compact repository revisions in healthy unified-search output. Keep contributor-less documentation in detailed target state instead of inventing a generic compact source.
Use canonical GitHub target syntax, deduplicate standalone source identities, and indent wrapped source continuations. Add direct multi-target coverage for compact provenance grouping.
Keep repository documentation in detailed target state when the backend omits its commit, preventing a mutable locator from replacing a pinned target.
Keep an explicitly pinned repository target beside the resolved commit in compact source provenance while retaining the shorter form for ref-less repository targets.
Document the final source shapes, review closure, agent evaluation, and the unrelated live-smoke timeout without overstating final-head coverage.
Give the container integration test the same timeout budget as other tests that exercise the production PowerShell process-identity probe.
jlitola
marked this pull request as ready for review
August 31, 2026 10:09
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.
Summary
Fix:/ replayableTry:guidance next to the affected package, repository, or site; reserve one globalNext:for session/query continuationSources:row while keeping ranked hits separate and JSON/error envelopes losslesssite:<host[/path]>andgithub:<owner>/<repo>#<revision>locators; avoid the genericdocslabel when physical provenance is unavailablesearchRefReview closure
dcbb9f9, and the final internal changed-delta review found no remaining issueterm_5d5f43f5-27fd-45f2-b08b-4646a3163130Validation
bun test— 3,570 pass, 0 fail; 11,390 expectationsbun run typecheckbun run format:check— 439 filesbun run lint— 439 filesbun run buildsearch_statusactionbc51e67get_examplerequest timed out after 240 seconds; no retry or weakened assertion was addedThe deterministic final-head tests cover the two repository-provenance fixes made after the last complete smoke run.