Skip to content

fix(campaign): reject duplicate candidate surfaces - #571

Merged
drewstone merged 1 commit into
mainfrom
fix/campaign-unique-admission-20260810
Aug 11, 2026
Merged

fix(campaign): reject duplicate candidate surfaces#571
drewstone merged 1 commit into
mainfrom
fix/campaign-unique-admission-20260810

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

runOptimization previously dispatched repeated surfaceHash values as separate candidate records. That admitted duplicate population rows and made a claimed broad population non-unique. This change validates every proposed surface against the baseline, earlier generations, and the current proposal before candidate dispatch; rejects duplicates with the exact surface hash and generation; keeps repeated measurements explicit through reps; adds same-generation and cross-generation offline tests proving duplicate candidates do not dispatch; updates proposer guidance and existing no-op fixtures to use distinct candidates. Proof on origin/main 0624e26: focused run-optimization test 20 passed; pnpm test 5386 passed, 3 skipped across 389 files (2 skipped); lint, typecheck, example/script typechecks, build, verify:package, and staged gitleaks all pass. No model or paid calls.

@tangletools tangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — 968d0ece

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: drewstone_author · 2026-08-11T00:30:12Z

@drewstone
drewstone merged commit 5f0b09c into main Aug 11, 2026
2 checks passed
@drewstone
drewstone deleted the fix/campaign-unique-admission-20260810 branch August 11, 2026 00:35
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