Skip to content

feat: define goal prompt controls and transport capabilities - #7

Merged
Leeeon233 merged 2 commits into
mainfrom
feat/goal-control-transports
Sep 10, 2026
Merged

feat: define goal prompt controls and transport capabilities#7
Leeeon233 merged 2 commits into
mainfrom
feat/goal-control-transports

Conversation

@zxch3n

@zxch3n zxch3n commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Related issue

Companion to LodyAI/Lody#554 and merged LodyAI/acp-extension-codex#39.

Problem / pressure

The published Core 0.1.3 package includes worktree project identity but lacks the goal prompt contract already consumed by the merged Codex adapter. Updating Codex to that package alone cannot fix standalone typechecking; the Lody workspace override currently supplies these contracts from this branch.

Summary

  • Add optional controlActions and promptActions to LodyGoalCapability.
  • Export LodyGoalPromptControl and declare LodySessionMeta.goalControl.
  • Document request versus prompt ownership and keep the existing worktree-project contract intact.
  • This PR changes three files with 65 additions; it does not bump the package version or publish a release.

Visual explanation

Goal action
  pause/clear -> advertised control request -> status change, no new turn
  set/resume -> advertised prompt metadata -> client-owned native turns
  pause/clear -> advertised prompt metadata -> cold-session fallback

Before / after

Before After
Core 0.1.3 exposes goal snapshots and actions, but no prompt-control payload or transport lists. Core exposes both transport capability lists and the typed prompt-control payload.
The merged Codex adapter needs workspace-only Core declarations. A release containing this PR can satisfy those declarations from npm.

Test plan

  • Previously run on this branch: Core build and typecheck passed; Codex typecheck passed against the combined goal/worktree contract.
  • After integration with Lody main: 205 targeted tests passed (CLI 122, Codex 52, shared 26, goal UI helper 5).
  • Full workspace typecheck and lint passed; the full check timed out after five minutes during tests, so full-suite success is not claimed.
  • Inspected the actual published 0.1.3 tarball: it lacks LodyGoalPromptControl, controlActions, and promptActions.
  • No live Codex E2E or 0.1.4 registry-consumer validation has been run.

Release handoff

The maintainer will merge this PR and publish 0.1.4 from the resulting main branch. Verify the published artifact contains the goal contracts above. Then update the Codex adapter's exact Core dependency and package lock to 0.1.4, validate without the workspace override, and update Lody submodule pointers. Do not republish 0.1.3.

The feature branch is one commit behind main (the 0.1.3 release bump); the PR diff does not change package.json and should preserve main's version until the separate 0.1.4 release step.

Context handoff

Instructions for reviewing agents

  • Review focus: Check capability optionality and the discriminated prompt payload in src/capabilities.ts and src/session.ts.
  • Decisions to challenge: Ensure transport ownership is explicit and omission remains compatible with older consumers.
  • Plausible failures / evidence gaps: Missing exports or an incomplete release will still break Codex standalone installation; three previously recorded Lody host-side P1 issues are not fixed by these types.

Authoring context

  • User goal / directives: Prepare the missing Core protocol PR; merging and publishing 0.1.4 remain with the maintainer.
  • Constraints / non-goals: Keep existing worktree and plan-mode contracts; no host state-machine fixes or automatic publication.
  • Risk-bearing decisions: Actions that start work use prompt ownership; status-only requests remain usable while a prompt is active.
  • Destructive or irreversible behavior: No migrations, deletion, or publication in this PR.
  • Deliberately not done or tested: Live goal E2E and validation against the not-yet-published 0.1.4 package.
  • Unknowns / confidence: Workspace checks pass; standalone consumer confidence depends on release artifact verification and the subsequent dependency update.

wibus-wee and others added 2 commits September 9, 2026 15:34
A goal action either changes durable state or starts work, and ACP v1 treats
those very differently. `LodyGoalCapability` now names which actions an agent
accepts on the out-of-band `_lody/session/goal` request (`controlActions`) and
which it accepts as prompt metadata (`promptActions`); `actions` alone could not
say, and sending a work-starting action out of band produces turns the client
never prompted for and cannot attribute to a conversation.

`LodyGoalPromptControl` on `_meta.lody.goalControl` is the new prompt channel, so
a client can resume or set a goal without putting command text in the transcript.

Model: claude-opus-5

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Retain both goal prompt controls and worktree project identity so the merged Codex adapter can consume both contracts.

Model: gpt-5
@Leeeon233
Leeeon233 marked this pull request as ready for review September 10, 2026 08:26
@Leeeon233
Leeeon233 merged commit b9b1038 into main Sep 10, 2026
@Leeeon233
Leeeon233 deleted the feat/goal-control-transports branch September 10, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants