@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 +2 -2
- package/dist/overlays/inbox.js +1 -1
- package/dist/spawn.js +8 -6
- package/package.json +1 -1
- package/scripts/deck-run +11 -6
- package/scripts/prompt-catalog +12 -11
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 `
|
|
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);
|
package/dist/overlays/inbox.js
CHANGED
|
@@ -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 è `
|
|
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 = '
|
|
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.
|
|
162
|
-
//
|
|
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
|
|
280
|
-
// CLI, quindi una conversazione haiku ripresa senza il flag ripartirebbe
|
|
281
|
-
//
|
|
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
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:
|
|
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 '
|
|
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
|
-
# '
|
|
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="
|
|
399
|
-
*) echo "modello ignoto: '${MODEL}' → fallback '
|
|
400
|
-
MODEL="
|
|
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
|
|
package/scripts/prompt-catalog
CHANGED
|
@@ -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`/`
|
|
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
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
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}
|
|
33
|
-
recap-task /loom-works:recap-status-task {TASK}
|
|
34
|
-
recap-epic /loom-works:recap-status-epic {TASK}
|
|
35
|
-
preflight /loom-works:preflight-task {TASK}
|
|
36
|
-
run /loom-works:run-task {TASK}
|
|
37
|
-
checkpoint /loom-works:checkpoint-task {TASK}
|
|
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
|