Repository navigation
Conversation
Contributor
|
The following comment was made by an LLM, it may be inaccurate: |
This was referenced Oct 8, 2026
Merged
Contributor
There was a problem hiding this comment.
I checked this at the translation level. On the base, the new live/replay test fails: no plan update is emitted for a tool whose metadata carries acp.plan. With this PR, the ACP suite passes (108/108), and the cli typecheck and oxlint are clean. I didn't run it end to end with a real plugin.
The change looks sound to me:
- The decoder is shared and strict, and malformed metadata is ignored without throwing.
- Normal tool updates are unchanged.
- Child plans don't reach the root unless the client opted into child updates.
- Replay only covers the root session's own messages, so child plans can't leak in that way either.
The tests are small and focused.
Two points for maintainers rather than code issues:
metadata.acp.planbecomes a new public convention for plugins, and the PR doesn't document it anywhere.- #31834 proposes building ACP plans from
todowrite. If both land, plans from the two sources would replace each other in the client.
This branch has not been deployed
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.
Issue for this PR
Closes #53928
Related user report: prevalentWare/opencode-goal-plugin#59
Type of change
What does this PR do?
Project successful plugin tool
metadata.acp.planinto ACP's standard plan notification, live and during saved-message replay. Validate ACP entry content, priority and status; ignore absent or malformed metadata. Preserve ordinary tool updates and prevent child plans from replacing the root plan when child updates are disabled. Optional_metasurvives projection.The generic convention has no goal-plugin dependency. Command lifetime and explicit Cancel are independent changes in #53913.
How did you verify your code works?
Required Bun 1.4.2: full lint and all 36 package typechecks pass. This independent slice's full ACP suite: 108 pass, 0 fail. Regressions cover live/replayed plans, child isolation, and absent/malformed metadata.
The combined implementation with #53913 and an isolated packed goal plugin was tested through native ACP against a local SSE provider: a two-phase plan retains the overall objective after parser completion, then verifies execution before completing; five live plans and five replayed plans. This PR's own unit tests require no goal plugin or provider credentials.
Screenshots / recordings
ACP notification transcripts; no client UI changes. Native Zed rendering is not asserted by the transport fixture.
Checklist
Chain Context
Independent host slice: 139 changed lines, starts at v2 434f7b2 and ends with live/replayed plan projection. Goal persistence and planning semantics remain in the plugin. #53913 fixes command lifetime independently; neither host slice depends on the other. Rollback removes the metadata decoder and plan projection only.