01Making "Joined" mean something
- Problem
- A placement has to bind the candidate to an employing company, lock their pay rate, start timesheets and give them a login, but the board let anyone drop a card on Joined.
- Approach
- The pipeline refuses the joining stage unless the move comes from the join confirmation, and bulk moves refuse it outright. The only path is join(), which requires an accepted offer, an approved employing company and background verification at 100%, then in one transaction ends any prior employment, creates Employment with the locked rate, writes the rate history, provisions the candidate's login with an invite, marks the offer joined and audits it.
- Why it was hard
- The join action existed in the API but no screen called it, so the bug looked like correct placements, and a second bug closed the submission on join and dropped the placement from vendor leaderboards.
- Result
- The invariant is enforced on the server, dropping a card on Joined opens a confirmation that runs the real join, and placements that had slipped through without employment were found and fixed.
