Skip to Content
DesignPrompt SuggestionPrompt Suggestion Implementation Status

Prompt Suggestion Implementation Status

Tracks the implementation status of the prompt suggestion (NES) feature across all packages.

Core Module (packages/core/src/followup/)

ComponentStatusLinesDescription
followupState.ts✅ Done~230Framework-agnostic controller with timer/debounce
suggestionGenerator.ts✅ Done~260LLM generation + 12 filter rules + forked query support
forkedQuery.ts✅ Done~240CacheSafeParams + createForkedChat + runForkedQuery
overlayFs.ts✅ Done~140Copy-on-write overlay filesystem
speculationToolGate.ts✅ Done~150Tool boundary enforcement with AST shell parser
speculation.ts✅ Done~540Speculation engine with pipelined suggestion + model override

CLI Integration (packages/cli/)

ComponentStatusDescription
AppContainer.tsx✅ DoneSuggestion generation, speculation lifecycle, UI rendering
InputPrompt.tsx✅ DoneTab/Enter/Right Arrow acceptance, dismiss + abort
Composer.tsx✅ DoneProps threading
UIStateContext.tsx✅ DonepromptSuggestion + dismissPromptSuggestion
useFollowupSuggestions.tsx✅ DoneReact hook with telemetry + keystroke tracking
settingsSchema.ts✅ Done3 feature flags + fastModel setting
settings.schema.json✅ DoneVSCode settings schema

WebUI Integration (packages/webui/)

ComponentStatusDescription
InputForm.tsx✅ DoneTab/Enter/Right Arrow + explicitText submit
useFollowupSuggestions.ts✅ DoneReact hook with onOutcome support
followup.ts✅ DoneSubpath entry
components.css✅ DoneGhost text styling
vite.config.followup.ts✅ DoneSeparate build config

Telemetry (packages/core/src/telemetry/)

ComponentStatusDescription
PromptSuggestionEvent✅ Done10 fields
SpeculationEvent✅ Done7 fields
logPromptSuggestion()✅ DoneOpenTelemetry logger
logSpeculation()✅ DoneOpenTelemetry logger

Test Coverage

Test FileTestsDescription
followupState.test.ts14Controller timer, debounce, accept callback, onOutcome, clear
suggestionGenerator.test.ts16All 12 filter rules + edge cases + false positives
overlayFs.test.ts15COW write, read resolution, apply, cleanup, path traversal
speculationToolGate.test.ts27Tool categories, approval mode, shell AST, path rewrite
forkedQuery.test.ts6Cache params save/get/clear, deep clone, version detection
speculation.test.ts7ensureToolResultPairing edge cases
smoke.test.ts21Cross-module E2E: filter + overlay + toolGate + cache + pairing
InputPrompt.test.tsx4Tab, Enter+submit, Right Arrow, completion guard

Audit History

RoundIssues FoundIssues Fixed
R1-R41010 (rule engine → LLM, state simplification)
R5-R622 (Enter keybinding conflict, Right Arrow telemetry)
R7-R833 (WebUI telemetry, dead type, test coverage)
R90— (convergence)
R10-R1111 (historyManager dep)
R12-R1311 (evaluative regex word boundaries)
Phase 1+2 R1-R420+20+ (permission bypass, overlay safety, race conditions)
Total37+37+

Claude Code Alignment

FeatureAlignmentNotes
Prompt text100%Identical (brand name only)
12 filter rules100%+\b word boundaries improvement
UI interaction (Tab/Enter/Right)100%
Guard conditions100%13 checks
Telemetry100%10+7 fields
Cache sharingDashScope cache_control
SpeculationCOW overlay + tool gating
Pipelined suggestionGenerated after speculation completes
State management100%+Controller pattern, Object.freeze
Last updated on