Expose Lody tasks, subagents and usage over ACP - #14
Draft
leynos wants to merge 8 commits into
Draft
Conversation
added 7 commits
August 28, 2026 13:16
Define the staged implementation and verification strategy for replacing VTCode's private task lifecycle notification with standard ACP tool updates, negotiating Lody task and subagent management, and emitting per-response provider usage. Include an opt-in custom-provider streaming-usage capability so Baseten can return terminal usage without changing requests sent to stricter compatible proxies.
Replace the private lifecycle notification with standard ACP tool calls and updates carrying versioned Lody task metadata. Preserve per-session filtering and stable task identifiers while preventing runtime and transcript details from leaking into client metadata. Advertise lifecycle support only when the ACP agent has a subagent controller. Keep management and background-task capabilities absent until their handlers exist. Cover the adapter with status-table unit tests, stable-ID property tests, and an official ACP duplex behavioural test.
Mark the standard ACP lifecycle plateau complete with its red, green, gate, commit, and installation evidence. Pause management work because persisted background records do not carry an explicit owning ACP session. Record the related output-tail and extension dispatch gaps so the required model/API expansion can be decided before any cross-session management capability is advertised.
Record the approved persisted-owner and bounded-output design so EP-M2 can resume without exposing legacy ownerless background records through ACP.
Negotiate Lody list, cancel, output, and enabled background-task support. Persist explicit background ownership, fail closed for legacy ownerless records, and merge scoped state updates without deleting other sessions records. Cover ownership with unit, property, and official ACP duplex tests.
Advertise the versioned Lody usage extension and emit one normalized usage delta for every successful provider response, including intermediate tool-loop responses. Preserve absent metrics rather than fabricating them. Add an opt-in custom-provider capability for OpenAI-compatible streamed usage. Provider defaults and per-model profiles use sparse precedence, so existing proxy request bodies remain unchanged while compatible Baseten profiles can request and retain terminal usage chunks. Cover the adapter with capability, unit, property, official ACP duplex, wiremock playback, and vidai-mock physics tests.
Describe the current stdio ACP server separately from the legacy REST client, including Lody capability negotiation, standard task lifecycle updates, session-scoped subagent management, and per-response usage notifications. Document the opt-in custom-provider streamed-usage flag, its sparse profile precedence, proxy-safe default, terminal usage chunk, and native OpenAI compatibility. Add the corresponding generated-reference rows and record the delivery evidence in the living ExecPlan.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueWarning Your free Security trial is over. An organization admin can activate Security or dismiss this notice. Comment |
Close the execution plan after the complete release gate, user-level installation, and publication of draft PR #14 as the fourth layer of the VTCode ACP repair stack.
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.
Summary
This branch makes VTCode's ACP server negotiate and publish the Lody task,
subagent, and provider-usage surfaces that it actually implements. It replaces
the ignored private lifecycle notification with standard ACP tool updates,
adds session-scoped management for owned foreground and background work, and
emits normalized per-response usage without inventing absent provider data.
It also adds an explicit, proxy-safe
supports_stream_usageopt-in for customOpenAI-chat providers. This allows compatible Baseten profiles to request and
retain terminal usage chunks while leaving existing custom-provider request
bodies unchanged.
ExecPlan: ACP Lody task lifecycle negotiation
Review walkthrough
_lody/session/usage_updatemapping and absent-usage behaviour.Validation
./scripts/check.sh: 6,588 tests passed, 16 skipped; 33 harness tests passed, with formatting, security, logging, governance, Clippy, build, PTY/TUI, and documentation checks green.cargo install --path . --locked --force: installed successfully at user level after each code/documentation milestone.Notes