fa2b2e16bc
El statusline solo se re-ejecutaba al cambiar los mensajes, asi que el estado de reposo que el Stop hook escribe ~2s despues (en background) no se reflejaba hasta que el usuario interactuaba. Se anade refreshInterval=2 para que el harness re- ejecute el statusline cada 2s tambien estando idle, mostrando el valor final sin necesidad de escribir y sin bloquear el turno. Para que el refresco continuo no sea caro en repos grandes, el bloque git se cachea por directorio con TTL de 6s (el estado git no cambia estando parado); los ticks idle reusan el cache (~0.1s vs ~0.33s recomputando). El goal file (la fase) se lee siempre fresco. Se revierte el intento previo de Stop sincrono (bloqueaba ~2s el control). Nota: Claude Code no soporta acotar el refresco a una ventana (p.ej. 10s y parar); refreshInterval es continuo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
61 lines
1.2 KiB
JSON
61 lines
1.2 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Edit(~/.claude/**)",
|
|
"Write(~/.claude/**)",
|
|
"Edit(.claude/**)",
|
|
"Write(.claude/**)"
|
|
],
|
|
"deny": [
|
|
"Edit(~/.claude/.git/**)",
|
|
"Write(~/.claude/.git/**)",
|
|
"Edit(.git/**)",
|
|
"Write(.git/**)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{ "type": "command", "command": "~/.claude/hooks/goal_tracker.sh" }
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{ "type": "command", "command": "~/.claude/hooks/goal_phase_eval.sh" }
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"hooks": [
|
|
{ "type": "command", "command": "~/.claude/hooks/goal_phase_active.sh" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"statusLine": {
|
|
"type": "command",
|
|
"command": "~/.claude/statusline.sh",
|
|
"padding": 1,
|
|
"refreshInterval": 2
|
|
},
|
|
"enabledPlugins": {
|
|
"gopls-lsp@claude-plugins-official": true,
|
|
"caveman@caveman": true
|
|
},
|
|
"extraKnownMarketplaces": {
|
|
"caveman": {
|
|
"source": {
|
|
"source": "github",
|
|
"repo": "JuliusBrussee/caveman"
|
|
}
|
|
}
|
|
},
|
|
"effortLevel": "xhigh",
|
|
"skipDangerousModePermissionPrompt": true,
|
|
"agentPushNotifEnabled": false
|
|
}
|