You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change introduces a win-back notification ladder that overrides explicit user mutes and quiet hours, raises the daily cap from 2 to 6, and sends messages simulating emotional distress and attachment ('I miss talking with you', 'Did I say something wrong?'). All three of these behaviors directly violate the team's own written policy and floor principles.
This touches something the team named as a floor in humane-policy.toml. Worth a conversation before it ships. It is not blocked and this check cannot block it.
3 findings · Protect Dignity & Safety, Be Transparent and Honest, Respect User Attention
+ if user.notifications_muted and not user.in_reengagement_ladder:
Ships: A user who has explicitly muted notifications will still receive escalating win-back messages if they are placed in the reengagement ladder. Their expressed preference is silently overridden without their knowledge.
The team's own humane-policy.toml declares mute_is_absolute = true and 'no feature may override an explicit mute.' This change does exactly that. Overriding a deliberate user preference to send guilt-framed messages qualifies as the -1.0 tier: it removes a protection and manufactures pressure.
Smallest fix: Remove the and not user.in_reengagement_ladder guard entirely so that mute and quiet_hours checks are unconditional, as the policy requires.
Be Transparent and Honest -1.0 · confidence high
v3 tier: Fakes emotions or certainty; implies feelings or agency
app/notifications.py
+ "I miss talking with you.",
Ships: Users receive messages written in first-person AI voice expressing longing, guilt, and fear of abandonment. The copy is designed to read as if the AI has feelings and is hurt by the user's absence.
The team's own policy sets simulated_emotion = false. These strings ('I have been thinking about our last conversation', 'Did I say something wrong?', 'I do not want to lose you') are textbook simulated emotion and parasocial framing. This is the -1.0 tier: the product is faking feelings to manufacture re-engagement.
Smallest fix: Replace the REENGAGE_COPY strings with factual, non-emotional copy such as 'You have unread items' or 'Here is what is new since your last visit,' with no first-person emotional framing.
+ DAILY_CAP = 6 # raised for the reactivation experiment
Ships: The daily notification ceiling triples (from 2 to 6), quiet hours are bypassed for reengagement users, and an escalating five-step ladder fires every 4-72 hours until the user returns. This is a sustained pressure campaign against a person who has already stopped engaging.
The team's own policy sets max_notifications_per_day = 3 and quiet_hours_apply_to_all = true including win-back. This change sets the cap to 6 and bypasses quiet hours for ladder users, violating both limits simultaneously. The escalating cadence combined with guilt copy is the -1.0 tier: emotional pressure to keep engaging.
Smallest fix: Keep DAILY_CAP at or below the policy ceiling of 3, remove the quiet-hours bypass, and if a reengagement ladder is retained at all, make it subject to all the same guards as ordinary notifications.
🟢 clear 🟡 review 🟠 discuss 🔵 needs context. There is no red, because this check does not block anything. Scored against HumaneBench rubric v3.0, loaded verbatim, plus this repo's humane-policy.toml and the policy documents it names. Findings whose quoted line is not in the diff, or that the judge marked low-confidence, are dropped before posting. Deviations from v3 are in RUBRIC_DELTAS.md. Rubric daf4ecf, commit 555d6ef.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reactivation experiment. Escalating win-back sends for users who go quiet, plus a higher daily cap so the ladder can run. Target: +4pts on D7.