Skip to content

The household in a wrap-up, only among those who said yes - #245

Merged
Randomname653 merged 1 commit into
mainfrom
claude/bold-johnson-w1warc
Oct 25, 2026
Merged

Randomname653 merged 1 commit into
mainfrom
claude/bold-johnson-w1warc

Conversation

@Randomname653

Copy link
Copy Markdown
Owner

What & why

The owner decided (docs/WRAPUP_V2_BLUEPRINT.md §4.5) that household comparisons happen only with consent. The blueprint planned household rank, server-unique claims and the household median on the taste radar, but none of it existed yet. This PR adds them as opt-in.

Consent (services/household_compare.py)

  • Each member gets a "Compare with the household" button under the Wrap-Up's chapters.
  • It is off by default and stored per user. GET/POST /api/wrapup/prefs carry household next to quotes.
  • A member who turns it on is compared only with the other active members who turned it on.

What it shows (a small "In the house" card, plus a dashed polygon on the taste radar in story mode):

  • Rank by hours: your rank among the consenting members.
  • "Only you": the first of your top five titles that none of them ever played.
  • Household median: shown on each radar axis, and only with at least two others, so the line is never one person's shape. It is drawn only when it covers every axis your own shape has.
  • Nothing about anyone else: no other member's name, title or number is shown, only the rank and the median.

Nothing stored, nothing written:

  • The block is worked out from the others' stored wrap-ups (current FACTS_VERSION only) every time the page opens.
  • It is returned next to facts, never inside them, so turning it off takes a member out of every comparison at once.
  • The curator's story is not given the block, so no written text can keep it.

Checks

  • python tests/run_all.py is green (258/258 suites)
  • Behaviour changes come with a test that would have caught the old behaviour. tests/test_household_compare.py has 19 checks:
    • consent is off by default and needs others who also said yes;
    • inactive members are skipped;
    • with one other member there is a rank but no median;
    • the median, the rank and "only you" come out right;
    • no other member's names or titles leave the block;
    • revoking takes effect at once;
    • wrap-ups built on older facts are skipped;
    • the block is not stored and not given to the story;
    • the toggle action is registered;
    • the radar median renders in node (absent without a median, absent when an axis is missing).
  • No personal data, tokens or hardcoded local paths in the diff
  • Based on current main

Not rendered in a browser this time. The card uses the existing card / wu-tile-lbl / wu-note classes, and the median line has its own .wus-rd-median class with no inline style.


Generated by Claude Code

Owner decision: anything that reaches other people needs consent. A
member who turns the comparison on is compared with the other members
who did, and nobody else: a rank by hours, the household median on the
taste radar (two others at least) and a top title none of them played.
No other member's name or title is shown. It is worked out on every
open from the stored wrap-ups and never stored, so turning it off takes
a member out at once; the curator's story is not given it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KECJpoVqo39hQKxkrxUjrc

Copy link
Copy Markdown
Owner Author

security-scan failed, but this PR did not cause it. Every request to the OpenAI API came back 429 insufficient_quota / credit_balance_exhausted, so no file was actually analysed: all 6 files errored and the run reported 0 vulnerabilities. This is the same failure as on #229–#242. It will pass once the account has credits again. Nothing on this branch can fix it, and I can't re-run the job from here.


Generated by Claude Code

@Randomname653
Randomname653 merged commit c80b11f into main Oct 25, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants