Correct what the thread route publishes Two comments said `POST /api/v1/threads` publishes no model parameter. It does. The server's own capability manifest documents it — an enum over `Models.ids()`, with a default, refused with a field-level 422 outside the enum and `model_unavailable` for a listed model whose provider is not configured. The behaviour the comments were defending is still right: report the model the grant named rather than the one the flag asked for. That is true because the grant pins the model for the thread's life, not because the request has nowhere to say it. Same conclusion, honest reason. It also changes what `Shift+Tab: lane` would take to build, so the note in `tui.rs` now says that: a lane control is possible, but changing a model means opening a new thread, which makes it a session decision rather than a keystroke. Found by the agent porting `runtime.rs`, which checked the manifest instead of believing the comment. This is a reland: the first push reported success and the commit is not in main's history, so it was lost rather than merged.
Correct what the thread route publishes
Deploy story
What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.
Not deployed through the forge lane
No push, promotion, build, or deploy receipt references this commit (receipts are scanned over a bounded recent window). Changes shipped by full node replacement carry their proof in the release gate receipt instead.
Changed files
-
modified
crates/openagents-cli/src/interactive.rs -
modified
crates/openagents-cli/src/tui.rs
Diff
2 files changed, +13 -8
crates/openagents-cli/src/interactive.rs modified +5 -3
@@ -55,9 +55,11 @@ pub enum TurnEvent {
| 55 | 55 |
|
| 56 | 56 |
|
| 57 | 57 |
|
| 58 |
|
|
| 59 |
|
|
| 60 |
|
|
| 58 |
|
|
| 59 |
|
|
| 60 |
|
|
| 61 |
|
|
| 62 |
|
|
| 61 | 63 |
|
| 62 | 64 |
|
| 63 | 65 |
|
crates/openagents-cli/src/tui.rs modified +8 -5
@@ -387,11 +387,14 @@ pub fn composer_text_width(frame_width: u16) -> usize {
| 387 | 387 |
|
| 388 | 388 |
|
| 389 | 389 |
|
| 390 |
|
|
| 391 |
|
|
| 392 |
|
|
| 393 |
|
|
| 394 |
|
|
| 390 |
|
|
| 391 |
|
|
| 392 |
|
|
| 393 |
|
|
| 394 |
|
|
| 395 |
|
|
| 396 |
|
|
| 397 |
|
|
| 395 | 398 |
|
| 396 | 399 |
|
| 397 | 400 |
|