@lamemind/loom-deck 0.62.0 → 0.62.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/actions.js CHANGED
@@ -289,8 +289,8 @@ export function useDeckActions({ cwd, tasksPath, tasksDir, columns, model, setNo
289
289
  * il giorno in cui una natura nuova apre la skill sbagliata.
290
290
  *
291
291
  * Sessione NUDA e modello esplicito: il drain lavora sulla doc, non sulla
292
- * task (D10 preflight), e `opus` passa nell'argv anche essendo il default,
293
- * come `permissionMode`.
292
+ * task (D10 preflight), e `MODEL_DEFAULT` passa nell'argv anche essendo il
293
+ * default, come `permissionMode`.
294
294
  */
295
295
  function drainInbox(file, prompt) {
296
296
  const spawned = spawnBare(cwd, prompt, MODEL_DEFAULT);
@@ -9,7 +9,7 @@
9
9
  // Molto più magro dello sheet: nessuna area di compilazione. Lo sheet ha
10
10
  // quattro righe perché quattro parametri dello spawn sono una scelta (azione,
11
11
  // prompt, modello, titolo); qui non ce n'è nessuna — la skill la decide la
12
- // natura (D8), il modello è `opus` per tutte e tre (D11 preflight), la sessione
12
+ // natura (D8), il modello è `MODEL_DEFAULT` per tutte e tre (D11 preflight), la sessione
13
13
  // nasce nuda (D10 preflight). Restano la lettura e un tasto.
14
14
  //
15
15
  // Lo spawn NON sta qui: arriva come callback `onDrain`, per lo stesso confine
package/dist/spawn.js CHANGED
@@ -153,13 +153,15 @@ export const MODELS = ['fable', 'opus', 'sonnet', 'haiku'];
153
153
  // kind non ha una riga. Resta l'unico default che resume e fork usano per
154
154
  // intero, perché lì il modello non è mai una funzione del kind — è quello
155
155
  // della conversazione d'origine (T148).
156
- export const MODEL_DEFAULT = 'opus';
156
+ export const MODEL_DEFAULT = 'fable';
157
157
  // T152 — `recap-status-project` non è una chiave del catalogo (§Doc Impact,
158
158
  // "le chiavi del catalogo sono i valori di --prompt-kind"): lo spawn headless
159
159
  // non passa mai --prompt-kind, quindi una riga lì sarebbe irraggiungibile da
160
160
  // ogni chiamante. Il default vive qui, accanto a MODEL_DEFAULT, e non nel
161
- // catalogo. Valore = copia del frontmatter `model: opus` che la skill portava
162
- // prima di T152 (P4 preflight), nessuna ri-taratura.
161
+ // catalogo. Resta `opus` mentre i tre recap del catalogo stanno su fable: è
162
+ // l'unico recap che gira in headless (`-p`), senza nessuno che ne legga
163
+ // l'esito mentre si forma e possa rilanciarlo — il testo prodotto è il
164
+ // deliverable, e viene riletto da disco anche giorni dopo.
163
165
  export const PROJECT_STATUS_MODEL = 'opus';
164
166
  // T66 — le azioni del detail. Non sono un catalogo nuovo: ognuna è un
165
167
  // `--prompt-kind` già esistente più `checkpoint`, e tutte passano dallo stesso
@@ -276,9 +278,9 @@ export function spawnDeck(id, cwd, sessionId, kind, model = MODEL_DEFAULT, spawn
276
278
  // volta sola, quindi una nota cambiata DOPO non ri-titola la tab già aperta.
277
279
  //
278
280
  // T148 — il modello viaggia SEMPRE, come in `deckArgs`: senza `--model`
279
- // `deck-run` risolve il proprio default fisso (`opus`) e lo passa comunque al
280
- // CLI, quindi una conversazione haiku ripresa senza il flag ripartirebbe in
281
- // opus (P2 preflight). Qui però non c'è un default fisso da cablare: chi
281
+ // `deck-run` risolve il proprio default (`MODEL_DEFAULT`) e lo passa comunque
282
+ // al CLI, quindi una conversazione haiku ripresa senza il flag ripartirebbe sul
283
+ // default (P2 preflight). Qui però non c'è un default da cablare: chi
282
284
  // chiama ha già risolto il valore — il modello della conversazione d'origine,
283
285
  // o quello scelto al suo posto — e lo passa come argomento obbligatorio.
284
286
  export function resumeArgs(taskId, sessionId, model, note) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lamemind/loom-deck",
3
- "version": "0.62.0",
3
+ "version": "0.62.1",
4
4
  "description": "Deck TUI Ink per-progetto della famiglia loom: legge tasks.md e spawna sessioni Claude Code bound via LOOM_TASK",
5
5
  "type": "module",
6
6
  "bin": {
package/scripts/deck-run CHANGED
@@ -60,7 +60,7 @@
60
60
  # LOOM_DECK_STATE_PROFILE PTYXIS_PROFILE annunciata a compass (default: bindings/claude
61
61
  # del progetto, letto da dconf; settata a vuoto = nessun annuncio)
62
62
  # LOOM_DECK_PERMISSION_MODE override del permissionMode del file config (default: campo file, poi 'manual')
63
- # LOOM_DECK_MODEL modello quando --model non è passato (batte il catalogo, default: opus)
63
+ # LOOM_DECK_MODEL modello quando --model non è passato (batte il catalogo, default: fable)
64
64
  #
65
65
  set -euo pipefail
66
66
 
@@ -181,7 +181,7 @@ USAGE="uso: deck-run <TaskID> [--model <alias>] [--prompt-kind <kind>] [--sessio
181
181
  ha una task da nominare, a differenza dei kind del catalogo
182
182
 
183
183
  --model modello della sessione: fable|opus|sonnet|haiku
184
- (default: il modello del kind in catalogo, o 'opus' fuori catalogo)
184
+ (default: il modello del kind in catalogo, o 'fable' fuori catalogo)
185
185
  valore ignoto → fallback sul default, con avviso su stderr
186
186
 
187
187
  --title-note nota della conversazione, appesa al titolo tab
@@ -356,7 +356,12 @@ MODE_FLAG="--permission-mode ${PERM_MODE} "
356
356
 
357
357
  # ── modello (T108 + T152) ────────────────────────────────────────────────────
358
358
  # Precedenza: --model > env LOOM_DECK_MODEL > modello del kind nel catalogo >
359
- # 'opus'. Fino a T152 il default era un valore unico per tutta la famiglia,
359
+ # 'fable'. L'ultimo gradino è il gemello bash di `MODEL_DEFAULT` in spawn.ts e
360
+ # va tenuto allineato a mano: i due lati non si leggono a vicenda (il deck deve
361
+ # poter MOSTRARE la selezione iniziale prima che deck-run esista come processo),
362
+ # quindi un cambio qui senza l'altro fa partire dalla lista un modello diverso
363
+ # da quello che il detail aveva scritto a schermo.
364
+ # Fino a T152 il default era un valore unico per tutta la famiglia,
360
365
  # perché il frontmatter `model:` delle skill riscriveva comunque il modello di
361
366
  # sessione — un default configurabile qui non sarebbe servito a nulla. Da
362
367
  # quando le skill non dichiarano più `model:`, il default DEVE viaggiare col
@@ -395,9 +400,9 @@ if [[ -z "$MODEL" && -n "$CATALOG_KIND" && "$CATALOG_KIND" != "none" ]]; then
395
400
  fi
396
401
  case "${MODEL:-}" in
397
402
  fable|opus|sonnet|haiku) ;;
398
- '') MODEL="opus" ;;
399
- *) echo "modello ignoto: '${MODEL}' → fallback 'opus' (usa fable|opus|sonnet|haiku)" >&2
400
- MODEL="opus" ;;
403
+ '') MODEL="fable" ;;
404
+ *) echo "modello ignoto: '${MODEL}' → fallback 'fable' (usa fable|opus|sonnet|haiku)" >&2
405
+ MODEL="fable" ;;
401
406
  esac
402
407
  MODEL_FLAG="--model ${MODEL} "
403
408
 
@@ -3,7 +3,7 @@
3
3
  # Formato a righe: <kind><TAB><template><TAB><modello>, con `{TASK}`
4
4
  # interpolato col TaskID. Righe vuote e righe che iniziano con `#` sono
5
5
  # commenti. Il modello è OPZIONALE: una riga a due colonne resta leggibile e
6
- # chi la consulta cade sul proprio default (`MODEL_DEFAULT`/`opus`) — il campo
6
+ # chi la consulta cade sul proprio default (`MODEL_DEFAULT`/`fable`) — il campo
7
7
  # esiste per i kind bound a una skill (T152), non per ogni riga del file.
8
8
  #
9
9
  # Perché un file dati e non un `case` dentro deck-run: due lati hanno bisogno
@@ -20,18 +20,19 @@
20
20
  # nel comando passato a `bash -lc`, e questo file è committato — un apice qui
21
21
  # sarebbe un errore di scrittura, non un input da quotare.
22
22
  #
23
- # Il modello è la copia esatta del `model:` che il frontmatter delle sei skill
24
- # portava prima di T152 non una ri-taratura: nasce da un difetto di canale
25
- # (il frontmatter vinceva sempre su `--model`, rendendo il selettore del detail
26
- # inerte), non da un giudizio su quale modello convenga a quale skill.
23
+ # Il criterio della colonna modello: lettura e conversazione stanno su fable
24
+ # (i tre recap, il preflight), la scrittura presidiata su opus (run e
25
+ # checkpoint, che toccano codice e committano). Cambiare una parola qui cambia
26
+ # il costo di OGNI sessione aperta su quel kind, da ogni superficie del deck —
27
+ # non è una preferenza di questo progetto, è il default di famiglia.
27
28
  # `recap` è il DISPATCHER: risolve la task, ne legge il Size e passa da sé alla
28
29
  # sotto-skill. Lo usa chi non sa se la task è un cappello — gli acceleratori
29
30
  # della lista, dove il deck ha in mano solo tasks.md, che il Size non ce l'ha.
30
31
  # Le due voci `recap-task`/`recap-epic` saltano quel giro: le sceglie il DETAIL,
31
32
  # che il task file l'ha già aperto e quindi il Size lo conosce.
32
- recap /loom-works:recap-status {TASK} opus
33
- recap-task /loom-works:recap-status-task {TASK} opus
34
- recap-epic /loom-works:recap-status-epic {TASK} opus
35
- preflight /loom-works:preflight-task {TASK} opus
36
- run /loom-works:run-task {TASK} sonnet
37
- checkpoint /loom-works:checkpoint-task {TASK} sonnet
33
+ recap /loom-works:recap-status {TASK} fable
34
+ recap-task /loom-works:recap-status-task {TASK} fable
35
+ recap-epic /loom-works:recap-status-epic {TASK} fable
36
+ preflight /loom-works:preflight-task {TASK} fable
37
+ run /loom-works:run-task {TASK} opus
38
+ checkpoint /loom-works:checkpoint-task {TASK} opus