Repository navigation
Audit fixes: three rounds of fixes from the multi-track Codex audits - #49
Merged
Merged
Conversation
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…from committed lockfiles Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hows it Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ackfill clash Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rows sent Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…like Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ound to sign-in Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…k, review grants in /me Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s all: true Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r the queue Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g per mentor Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ation, Razorpay refund idempotency Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…to them, recheck add-on stock Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…check-in races and attendance releases Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… admin, sign-in-bound MFA proof, signup limit, team undo access, feedback privacy)
… target, reviewer queue filter, office-hour lock, results freeze)
…ecute its files as root Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…show why Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iew grants, crew claims, pinned chat and ops webhooks, shared address classifier)
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…has a use left Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # content/help/attending/registering.mdx
…ansaction Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ests lock the event first, lock-wait race tests Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…tity links recheck duties Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…hange capability retirement, check-in races on team moves, no team promotion on cancelled events, report access before metrics, offline roster audit, admission-aware answer edits, ticket authority rechecked under the lock) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…mobile judging round pin, claim withdrawal scope, mobile reviewing workspaces, crash-safe application webhooks built in the drain transaction, promo recheck on reopened admission holds) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # lib/core/mentorDesk/shared.ts
…ices, queue replaced files for version-aware deletion, atomic schema reset on restore Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…nd logos are not deleted Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…e alerts, own-property broadcast placeholders, absolute webhook deadlines, version-aware storage deletion with R2 fallback and attempt fencing, migration-aware deploy and rollback under the install lock, atomic restore, vps-status without backups) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ne transaction; mentor commands lock the event first Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…s it Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…rialization codes Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ile sessions, list undo, crew, help reassignment and shifts; person lock; mentor and volunteer clashes refused both ways; atomic mentor grant, crew ticket and identity links; organisation deletion retried after a deadlock) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ound 2 Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eletion; refundable orders filtered before the limit Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…e with the old holder; claim and admission actions recheck the ticket under the lock Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…y refunded orders no longer block deletion Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…nt first Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…nt holder, claims leave with the previous holder, claim and admission actions recheck the ticket under the lock, claim paths lock the event first) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ied refunds resolve; bulk series cancellation notices Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…omatic refund can't act Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…at any time Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
…ganisation deletion, refundable orders filtered before the limit, checked-in cancelled orders refundable by hand without stacking on automatic refunds, events and series holding money can't be deleted, bulk series cancellation notices, finish refunds for already cancelled dates) Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Codex GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: Shaan-Shoukath <shaanshoukath4522@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes everything from two multi-track Codex audits of
main, in three rounds:40d1e274.3256e71f.Claude built rounds 1 and 2. From round 2's review fixes onwards, Codex did the fixes and reviewed every branch before merge.
What changes
Auth and accounts
Payments and finance
Registration and holders
Programmes
Lock order
Operations and storage
vps-statusworks when there are no backups yet.Migrations
20261120000000_payment_audit_fixes20261120010000_utc_trigger_timestamps20261120010100_storage_deletion_queue20261120010200_offline_check_in_mutationsOwner decisions and accepted residuals
20261120010100.Checks run locally on
f99b0ae8(Windows)Passed:
prisma generate,migrate deploy,migrate status,db:verifyand the schema drift checknext typegenandtscproduction:check, with the CI placeholder environmentnpm run buildUnit: 2959 passed, 15 failed. The failures are
vps-installeranddocker-entrypoint, which hit Windows path and shell limits and fail the same way before this work; plus 3 timeout-prone files that pass when run alone.Not run locally: e2e, production e2e and the Docker image build (not enough memory on this machine). CI covers them.
QA before release
🤖 Generated with Claude Code