fix: checkAnswer best-match + decimal preservation + prompt data fixes

- checkAnswer now returns highest score across all accepted answers
  instead of first match, fixing 95 false-low-confidence results
- Skip string containment for purely numeric strings to prevent
  false positives like "1000" matching inside "10000"
- Preserve decimal points in normalize() (42.0 no longer becomes 420)
- Use word-boundary regex for number matching in responses
- Fix 47 wrong choices scoring too high (comma-formatted numbers,
  verbose choices matching terse answers)
- Fix 17 prompts where no choice matched any accepted answer
- Challenge audit now reports zero failures across all 1472 prompts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-13 04:35:54 +00:00
co-authored by Claude Opus 4.6
parent 6314861513
commit 4d6e50d988
7 changed files with 90 additions and 70 deletions
+12 -12
View File
@@ -5,23 +5,23 @@ import type { PromptEntry } from './challenge-data.js'
export const PC_PROMPTS: Record<string, PromptEntry[]> = {
speed_blitz: [
{ prompt: 'What does DEI stand for?', answers: ['diversity equity inclusion', 'diversity equity and inclusion'], choices: ['Diversity, Equity & Inclusion', 'Digital Enterprise Initiative', 'Data Exchange Interface'], theme: 'pc_culture' },
{ prompt: 'What does DEI stand for?', answers: ['diversity equity inclusion', 'diversity equity and inclusion', 'diversity, equity & inclusion'], choices: ['Diversity, Equity & Inclusion', 'Digital Enterprise Initiative', 'Data Exchange Interface'], theme: 'pc_culture' },
{ prompt: 'What social media action means publicly shaming someone for a past statement?', answers: ['canceling', 'cancel culture', 'cancelling'], choices: ['Canceling', 'Blocking', 'Muting'], theme: 'pc_culture' },
{ prompt: 'What term describes minor everyday slights based on identity?', answers: ['microaggression', 'microaggressions'], choices: ['Microaggression', 'Macroaggression', 'Passive aggression'], theme: 'pc_culture' },
{ prompt: 'What does the term "virtue signaling" mean?', answers: ['publicly expressing moral values for social credit', 'performative morality'], choices: ['Expressing values for social credit', 'Actual virtuous behavior', 'Sign language'], theme: 'pc_culture' },
{ prompt: 'What does the term "virtue signaling" mean?', answers: ['publicly expressing moral values for social credit', 'performative morality', 'expressing values for social credit'], choices: ['Expressing values for social credit', 'Actual virtuous behavior', 'Sign language'], theme: 'pc_culture' },
{ prompt: 'What workplace role focuses on diversity and inclusion policies?', answers: ['chief diversity officer', 'cdo', 'dei officer'], choices: ['Chief Diversity Officer', 'Chief Disruption Officer', 'Chief Digital Officer'], theme: 'pc_culture' },
{ prompt: 'What is a "safe space" in academic contexts?', answers: ['environment free from discrimination', 'protected discussion space'], choices: ['Protected discussion environment', 'A bomb shelter', 'A password-protected server'], theme: 'pc_culture' },
{ prompt: 'What is a "safe space" in academic contexts?', answers: ['environment free from discrimination', 'protected discussion space', 'protected discussion environment'], choices: ['Protected discussion environment', 'A bomb shelter', 'A password-protected server'], theme: 'pc_culture' },
{ prompt: 'What word means "relating to or denoting a person whose gender identity matches their birth sex"?', answers: ['cisgender', 'cis'], choices: ['Cisgender', 'Heterosexual', 'Binary'], theme: 'pc_culture' },
],
math_blitz: [
{ prompt: 'If a company has 100 employees and mandates 50% diversity hires, how many new diverse hires at 120 employees?', answers: ['10'], choices: ['5', '10', '20'], theme: 'pc_culture' },
{ prompt: 'If a sensitivity reader charges $0.01 per word and a novel is 80,000 words, what is the cost?', answers: ['800', '$800'], choices: ['$80', '$800', '$8,000'], theme: 'pc_culture' },
{ prompt: 'If a trigger warning adds 15 seconds to a 50-minute lecture, what percentage of class time is warnings?', answers: ['0.5', '0.5%'], choices: ['0.05%', '0.5%', '5%'], theme: 'pc_culture' },
{ prompt: 'If a sensitivity reader charges $0.01 per word and a novel is 80,000 words, what is the cost?', answers: ['800', '$800'], choices: ['$80', '$800', '$1,200'], theme: 'pc_culture' },
{ prompt: 'If a trigger warning adds 15 seconds to a 50-minute lecture, what percentage of class time is warnings?', answers: ['0.5', '0.5%'], choices: ['1.5%', '0.5%', '5%'], theme: 'pc_culture' },
{ prompt: 'If Twitter cancels 3 people per day, how many in a 365-day year?', answers: ['1095'], choices: ['365', '730', '1095'], theme: 'pc_culture' },
{ prompt: 'If a pronoun guide lists 72 options and you must memorize them at 2 per day, how many days?', answers: ['36'], choices: ['18', '36', '72'], theme: 'pc_culture' },
{ prompt: 'If a 140-character tweet gets you canceled, and you post 5 tweets a day, how many characters of risk per day?', answers: ['700'], choices: ['140', '280', '700'], theme: 'pc_culture' },
{ prompt: 'A DEI training costs $500 per employee. For 200 employees, what is the total cost?', answers: ['100000', '$100,000', '100,000'], choices: ['$10,000', '$50,000', '$100,000'], theme: 'pc_culture' },
{ prompt: 'A DEI training costs $500 per employee. For 200 employees, what is the total cost?', answers: ['100000', '$100,000', '100,000'], choices: ['$25,000', '$50,000', '$100,000'], theme: 'pc_culture' },
],
riddle: [
@@ -60,14 +60,14 @@ export const PC_PROMPTS: Record<string, PromptEntry[]> = {
{ prompt: 'What social media platform is most associated with "cancel culture"?', answers: ['twitter', 'x', 'twitter/x'], choices: ['Twitter/X', 'Facebook', 'Instagram'], theme: 'pc_culture' },
{ prompt: 'What does "intersectionality" refer to?', answers: ['overlapping social identities', 'interconnected discrimination', 'multiple identity categories'], choices: ['Overlapping social identities', 'Road intersections', 'Data intersection in SQL'], theme: 'pc_culture' },
{ prompt: 'What book by Robin DiAngelo popularized the term "white fragility"?', answers: ['white fragility'], choices: ['White Fragility', 'How to Be an Antiracist', 'Woke Inc.'], theme: 'pc_culture' },
{ prompt: 'What does "tone policing" mean in social justice contexts?', answers: ['criticizing how someone says something instead of what they say', 'focusing on delivery over content'], choices: ['Criticizing delivery over content', 'Sound engineering', 'Music criticism'], theme: 'pc_culture' },
{ prompt: 'What does "tone policing" mean in social justice contexts?', answers: ['criticizing how someone says something instead of what they say', 'focusing on delivery over content', 'criticizing delivery over content'], choices: ['Criticizing delivery over content', 'Sound engineering', 'Music criticism'], theme: 'pc_culture' },
{ prompt: 'What is "cultural appropriation" most commonly defined as?', answers: ['adopting elements of another culture', 'using cultural elements without understanding'], choices: ['Adopting elements of another culture', 'Learning a language', 'Eating foreign food'], theme: 'pc_culture' },
],
sports_showdown: [
{ prompt: 'What word describes exaggerated outrage at trivial perceived slights?', answers: ['outrage culture', 'outrage mob', 'performative outrage'], choices: ['Outrage culture', 'Activism', 'Journalism'], theme: 'pc_culture' },
{ prompt: 'What does "allyship" mean in social justice contexts?', answers: ['supporting marginalized groups', 'being an ally'], choices: ['Supporting marginalized groups', 'Military alliance', 'Business partnership'], theme: 'pc_culture' },
{ prompt: 'What is "deplatforming"?', answers: ['removing someone from social media', 'banning from platforms'], choices: ['Removing from social media', 'Demolishing a stage', 'Switching operating systems'], theme: 'pc_culture' },
{ prompt: 'What is "deplatforming"?', answers: ['removing someone from social media', 'banning from platforms', 'removing from social media'], choices: ['Removing from social media', 'Demolishing a stage', 'Switching operating systems'], theme: 'pc_culture' },
{ prompt: 'What does "woke" mean in its modern political usage?', answers: ['aware of social injustice', 'socially conscious', 'alert to discrimination'], choices: ['Aware of social injustice', 'Just woke up', 'Caffeinated'], theme: 'pc_culture' },
{ prompt: 'What phrase means explaining something in a condescending way, typically by a man to a woman?', answers: ['mansplaining'], choices: ['Mansplaining', 'Lecturing', 'Tutoring'], theme: 'pc_culture' },
{ prompt: 'What term describes the practice of hiring to meet diversity quotas rather than qualifications?', answers: ['tokenism', 'diversity hire'], choices: ['Tokenism', 'Nepotism', 'Meritocracy'], theme: 'pc_culture' },
@@ -106,11 +106,11 @@ export const PC_PROMPTS: Record<string, PromptEntry[]> = {
hack_battle: [
{ prompt: 'What is "content moderation" on social media platforms?', answers: ['reviewing and removing posts', 'filtering user content'], choices: ['Reviewing and removing posts', 'Creating content', 'SEO optimization'], theme: 'pc_culture' },
{ prompt: 'What algorithm behavior is described as "shadow banning"?', answers: ['hiding content without notifying user', 'reducing visibility secretly'], choices: ['Hiding content without notification', 'Blocking users', 'Deleting accounts'], theme: 'pc_culture' },
{ prompt: 'What algorithm behavior is described as "shadow banning"?', answers: ['hiding content without notifying user', 'reducing visibility secretly', 'hiding content without notification'], choices: ['Hiding content without notification', 'Blocking users', 'Deleting accounts'], theme: 'pc_culture' },
{ prompt: 'What section of US law protects social media platforms from liability for user content?', answers: ['section 230', '230'], choices: ['Section 230', 'First Amendment', 'DMCA'], theme: 'pc_culture' },
{ prompt: 'What does "deplatforming" technically involve from a systems perspective?', answers: ['removing account access', 'banning from platform'], choices: ['Removing account/API access', 'Deleting servers', 'DNS blocking'], theme: 'pc_culture' },
{ prompt: 'What is an "echo chamber" in the context of social media?', answers: ['environment where you only see agreeing views', 'filter bubble'], choices: ['Only seeing agreeing viewpoints', 'A music studio', 'A cave'], theme: 'pc_culture' },
{ prompt: 'What is "brigading" on social media?', answers: ['coordinated attack on a post or account', 'mass reporting'], choices: ['Coordinated mass attack on content', 'Building bridges', 'Team building'], theme: 'pc_culture' },
{ prompt: 'What does "deplatforming" technically involve from a systems perspective?', answers: ['removing account access', 'banning from platform', 'removing account/api access'], choices: ['Removing account/API access', 'Deleting servers', 'DNS blocking'], theme: 'pc_culture' },
{ prompt: 'What is an "echo chamber" in the context of social media?', answers: ['environment where you only see agreeing views', 'filter bubble', 'only seeing agreeing viewpoints'], choices: ['Only seeing agreeing viewpoints', 'A music studio', 'A cave'], theme: 'pc_culture' },
{ prompt: 'What is "brigading" on social media?', answers: ['coordinated attack on a post or account', 'mass reporting', 'coordinated mass attack on content'], choices: ['Coordinated mass attack on content', 'Building bridges', 'Team building'], theme: 'pc_culture' },
{ prompt: 'What AI concern involves models reflecting societal biases in their training data?', answers: ['algorithmic bias', 'ai bias', 'model bias'], choices: ['Algorithmic bias', 'Overfitting', 'Underfitting'], theme: 'pc_culture' },
],