fix(audit): interests/pipeline — M1 (outcome terminal guard), M3 (single-UPDATE + milestone gating), L1 (dead 'completed'), L2 (nurturing edge), L24 (deposit re-lock on refund)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-02 12:52:24 +02:00
parent 0ed4323826
commit 49f5c3165b
3 changed files with 146 additions and 29 deletions

View File

@@ -138,7 +138,9 @@ export const STAGE_WEIGHTS: Record<PipelineStage, number> = {
* and can re-enter the EOI path when supply opens up.
*/
export const STAGE_TRANSITIONS: Record<PipelineStage, readonly PipelineStage[]> = {
enquiry: ['qualified', 'eoi'],
// L2: include `nurturing` so a fresh enquiry can be parked straight into
// the nurturing column without first round-tripping through `qualified`.
enquiry: ['qualified', 'nurturing', 'eoi'],
qualified: ['enquiry', 'nurturing', 'eoi'],
nurturing: ['qualified', 'eoi'],
eoi: ['qualified', 'reservation', 'deposit_paid'],