Una cartuccia è un piccolo programma con un contratto preciso: parla Bifaci su standard input e output, dichiara capacità tipizzate e gestisce le operazioni che possiede.

Parti dallo scaffold

Il punto di partenza supportato viene generato dal contratto runtime corrente:

capdag new sentiment-tagger --python
cd sentiment-tagger
python3 -m pip install capdag
capdag dev-install .
echo "I love this" | capdag sentiment-tagger

Il progetto definisce Media URN univoci per input e output, costruisce un Cap URN, lo dichiara insieme alla capacità identity obbligatoria, registra un’operazione e pubblica un manifest di sviluppo locale. Esistono scaffold equivalenti per Rust, Go e Swift.

L’esempio delega il giudizio a classify-en con l’insieme chiuso di etichette positive,neutral,negative. Una cartuccia modello fornisce l’inferenza; la piccola cartuccia possiede la decisione di dominio e inoltra il progresso del modello. Questa è la forma utile: comporre capacità esistenti invece di incorporare ogni dipendenza.

Cosa fa l’host

L’host scopre e avvia i processi, instrada stream Bifaci multiplexati, trasporta peer call, mappa il progresso, propaga cancellazioni ed errori e monitora lo stato. Il codice della cartuccia resta separato dai processi dell’engine e della UI.

L’involucro del sistema operativo cambia. macOS usa un host XPC e la firma dei pacchetti Apple per le cartucce distribuite. Linux e Windows usano i rispettivi daemon host e formati di pacchetto. Il protocollo wire e il contratto tipizzato non cambiano.

Dove si colloca lo sviluppo

capdag dev-install . prepara un manifest non pubblicato nel registro dev dell’utente. Un alias di sviluppo può introdurre una capacità assente dal fabric, ma non può sostituire un alias già assegnato a un altro Cap URN. Reinstalla dopo ogni modifica, compilando prima nei linguaggi compilati.

La pubblicazione porta le definizioni di capacità e di media in capfab e la proposta della cartuccia in cartridge-shelf. Metadati del registro, hash, firme e pacchetti di piattaforma rendono poi distribuibile l’eseguibile.

Costruisci l’esempio nel tutorial Costruisci la tua prima cartuccia.