Skip to content

Commit 6130265

Browse files
committed
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.
1 parent 207589c commit 6130265

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

CONTEXT.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,24 @@ Running `llm-stream --api chatgpt` sends the prompt, and any conversation histor
7979
#### Scenario: Not signed in
8080
- **WHEN** the operator runs `llm-stream --api chatgpt "<prompt>"` without stored ChatGPT credentials
8181
- **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

Comments
 (0)