Problem
Hosted still defaults regression names to the refund demo:
RegressionSaveRequest.name: str = "refund_limit_regression" in apps/api/src/mutiny_api/schemas.py
- UI default string in
apps/web/src/app/campaign/[id]/page.tsx (~refund_limit_regression)
Documented as P3-2 in PRODUCTION_READINESS. Product seeds are policy-derived (M-PR6), but this default re-centers the refund narrative.
Why it matters
Observe-only Hosted UX should not imply every finding is a refund exploit.
Proposed direction
Default to a generic name such as discovered_violation / policy_violation, or derive from first target_rule_ids[0] when present. Update UI placeholder to match.
Acceptance criteria
Testing expectations
Relevant API/web tests / grep for old string cleaned up.
Difficulty
XS · good first issue
Problem
Hosted still defaults regression names to the refund demo:
RegressionSaveRequest.name: str = "refund_limit_regression"inapps/api/src/mutiny_api/schemas.pyapps/web/src/app/campaign/[id]/page.tsx(~refund_limit_regression)Documented as P3-2 in PRODUCTION_READINESS. Product seeds are policy-derived (M-PR6), but this default re-centers the refund narrative.
Why it matters
Observe-only Hosted UX should not imply every finding is a refund exploit.
Proposed direction
Default to a generic name such as
discovered_violation/policy_violation, or derive from firsttarget_rule_ids[0]when present. Update UI placeholder to match.Acceptance criteria
Testing expectations
Relevant API/web tests / grep for old string cleaned up.
Difficulty
XS · good first issue