feat(F-096): completed feature

This commit is contained in:
chattie
2026-08-20 22:12:01 +02:00
parent 4b60db026b
commit 5561776627
14 changed files with 298 additions and 67 deletions

View File

@@ -4299,6 +4299,44 @@
"close": true
},
"completed_at": "2026-08-20T20:05:54Z"
},
{
"id": "F-096",
"type": "feature",
"title": "Configure AI model and generate missing product SEO fields",
"problem": "Settings has no AI provider/model/API configuration or field-specific prompts. Product SEO fields therefore remain empty even when operators want missing SEO title and description generated automatically.",
"goal": "Add settings fields for an OpenAI-compatible AI provider, model, API key, and separate SEO title/description prompts. When a product is saved with an empty SEO field, generate that field with the configured model and prompt while preserving manually entered values.",
"scope_in": [
"settings",
"backend AI provider",
"product SEO generation",
"admin product editor"
],
"scope_out": [
"No automatic overwrite of non-empty SEO values",
"no provider-specific SDK dependency"
],
"priority": "high",
"risk": "med",
"description": "Problem: Settings has no AI provider/model/API configuration or field-specific prompts. Product SEO fields therefore remain empty even when operators want missing SEO title and description generated automatically.. Goal: Add settings fields for an OpenAI-compatible AI provider, model, API key, and separate SEO title/description prompts. When a product is saved with an empty SEO field, generate that field with the configured model and prompt while preserving manually entered values.. Scope IN: settings, backend AI provider, product SEO generation, admin product editor. Scope OUT: No automatic overwrite of non-empty SEO values, no provider-specific SDK dependency. Type: feature. Priority: high. Risk: med.",
"acceptance": [
"- Settings exposes provider/base URL/model/API key and separate SEO title/description prompts",
"- Settings values save and load through the admin settings API",
"- Empty SEO title/description can be generated with the configured model and field prompt",
"- Non-empty manually entered SEO fields are never overwritten",
"- Missing configuration returns a clear actionable error",
"- Secrets are not exposed in normal API responses",
"- Typecheck, tests, and verify.sh pass"
],
"status": "done",
"created_at": "2026-08-20",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-20T20:12:01Z"
}
]
}