1. Perché le taglie superano il “chi vuole aiutare?”
Le chiamate per volontari ottengono risposte una tantum. Un membro aiuta una volta, si sente bene e torna a osservare in silenzio — perché non c'era alcuna registrazione, nessuna ricompensa, nessun seguito. Una taglia trasforma la stessa richiesta in un contratto pubblico, prezzato e con stato: titolo, ricompensa, proprietario, stato e cronologia che chiunque nel server può vedere.
Il prezzo è il punto. Una taglia di 20 euro per un compito di documentazione segnala che il lavoro ha un valore reale. I membri che non si offrirebbero mai volontari rispondono a lavori prezzati, perché il lavoro prezzato rimuove l'ambiguità sul fatto che il loro sforzo sarà riconosciuto.
2. Il ciclo di vita: quattro comandi, cinque stati
Sovereign implementa le taglie come una rigorosa macchina a stati: OPEN → IN_PROGRESS → REVIEW → PAID, con un percorso CLOSED esplicito per i post abbandonati. Chiunque con un'identità collegata può creare una taglia con `/bounty create <Titolo> | <Importo>` (minimo 5 EUR, memorizzato in centesimi), sfogliare quelle aperte con `/bounty list`, prenderne una con `/bounty claim <ID>`, e inviare il lavoro finito con `/bounty done <ID>`.
La macchina a stati svolge il lavoro di moderazione per te. Una taglia non può essere richiesta due volte, il creatore non può richiedere il proprio post, e solo il lavoratore assegnato può inviare. Ogni transizione notifica la persona giusta: il creatore riceve un DM quando la sua taglia viene richiesta e di nuovo quando il lavoro viene inviato, e l'invio arriva nel Dashboard Exchange per l'approvazione.
I fondi vengono rilasciati solo dopo esplicita approvazione nella Dashboard. Questo mantiene il ciclo umano dove conta — la fiducia — e automatizzato ovunque altrove.
// Command routing and the guard clauses that make the state machine safe
switch (action) {
case 'create': return await createBounty(tenantId, member.id, args); // -> OPEN
case 'list': return { reply: await listBounties(tenantId) }; // 5 latest OPEN
case 'claim': return await claimBounty(tenantId, member.id, args); // OPEN -> IN_PROGRESS
case 'done': return await completeBounty(tenantId, member.id, args); // IN_PROGRESS -> REVIEW
}
// Guards enforced inside the transition functions:
// - status must match the expected state or the command is rejected
// - creatorId !== workerId (no self-claims)
// - only the assigned workerId may call /bounty done
// Funds are released after owner approval: Dashboard > Exchange (REVIEW -> PAID)3. Ottimizzare le taglie per costruire la fidelizzazione, non solo la produzione
Le taglie che funzionano sono piccole, specifiche e realizzabili in una sera. Una community che pubblica tre o più nuove taglie a settimana offre ai membri un motivo costante per controllare il server: il lavoro aperto è una ragione regolarmente aggiornata per tornare, che è esattamente il comportamento che gli ingegneri della fidelizzazione cercano di produrre.
La strategia di compounding è pubblicare taglie per cose che migliorano il funzionamento della community: script di onboarding, documentazione, creazione di clip, copertura della moderazione, logistica degli eventi. Ogni taglia completata è una risorsa permanente, non una consegna una tantum.
Il minimo filtra il rumore. Una taglia inferiore a 5 EUR non vale il sovraccarico della macchina a stati o l'attenzione che sottrae al lavoro reale. Il prezzo minimo, come il gate REVIEW, è un controllo anti-frode e anti-spam mascherato da regola di prodotto.