Vai al contenuto
megapromotingParliamone
Prodotti Taskin

Organizarea muncii Dezvoltare & demonstrații

Ciò che abbiamo stabilito. Chi continua. Cosa segue.

Taskin esplora la trasformazione delle discussioni e del contesto di progetto in impegni, priorità e passi di lavoro. L’obiettivo è mantenere il collegamento tra un compito e la conversazione da cui è nato.

  1. 1Discuție și context
  2. 2Sarcini propuse
  3. 3Angajamente confirmate
Schemă explicativă ·Taskin

Taskin

Dall’informazione al lavoro svolto.

01

Context

Riuniamo le fonti autorizzate rilevanti per il progetto.

02

Angajamente

Identifichiamo le decisioni e le cose da fare per la verifica da parte del team.

03

Continuitate

Organizziamo le responsabilità e il monitoraggio dei passaggi confermati.

Dove diventa utile.

Progetti

Riconstituzione delle decisioni e delle priorità senza perdere il contesto.

Întâlniri

Proposte di attività tratte dalle discussioni, revisionate prima dell’uso.

Operațiuni

Una direzione per il coordinamento tra persone e agenti AI.

Le funzionalità e le connessioni sono in sviluppo. Non presumiamo che qualsiasi decisione estratta automaticamente sia corretta o approvata.

Taskin in dettaglio

Cosa potete fare con questo progetto.

Taskin è una board di lavoro che ha una particolarità: non aspetta che le inseriate le attività. Legge ciò che è già accaduto — chiamate, mail, calendario, messaggi, commit, sessioni di lavoro — e propone ciò che dovrebbe essere fatto, insieme alla prova da cui è emersa la proposta.

La distinzione che costruisce è tra ciò che è stato osservato e ciò che è stato deciso. Un’attività proposta automaticamente non diventa un impegno finché una persona non conferma il responsabile, la scadenza e la formulazione. Questa regola non è una promessa di interfaccia, ma una restrizione imposta nel database: un agente non può chiudere un’attività, e qualsiasi scrittura che ne chiuda una deve dichiarare chi l’ha richiesta. Una scrittura senza nome viene rifiutata.

Lo usiamo su noi stessi. Quasi tutto ciò che è interessante in esso è apparso perché ci mancava qualcosa di concreto nella gestione della nostra azienda, e i commenti nel codice citano conteggi reali in produzione e incidenti con data — incluso uno in cui una routine giornaliera è rimasta silenziosa per undici giorni di fila senza che nessuno lo sapesse.

01

Una board completa, non un esperimento

50 percorsi su 49 pagine: team, cicli, progetti, attività, inbox, roadmap, piano della giornata, clienti con dossier e storico, spese ricorrenti, fatturazione, timesheet e sessioni di lavoro, performance, chat interna, amministrazione e membri. Il database ha 90 tabelle, costruite da 81 migrazioni.

02

Il raccoglitore: 21 cicli che portano la realtà sulla board

Routine programmate sul server, non timer nel processo — perché un timer si perde a ogni redeploy. Ogni esecuzione passa attraverso un wrapper che scrive il log e tratta persino una risposta HTTP 200 come errore se porta un elenco di errori, con avviso su Telegram. Il wrapper esiste perché, prima, un comando che falliva in silenzio ha lasciato il briefing quotidiano morto per undici giorni.

03

Server MCP: la stessa coda per persone e agenti

14 strumenti via HTTP — lettura (elenco, ricerca, la mia coda, la coda degli agenti, riepilogo della board, persone, agenti, progetti) e scrittura (creazione, aggiornamento, assegnazione, spostamento, commento). Ogni token di accesso è legato a un profilo reale, quindi l’attività sulla board registra chi l’ha richiesta. Un agente AI e un collega lavorano sulla stessa lista, con le stesse regole.

04

Integrazioni reali, nominate per nome

Telegram, come bot proprietario con ascolto permanente, inclusa la trascrizione dei messaggi vocali. Quattro caselle di posta (tre Gmail e una Microsoft 365), lette esclusivamente in modalità lettura. Google Calendar. Chiamate telefoniche, tramite trunk SIP, incluse le chiamate di promemoria avviate dalla board. Obsidian. LinkedIn. I modelli passano attraverso un gateway proprietario compatibile con OpenAI, e il motore di esecuzione degli agenti utilizza un ciclo di strumenti su OpenRouter.

05

La regola che gli agenti non possono aggirare

«Un agente non chiude un’attività» è una funzione nel database, non una frase in una descrizione di strumento. È arrivata lì perché la prima variante non funzionava: identificava l’attore in un modo che risultava vuoto per un servizio automatico, quindi la regola non si applicava da nessuna parte. Ora l’attore viene risolto da tre fonti successive e, se non si può stabilire, la richiesta viene rifiutata.

Dati e funzionamento

Ciò che entra nel sistema. Ciò che deve essere verificato.

Isolamento per organizzazione, verificato a livello di riga
Tutte le 90 tabelle hanno l’accesso a livello di riga attivato, sotto 171 politiche. La regola interna è scritta senza eccezioni: una nuova tabella significa una politica di accesso su di essa. La gerarchia dei ruoli va da Super Admin ad Admin, Membro e Dipendente.
Le fonti si leggono, non si prelevano
Le caselle di posta sono connesse in sola lettura per progettazione, non per configurazione. Le sessioni di lavoro e l’attività git si leggono dal computer della persona, non dal server. Ciò che arriva sulla board è una traccia, con un collegamento indietro alla fonte, non una copia della corrispondenza.
I dati stanno su infrastruttura propria
Supabase ospitato da noi su una macchina Azure, non Supabase Cloud — Postgres, Kong, Auth, Realtime e Storage in Docker Compose. L’indirizzo del database è un percorso sul proprio dominio. Le migrazioni vengono applicate manualmente, deliberatamente: non esiste un passaggio automatico che tocchi lo schema di produzione.
Ciò che vede un modello linguistico
I cicli che riassumono, collegano e valutano inviano contenuto ai modelli. Quattro dei nove cicli interni si disattivano da soli, con un messaggio esplicito nel registro, quando manca loro la credenziale — quindi l’assenza di una chiave blocca il flusso, non lo fa funzionare a metà.

Dall’esplorazione all’implementazione

Come prepariamo un progetto con Taskin.

01

Partiamo da un’unica fonte e da un unico progetto

Non colleghiamo tutto. Una fonte — di solito la mail o Telegram — e un progetto reale, così da vedere sui dati reali cosa propone il sistema e quanto di ciò che propone è utile.

02

Confrontiamo le proposte con le decisioni reali

Il periodo in cui il sistema propone e il team solo conferma o respinge è quello che dice se vale la pena continuare. Una proposta respinta è altrettanto informativa quanto una accettata.

03

Impostiamo le regole di chiusura e di assegnazione

Chi può chiudere cosa, cosa significa una scadenza e cosa succede a un’attività senza responsabile. Qui si decide anche se gli agenti hanno il permesso di scrivere sulla board, e a quali condizioni.

04

Installiamo sull’infrastruttura concordata

Livraison tramite rsync verso una macchina, non un container: l’interfaccia come directory statiche servite da nginx, il collettore e il server MCP come servizi systemd. Il controllo di salute confronta il pacchetto servito con quello costruito e fa rollback se non coincidono.

Domande che meritano di essere chiarite.

È un prodotto finito o una demo?

È in produzione ed è la board con cui guidiamo la nostra azienda. I numeri: 566 commit, l’ultimo il 4 settembre 2026; 81 migrazioni che costruiscono 90 tabelle; 171 policy di accesso a livello di riga; 563 casi di test automatici in 38 file; 21 routine pianificate sul server più 9 loop nel processo; 14 strumenti MCP; 35 endpoint sul collettore. Ciò che non è: un servizio self-service. Non esiste un pulsante con cui un team esterno possa avviarlo da solo — si installa.

Decide automaticamente chi lavora?

No, e la restrizione è nel database, non nell’interfaccia. Una funzione di tipo guardia impedisce a un agente di chiudere un’attività, e qualsiasi scrittura che ne chiuda una deve dichiarare l’attore; se l’attore non può essere stabilito, la richiesta viene respinta. Vale la pena dire anche perché la regola appare così: la prima versione identificava l’attore tramite una funzione che restituiva vuoto per un servizio automatico, quindi non si applicava da nessuna parte. Un audit interno l’ha trovata, e la migrazione che l’ha corretta spiega nel commento esattamente cosa non funzionava.

Con cosa si connette, concretamente?

Davvero, con codice e con routine pianificata: Telegram (bot proprio, ascolto permanente, trascrizione dei messaggi vocali), quattro caselle di posta — tre Gmail e una Microsoft 365 — lette solo, Google Calendar, chiamate telefoniche tramite trunk SIP, Obsidian, LinkedIn, più sessioni di lavoro e attività git lette dal computer della persona. I modelli passano attraverso un gateway proprio compatibile OpenAI; il motore di esecuzione degli agenti gira su OpenRouter. Ciò che NON è connesso, nonostante la nostra pagina delle integrazioni lo mostri: Slack, GitHub, Jira, Notion, Figma, Zapier, Dropbox, Google Drive, Microsoft Teams, GitLab, Outlook. Ho cercato nel codice e non esiste alcuna riga per nessuno di questi. Quella pagina è una griglia di marketing e va corretta.

Esiste l’integrazione WhatsApp?

No, nonostante il nome di una schermata nell’app. Quella schermata è in realtà l’associazione di un dispositivo tramite codice QR, nello stile a cui il mondo è abituato da WhatsApp Web — da lì viene il nome. Non esiste alcuna chiamata a un API WhatsApp. Inoltre: quel flusso non è usato, e le sue tabelle sono vuote, cosa che constata persino la migrazione che ne ha rivisto i permessi.

Com’è la sicurezza, al di là delle dichiarazioni?

La parte utile non è che abbiamo policy di accesso, ma che ne abbiamo trovato i buchi e li abbiamo riparati uno per uno, ogni migrazione spiegando cosa non funzionava. Un audit interno di agosto ha scoperto che tutte e tre le guardie per gli agenti erano inattive. Un’altra guardia si era rivelata fail-open — il controllo veniva saltato del tutto, non respinto — ed è stata invertita per fallire in chiusura. Il terzo problema era sottile e generale: in Postgres una nuova funzione è eseguibile implicitamente da tutti, quindi la concessione esplicita dei diritti non restringeva nulla; è stato verificato in produzione che una chiave anonima arrivasse nel corpo della funzione, poi è stato revocato il diritto implicito. A livello di repository, una guardia respinge i push diretti sul ramo principale e blocca i file di segreti, perché un repository privato su un account personale non può avere la protezione del ramo da GitHub.

Che cosa non è terminato?

Tre cose che preferiamo dire. I tipi generati per il database sono vecchi da gennaio e contengono tabelle di un progetto del tutto non correlato, il che ha imposto 101 conversioni di tipo forzate in 26 file — funziona, ma perde il controllo di compilazione proprio dove servirebbe. Il verificatore di stile segnala 161 errori ereditati e non blocca la consegna. E 36 test sono saltati nell’integrazione continua perché richiedono una chiave modello che lì non esiste. Nessuno dei tre blocca il prodotto; tutti e tre sono debito reale.

Come si installa e quanto è sicura la consegna?

Tramite rsync, non container: l’interfaccia arriva in una directory statica servita da nginx, il collettore e il server MCP girano come servizi systemd. L’integrazione continua esegue i test e costruisce; la consegna parte solo se questi hanno superato il ramo principale, tramite un esecutore proprio che ha il permesso di eseguire esattamente due script e nient’altro. Ogni azione esterna nella pipeline è fissata sulla sua impronta completa, non su un’etichetta, dopo il compromesso di un’azione popolare nel marzo 2026. Il controllo di salute legge quale pacchetto sia referenziato dalla pagina servita e fa rollback se non è quello fresco — regola scritta dopo un incidente reale del 3 settembre 2026. Le migrazioni del database restano manuali, deliberatamente.

Esempio illustrativo

Una conversazione telefonica diventa un’attività con prova allegata

Uno scenario di utilizzo, senza dati del cliente o risultati commerciali attribuiti.

Situazione iniziale

Una chiamata finisce con una promessa. Nessuno la scrive da nessuna parte, e dopo una settimana nessuno ricorda più né cosa è stato promesso, né a chi.

Come funziona

La chiamata entra nel board tramite una routine pianificata, come traccia con collegamento indietro alla fonte. Un loop la collega al dossier del cliente corretto e propone un’attività con responsabile e scadenza. La proposta resta proposta: la guardia nel database non permette a un agente di chiuderla, e la scrittura che dovrebbe chiuderla deve dichiarare chi l’ha richiesta.

Rezultatul

Il compito appare con allegato il contesto da cui è risultato, così che un collega che non è stato nella chiamata possa capire che cosa deve essere fatto senza ricostruire la discussione. Una persona conferma il responsabile, la scadenza e la formulazione — oppure respinge la proposta, il che è altrettanto informativo.

Ce este necesar:Sursa trebuie conectată efectiv, cu acces autorizat, și trebuie să existe un acord al echipei asupra a ce înseamnă o sarcină atribuită. Sistemul nu presupune consimțământul nimănui.

Possibilità di collaborazione

Taskin, nel contesto della vostra organizzazione.

Flussi interni e informazioni

Il collegamento delle fonti autorizzate, l’organizzazione delle informazioni e la revisione delle azioni da parte del team, con accesso separato per ruoli.

Imprese private

Definiamo un pilot attorno a un processo reale: utenti, dati, integrazioni, costi e criteri di accettazione. L’estensione segue dopo la valutazione del risultato.

Istituzioni e società statali

Stabiliamo i requisiti di accessibilità, hosting, protezione dei dati e interoperabilità. Ogni connessione con servizi AGE o STISC richiede la validazione dell’ammissibilità, dell’accesso e delle approvazioni.

Questi sono scenari di adattamento, non dichiarazioni su contratti o partenariati esistenti. Le funzioni proposte si confermano nell’ambito di lavoro del progetto.

Discută un pilot

Parte di un ecosistema.

Cosa vorresti che funzionasse meglio?

Raccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.

Parliamone