feat(personality) introduce model_personality config (#9459)

## Summary
Introduces the concept of a config model_personality. I would consider
this an MVP for testing out the feature. There are a number of
follow-ups to this PR:

- More sophisticated templating with validation
- In-product experience to manage this

## Testing
- [x] Testing locally
This commit is contained in:
Dylan Hurd
2026-01-20 11:06:14 -08:00
committed by GitHub
parent 46a4a03083
commit 714151eb4e
12 changed files with 210 additions and 4 deletions

View File

@@ -240,6 +240,14 @@
"type": "integer",
"format": "int64"
},
"model_personality": {
"description": "EXPERIMENTAL Optionally specify a personality for the model",
"allOf": [
{
"$ref": "#/definitions/Personality"
}
]
},
"model_provider": {
"description": "Provider to use from the model_providers map.",
"type": "string"
@@ -359,12 +367,12 @@
},
"shell_environment_policy": {
"default": {
"inherit": null,
"ignore_default_excludes": null,
"exclude": null,
"set": null,
"experimental_use_profile": null,
"ignore_default_excludes": null,
"include_only": null,
"experimental_use_profile": null
"inherit": null,
"set": null
},
"allOf": [
{
@@ -632,6 +640,9 @@
"model": {
"type": "string"
},
"model_personality": {
"$ref": "#/definitions/Personality"
},
"model_provider": {
"description": "The key in the `model_providers` map identifying the [`ModelProviderInfo`] to use.",
"type": "string"
@@ -1051,6 +1062,13 @@
},
"additionalProperties": false
},
"Personality": {
"type": "string",
"enum": [
"friendly",
"pragmatic"
]
},
"ProjectConfig": {
"type": "object",
"properties": {