Show what the model was told, with /system Nothing in the session showed the standing context a turn carries. Working out why a model answered as it did meant reading the source that composed the prompt, and the case that started this -- a local model listing tools it did not have -- is exactly the case where reading the source is what you cannot afford to rely on. `/system` prints it. It is a notice, not a turn: the model is not asked, the turn count does not move, and the interface already dims a notice, so what the model was told is visibly not something the model said. Reading what the model was told does not change what the model was told. A source reports what it actually sends rather than a description of it, through an optional `describeContext` on `ReplySource`. The local lane renders its system message from the same function the request uses and lists every tool with its description and parameter schema, so the two cannot drift. The thread lane says where the boundary is. The proxy is a completions surface and the server composes what precedes the turn, so the client never sees that message and does not print one. It reports the tool declarations it does send and states plainly that the system message is the server's. A `/system` that guessed would be worse than one that admits it cannot see. The command is the whole line, so "what is in your /system prompt" is still an ordinary question for the model. 295 tests pass, three on this: that it notices rather than answers, that it never reaches the model, and that a source composing no context says so.
Show what the model was told, with /system
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
packages/openagents-cli/src/coder-ollama.ts -
modified
packages/openagents-cli/src/coder-session.ts -
modified
packages/openagents-cli/src/coder-thread.ts -
modified
packages/openagents-cli/src/coder-ui.ts -
modified
packages/openagents-cli/test/coder-session.test.ts
Diff
5 files changed, +126 -1
packages/openagents-cli/src/coder-ollama.ts modified +21
@@ -121,6 +121,27 @@ export class OllamaReplySource implements ReplySource {
| 121 | 121 |
|
| 122 | 122 |
|
| 123 | 123 |
|
| 124 |
|
|
| 125 |
|
|
| 126 |
|
|
| 127 |
|
|
| 128 |
|
|
| 129 |
|
|
| 130 |
|
|
| 131 |
|
|
| 132 |
|
|
| 133 |
|
|
| 134 |
|
|
| 135 |
|
|
| 136 |
|
|
| 137 |
|
|
| 138 |
|
|
| 139 |
|
|
| 140 |
|
|
| 141 |
|
|
| 142 |
|
|
| 143 |
|
|
| 144 |
|
|
| 124 | 145 |
|
| 125 | 146 |
|
| 126 | 147 |
|
packages/openagents-cli/src/coder-session.ts modified +24
@@ -132,6 +132,15 @@ export interface ReplySource {
| 132 | 132 |
|
| 133 | 133 |
|
| 134 | 134 |
|
| 135 |
|
|
| 136 |
|
|
| 137 |
|
|
| 138 |
|
|
| 139 |
|
|
| 140 |
|
|
| 141 |
|
|
| 142 |
|
|
| 143 |
|
|
| 135 | 144 |
|
| 136 | 145 |
|
| 137 | 146 |
|
@@ -358,6 +367,21 @@ export class CoderSession {
| 358 | 367 |
|
| 359 | 368 |
|
| 360 | 369 |
|
| 370 |
|
|
| 371 |
|
|
| 372 |
|
|
| 373 |
|
|
| 374 |
|
|
| 375 |
|
|
| 376 |
|
|
| 377 |
|
|
| 378 |
|
|
| 379 |
|
|
| 380 |
|
|
| 381 |
|
|
| 382 |
|
|
| 383 |
|
|
| 384 |
|
|
| 361 | 385 |
|
| 362 | 386 |
|
| 363 | 387 |
|
packages/openagents-cli/src/coder-thread.ts modified +29
@@ -257,6 +257,35 @@ export class ThreadReplySource implements ReplySource {
| 257 | 257 |
|
| 258 | 258 |
|
| 259 | 259 |
|
| 260 |
|
|
| 261 |
|
|
| 262 |
|
|
| 263 |
|
|
| 264 |
|
|
| 265 |
|
|
| 266 |
|
|
| 267 |
|
|
| 268 |
|
|
| 269 |
|
|
| 270 |
|
|
| 271 |
|
|
| 272 |
|
|
| 273 |
|
|
| 274 |
|
|
| 275 |
|
|
| 276 |
|
|
| 277 |
|
|
| 278 |
|
|
| 279 |
|
|
| 280 |
|
|
| 281 |
|
|
| 282 |
|
|
| 283 |
|
|
| 284 |
|
|
| 285 |
|
|
| 286 |
|
|
| 287 |
|
|
| 288 |
|
|
| 260 | 289 |
|
| 261 | 290 |
|
| 262 | 291 |
|
packages/openagents-cli/src/coder-ui.ts modified +1 -1
@@ -757,7 +757,7 @@ export function runCoderUi(session: CoderSession, options: CoderUiOptions): Prom
| 757 | 757 |
|
| 758 | 758 |
|
| 759 | 759 |
|
| 760 |
|
|
| 760 |
|
|
| 761 | 761 |
|
| 762 | 762 |
|
| 763 | 763 |
|
packages/openagents-cli/test/coder-session.test.ts modified +51
@@ -313,3 +313,54 @@ describe("CoderSession", () => {
| 313 | 313 |
|
| 314 | 314 |
|
| 315 | 315 |
|
| 316 |
|
|
| 317 |
|
|
| 318 |
|
|
| 319 |
|
|
| 320 |
|
|
| 321 |
|
|
| 322 |
|
|
| 323 |
|
|
| 324 |
|
|
| 325 |
|
|
| 326 |
|
|
| 327 |
|
|
| 328 |
|
|
| 329 |
|
|
| 330 |
|
|
| 331 |
|
|
| 332 |
|
|
| 333 |
|
|
| 334 |
|
|
| 335 |
|
|
| 336 |
|
|
| 337 |
|
|
| 338 |
|
|
| 339 |
|
|
| 340 |
|
|
| 341 |
|
|
| 342 |
|
|
| 343 |
|
|
| 344 |
|
|
| 345 |
|
|
| 346 |
|
|
| 347 |
|
|
| 348 |
|
|
| 349 |
|
|
| 350 |
|
|
| 351 |
|
|
| 352 |
|
|
| 353 |
|
|
| 354 |
|
|
| 355 |
|
|
| 356 |
|
|
| 357 |
|
|
| 358 |
|
|
| 359 |
|
|
| 360 |
|
|
| 361 |
|
|
| 362 |
|
|
| 363 |
|
|
| 364 |
|
|
| 365 |
|
|
| 366 |
|