Skip to content

[2 of 7] Remove UserInputWithTurnContext#23081

Merged
etraut-openai merged 2 commits into
mainfrom
etraut/next-turn-state-remove-user-input-with-context
May 19, 2026
Merged

[2 of 7] Remove UserInputWithTurnContext#23081
etraut-openai merged 2 commits into
mainfrom
etraut/next-turn-state-remove-user-input-with-context

Conversation

@etraut-openai
Copy link
Copy Markdown
Collaborator

@etraut-openai etraut-openai commented May 16, 2026

Stack position: [2 of 7]

Summary

This PR removes the overlapping Op::UserInputWithTurnContext variant now that Op::UserInput can carry thread settings overrides directly.

Stack

  1. [1 of 7] Add thread settings to UserInput
  2. [2 of 7] Remove UserInputWithTurnContext (this PR)
  3. [3 of 7] Remove UserTurn
  4. [4 of 7] Placeholder for OverrideTurnContext cleanup
  5. [5 of 7] Replace OverrideTurnContext with ThreadSettings
  6. [6 of 7] Add app-server thread settings API
  7. [7 of 7] Sync TUI thread settings

etraut-openai added a commit that referenced this pull request May 19, 2026
**Stack position:** [1 of 7]

## Summary

The first three PRs in this stack are a cleanup pass before the actual
thread settings API work.

Today, core has several overlapping "user input" ops: `UserInput`,
`UserInputWithTurnContext`, and `UserTurn`. They differ mostly in how
much next-turn state they carry, which makes the later queued thread
settings update harder to reason about and review.

This PR starts that cleanup by adding the shared
`ThreadSettingsOverrides` payload and allowing `Op::UserInput` to carry
it. Existing variants remain in place here, so this layer is mostly a
behavior-preserving API shape change plus mechanical constructor
updates.

## End State After PR3

By the end of PR3, `Op::UserInput` is the only "user input" core op. It
can carry optional thread settings overrides for callers that need to
update stored defaults with a turn, while callers without updates use
empty settings. `Op::UserInputWithTurnContext` and `Op::UserTurn` are
deleted.

## End State After PR5

By the end of PR5, core will have only two ops for this area:

- `Op::UserInput` for user-input-bearing submissions.
- `Op::ThreadSettings` for settings-only updates.

## Stack

1. [1 of 7] [Add thread settings to
UserInput](#23080) (this PR)
2. [2 of 7] [Remove
UserInputWithTurnContext](#23081)
3. [3 of 7] [Remove
UserTurn](#23075)
4. [4 of 7] [Placeholder for OverrideTurnContext
cleanup](#23087)
5. [5 of 7] [Replace OverrideTurnContext with
ThreadSettings](#22508)
6. [6 of 7] [Add app-server thread settings
API](#22509)
7. [7 of 7] [Sync TUI thread
settings](#22510)
Base automatically changed from etraut/next-turn-state-user-input-context to main May 19, 2026 01:48
@etraut-openai etraut-openai force-pushed the etraut/next-turn-state-remove-user-input-with-context branch from d3052c6 to 6927359 Compare May 19, 2026 02:17
@etraut-openai etraut-openai merged commit e811234 into main May 19, 2026
46 of 47 checks passed
@etraut-openai etraut-openai deleted the etraut/next-turn-state-remove-user-input-with-context branch May 19, 2026 02:41
@github-actions github-actions Bot locked and limited conversation to collaborators May 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants