mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-10-07 16:19:09 +00:00
fix(open-swe): correct Fable copy to describe provider data sharing, not ZDR
The ported admin toggle description and code comments described Fable 5 as incompatible with Zero Data Retention. That is backwards: Fable 5 requires the account to opt into Bedrock provider_data_share — prompts/completions are retained and shared with Anthropic (up to 30 days, incl. human review). The old UI copy would lead an admin to believe the opposite of what enabling the toggle does. Reword the toggle description and the gate_fable_model / team_settings comments accordingly. Still off by default. Refs #171.
This commit is contained in:
parent
17a9a25160
commit
733e3fde4a
3 changed files with 9 additions and 6 deletions
|
|
@ -101,10 +101,13 @@ def fable_disabled_fallback(effort: object = None) -> tuple[str, str]:
|
|||
def gate_fable_model(
|
||||
model_id: str, effort: str | None, *, fable_enabled: bool
|
||||
) -> tuple[str, str | None]:
|
||||
"""ZDR guard: if Fable is disabled but a Fable id was resolved, swap in a
|
||||
safe non-Fable model. Non-Fable selections pass through unchanged. Applied
|
||||
at every model-construction entrypoint so a disabled Fable model can never
|
||||
reach ``make_model``, no matter which layer selected it."""
|
||||
"""Provider-data-share gate: if Fable is disabled but a Fable id was
|
||||
resolved, swap in a safe non-Fable model. Fable requires the account to opt
|
||||
into Bedrock ``provider_data_share`` (prompts/completions shared with the
|
||||
provider), so it is gated off by default. Non-Fable selections pass through
|
||||
unchanged. Applied at every model-construction entrypoint so a disabled
|
||||
Fable model can never reach ``make_model``, no matter which layer selected
|
||||
it."""
|
||||
if not fable_enabled and isinstance(model_id, str) and model_id in FABLE_MODEL_IDS:
|
||||
return fable_disabled_fallback(effort)
|
||||
return model_id, effort
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ class TeamSettingsUpdate(BaseModel):
|
|||
self.default_chat_model, self.default_chat_reasoning_effort, "review chat"
|
||||
)
|
||||
if not self.fable_enabled:
|
||||
# Disabling Fable is the ZDR kill switch and must always succeed: rather
|
||||
# Disabling Fable is the provider-data-share kill switch and must always succeed: rather
|
||||
# than reject a payload that still carries a Fable default, swap each
|
||||
# Fable default to its safe non-Fable fallback (mirrors the runtime
|
||||
# gate_fable_model guard) so the stored record can't advertise Fable.
|
||||
|
|
|
|||
|
|
@ -713,7 +713,7 @@ function FableSection() {
|
|||
return (
|
||||
<SettingsSection
|
||||
title="Fable"
|
||||
description="Claude Fable 5 runs safety classifiers that inspect and may retain requests, so it is not compatible with Zero Data Retention (ZDR). Off by default; enable only if your workspace does not require ZDR."
|
||||
description="Claude Fable 5 requires opting into Bedrock provider data sharing: prompts and completions are retained and shared with Anthropic (up to 30 days, including human review). Off by default; enable only if your workspace accepts provider data sharing for this model."
|
||||
>
|
||||
<div className="divide-y divide-border">
|
||||
<SettingsRow
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue