You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(context): record provider-scoped config defaults and chatgpt failure paths
Adds the Provider-scoped config defaults requirement (config file
provider fields no longer leak across --api selections) and two new
ChatGPT provider streaming scenarios: a rejected model surfaces the
server's own sentence, and inert flags warn on stderr instead of
silently doing nothing.
Copy file name to clipboardExpand all lines: CONTEXT.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,3 +79,24 @@ Running `llm-stream --api chatgpt` sends the prompt, and any conversation histor
79
79
#### Scenario: Not signed in
80
80
-**WHEN** the operator runs `llm-stream --api chatgpt "<prompt>"` without stored ChatGPT credentials
81
81
-**THEN** the CLI errors with `not signed in — run: llm-stream --login` and streams nothing
82
+
83
+
#### Scenario: Rejected model
84
+
-**WHEN** the operator runs `llm-stream --api chatgpt --model <model> "<prompt>"` and the server refuses the request (for example, a model the account's plan cannot use)
85
+
-**THEN** the CLI errors with the server's own message (for example, `The '<model>' model is not supported when using Codex with a ChatGPT account.`) and streams nothing
86
+
87
+
#### Scenario: Inert flags
88
+
-**WHEN** the operator runs `llm-stream --api chatgpt` with `--temperature`, `--top-p`, `--top-k`, `--api-key`, or `--api-env`
89
+
-**THEN** the CLI prints a warning to stderr that the flag is ignored by this provider
90
+
-**AND** the answer still streams to stdout as normal
91
+
92
+
### Requirement: Provider-scoped config defaults
93
+
The config file's top-level `base_url`, `env`, `key`, `version`, and `model` defaults describe one specific provider and are only inherited when the config file's own `api` matches the provider selected via `--api`, or no `--api` flag was given.
94
+
95
+
#### Scenario: Config file describes a different provider
96
+
-**WHEN** the operator runs `llm-stream --api <provider> "<prompt>"` and the config file's top-level `api` names a different provider
97
+
-**THEN**`base_url`, `env`, `key`, `version`, and `model` are not inherited from the config file
98
+
-**AND** the provider falls back to its own built-in default endpoint and model
99
+
100
+
#### Scenario: Config file matches the selected provider
101
+
-**WHEN** the operator runs `llm-stream --api <provider> "<prompt>"` and the config file's top-level `api` matches `<provider>`, or omits `--api` entirely
102
+
-**THEN**`base_url`, `env`, `key`, `version`, and `model` are inherited from the config file as before
0 commit comments