Repository navigation
Make tool errors readable and indexing waits consistent - #455
Merged
Merged
Conversation
Define readable MCP errors for text mode and shared indexing copy across read, list and search. Record the dropped zero-wait list timing and all package error paths, native retry actions, smoke compatibility and bounded delivery phases.
Honor text output on all package-controlled MCP error paths while keeping structured error envelopes available through explicit JSON requests. Share compact preparation wording, preserve list error timing evidence, and provide native retry advice without losing content or pagination.
Share preparation headings and hanging indentation across annotated outputs, retain readable retry advice, and label legacy CLI errors with their known requested source. Reuse native retry copy and named wait settings so list success and error messages stay aligned.
Reuse the CLI's existing retry-guidance predicate for shared error text so timeout and server messages keep their supplied advice without a duplicate retry line. Preserve host actions and structured error metadata.
Keep the verified presentation contract, validation limits and production release prerequisite in permanent implementation documentation after the clean internal and external review. Remove the completed working plan.
Include undefined in the optional list-error metadata parameter type so Bun 1.4.2 can emit package declarations. Keep existing callers and metadata semantics unchanged; verify with CI's Bun version and focused list tests.
Make the new preparation state and prose width parameter types explicit, matching repository declaration guidance without changing their defaults or runtime behavior. Verify declarations with Bun 1.4.2.
Live dev validation returned identical versionless refs in both alternative arrays. List them once in readable errors while preserving distinct versions and JSON evidence, and record the verified messages and backend deadline questions.
jlitola
marked this pull request as ready for review
October 6, 2026 05:59
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.
Text MCP calls previously returned JSON on many error paths, and pending read/list replies lost useful timing or exposed backend scaffolding. Default and explicit text errors now use readable shared wording; explicit JSON keeps error codes, retryability, metadata and host-provided recovery actions.
Read, list, search and existing annotated consumers share compact preparation rows. List retains timing from zero-wait errors, distinguishes pending inventory from available content, and places native wait advice after pagination. Hosted documentation is described as preparation; raw CLI content and paths-only output remain suitable for piping.
Validation: 5,477 unit tests passed, typecheck/builds, packed public-package validation, and source/built CLI and MCP smoke passed. Bun 1.4.2 declaration build and packed validation also passed after correcting the optional list-error metadata type, with 70 focused list tests. Internal review and three Claude rounds completed clean after fixes, including a final fresh-context check. The completed plan is retired; permanent docs and separate release fragments describe the two outcomes.
The user-requested authenticated dev retry succeeded: ready CLI list, pending CLI/MCP list, and pending MCP read returned readable output with live advisory total bounds of 38-57 seconds and native wait advice. A small shared formatter correction removes duplicate ref-only alternatives; a fresh pending MCP read verified it live, and 104 focused formatter/read/list tests plus the build passed. A 1 ms read still has a backend TIMEOUT without indexing metadata, and a transitional read had provisional resolution with empty timing; those backend contract questions and existing provisional footer wording are recorded in the backlog. Agent evaluation did not establish pending UX. Production backend schema support remains an unverified release prerequisite; this PR does not deploy or release anything.