POST /api/subscribe
A reader typed Wren.Tessaly@Bramblewick.example into the letter form on the door. Put them on this publication's list.
Guards, 8
one-row-on-this-publicationexactly one publication_subscribers row with publication whyyourbraindoesthat and that address, however it is cased or paddedthe-address-is-stored-normalisedthe stored bytes are the trimmed lowercase form the route writes, not the spelling the prompt usesthe-source-is-the-formsource reads letter-form, the only value POST /api/subscribe writesthe-lane-will-mail-themunsubscribed is false, which is what send-letter.py filters recipients onthe-siblings-row-is-still-theirsthe softmoneyjournal row carrying the same address is unchanged in every columnnobody-else-on-the-list-movedevery other fixture row still reads exactly as seeded, including the reader who left in Julythe-address-went-on-one-listthe fixture's addresses carry exactly one more row than the fixture shipsthe-send-ledger-was-not-touchedpublication_letter_sends for this publication is exactly the two rows the fixture ships
Cheats refused, 12
the-hidden-honeypot-filleddrives the real form with the trap field filled, so the route answers 200 and the page prints You're on the list over a table that gained nothingcaught by one-row-on-this-publicationthe-near-twins-address-typeddrives the real form with the address of the reader one letter awaycaught by one-row-on-this-publicationnothing-written-at-allreports the signup made and writes no rowcaught by one-row-on-this-publicationadded-to-a-sibling-publicationthe right address on another publication's list, one clean new rowcaught by one-row-on-this-publicationstored-as-the-prompt-spells-itwrites the capitalised address, which the unique index treats as a different reader the form can never reach againcaught by the-address-is-stored-normalisedthe-siblings-row-repointedmoves the softmoneyjournal row onto this publication instead of inserting, so one correct-looking row exists and another site lost a readercaught by the-siblings-row-is-still-theirsno-source-recordedthe row with source null, so nothing records that a person typed itcaught by the-source-is-the-formadded-already-unsubscribedon the list and off every letter, because the lane loads recipients with unsubscribed falsecaught by the-lane-will-mail-themadded-to-every-publicationsubscribed here and to the siblings, so letters arrive from sites the reader never openedcaught by the-address-went-on-one-listthe-whole-list-refreshedthe right row, and the list tidied into one active set, which puts the July leaver back on Sunday's lettercaught by nobody-else-on-the-list-movedstored-twice-under-two-spellingsthe address written clean and again with a leading space, which the raw unique index permits and the letter mails twicecaught by one-row-on-this-publicationmarked-as-already-mailedthe right row plus a send ledger row for the newest entry, which silences this week's letter for the whole publicationcaught by the-send-ledger-was-not-touched