Skip to content

Make EFT paste a pure sandbox: reviewable submissions require inventory validation - #131

Merged
TrueMessenger merged 1 commit into
mainfrom
feat/eft-sandbox-only
Jul 8, 2026
Merged

TrueMessenger merged 1 commit into
mainfrom
feat/eft-sandbox-only

Conversation

@TrueMessenger

Copy link
Copy Markdown
Owner

Summary

  • The Test a Fit paste flow is now a pure sandbox for every user: pasting an EFT fit always grades it and shows findings, but never creates a FitSubmission, never notifies reviewers, and never reaches the review queue. Previously doctrine managers and reviewers could POST without mode=check_only to persist a real submission from a paste.
  • The mode POST field is now vestigial - accepted (including from legacy/cached forms) but has no effect, since the sandbox path always runs.
  • Re-checking a submission now only works for ESI-sourced submissions, since a re-check re-validates against the pilot's live inventory. Legacy EFT-paste submissions from before this change remain visible as read-only history; hitting re-check on one now shows an explanatory message and redirects back instead of silently no-op'ing against stale text.

Why

Pasted text is unverifiable - a pilot could paste the doctrine's own EFT export verbatim without owning the ship. Reviewable submissions should only ever come from something that was actually validated against a pilot's real inventory (ESI / corptools), so the paste tool is repositioned as what it's always been safest as: a self-check sandbox.

How tested

  • manage.py test fitcheck - full suite green (717 tests).
  • manage.py check - clean.
  • manage.py makemigrations fitcheck --check --dry-run - no changes (no model/behavior requires a migration).
  • Manually traced the mutated/abyssal-module follow-up flow (paste containing an abyssal module with no rolled stats) to confirm it still completes end-to-end as a sandbox result after entering manual stats.

…ry validation

Pasted text can't be tied to what a pilot actually has fitted, so it should
never be able to stand in for a real submission. The Test a Fit page now
always runs the check-only sandbox for every user (previously doctrine
managers and reviewers could persist a real, reviewable FitSubmission from a
paste); the mode POST field is now vestigial and accepted from legacy forms
without effect.

Re-checking a submission now only works for ESI-sourced submissions, since
re-checking re-validates against the pilot's live inventory. Legacy
EFT-paste submissions from before this change stay visible as read-only
history; re-check on one shows an explanatory message instead.
@TrueMessenger
TrueMessenger merged commit a224501 into main Jul 8, 2026
4 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.

1 participant