fix: preserve informational agent results - #482
Draft
Astro-Han wants to merge 1 commit into
Draft
Conversation
Model: gpt-6
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.
Related issue
Refs #451
Problem / pressure
Pi can successfully handle a command without starting a model turn. Desktop acceptance answered an extension question and confirmed its saved answer, but Lody marked the turn as failed because no visible result reached the conversation. Retrying such a command can repeat its side effects.
Core already defines informational notices; Lody parses their level but forwards only warnings and errors.
Summary
Consume
infothrough the existing agent notice pipeline, preserve each occurrence and render it neutrally. Retain the existing history discriminant and the default warning meaning for old records. Informational results do not suppress a later warning with the same text.The Pi producer is in LodyAI/acp-extension-pi#1. It emits the notice only after native input handling completes without starting a model run. This consumer requires no new Core release and is independent of MCP opt-out #479 and Stop/steer #471.
Visual explanation
The adapter owns proof of native input completion. This PR completes the existing Lody notice consumer across CLI, shared history and UI:
flowchart TD A["Adapter: establish native input completion"] --> N["Core LodyNotice: level, message, source"] subgraph CLI["Lody CLI"] N --> V["AgentClient validates notice"] V -. "Before: info discarded here" .-> X["No visible informational result"] V -->|"After: forward all notice levels"| Q["Existing notice queue + history gate"] Q --> I{"Informational?"} I -->|Yes| E["Retain every occurrence"] I -->|No| W["Keep warning deduplication; ignore info matches"] end subgraph History["Shared durable history"] E --> H["system_notice / agent_warning<br/>Preserve optional level"] W --> H end subgraph UI["Conversation UI"] H --> L{"level = info?"} L -->|Yes| P["Neutral notice; role=status"] L -->|"No / legacy missing level"| G["Warning presentation; role=alert"] endNotice text stays separate from assistant prose. Empty model output still follows the existing silent-failure check.
Before / after
Test plan
pnpm check,pnpm formatandpnpm run docs checkpassed.Context handoff
Instructions for reviewing agents
agent_warningrenderer.Authoring context