Skip to content

Make tool errors readable and indexing waits consistent - #455

Merged
jlitola merged 8 commits into
mainfrom
jlitola/consistent-indexing-ux-plan
Oct 6, 2026
Merged

jlitola merged 8 commits into
mainfrom
jlitola/consistent-indexing-ux-plan

Conversation

@jlitola

@jlitola jlitola commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

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.

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.
@jlitola jlitola added the bug Something isn't working label Oct 5, 2026
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
jlitola marked this pull request as ready for review October 6, 2026 05:59
@jlitola
jlitola merged commit d425bb4 into main Oct 6, 2026
14 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant