@tacuchi/agent-workflow-cli 14.11.0 → 14.12.0

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.
Files changed (54) hide show
  1. package/dist/application/logging/logger.d.ts +3 -0
  2. package/dist/application/logging/logger.d.ts.map +1 -1
  3. package/dist/application/logging/logger.js +4 -0
  4. package/dist/application/logging/logger.js.map +1 -1
  5. package/dist/application/self/detect-hosts.d.ts.map +1 -1
  6. package/dist/application/self/detect-hosts.js +11 -3
  7. package/dist/application/self/detect-hosts.js.map +1 -1
  8. package/dist/application/self/install-hooks.d.ts.map +1 -1
  9. package/dist/application/self/install-hooks.js +7 -3
  10. package/dist/application/self/install-hooks.js.map +1 -1
  11. package/dist/application/self/namespace-info.d.ts +18 -0
  12. package/dist/application/self/namespace-info.d.ts.map +1 -1
  13. package/dist/application/self/namespace-info.js +35 -0
  14. package/dist/application/self/namespace-info.js.map +1 -1
  15. package/dist/application/status-service.js +6 -3
  16. package/dist/application/status-service.js.map +1 -1
  17. package/dist/cli/commands/history-update.d.ts.map +1 -1
  18. package/dist/cli/commands/history-update.js +4 -2
  19. package/dist/cli/commands/history-update.js.map +1 -1
  20. package/dist/cli/commands/self.d.ts.map +1 -1
  21. package/dist/cli/commands/self.js +6 -4
  22. package/dist/cli/commands/self.js.map +1 -1
  23. package/dist/cli/main.js +4 -1
  24. package/dist/cli/main.js.map +1 -1
  25. package/dist/cli/tui/app.d.ts.map +1 -1
  26. package/dist/cli/tui/app.js +27 -17
  27. package/dist/cli/tui/app.js.map +1 -1
  28. package/dist/cli/tui/notification-center.d.ts.map +1 -1
  29. package/dist/cli/tui/notification-center.js +12 -1
  30. package/dist/cli/tui/notification-center.js.map +1 -1
  31. package/dist/cli/tui/tabs/mcp-tab.d.ts +1 -3
  32. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  33. package/dist/cli/tui/tabs/mcp-tab.js +3 -4
  34. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  35. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  36. package/dist/cli/tui/tabs/project-tab.js +7 -1
  37. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  38. package/dist/domain/plugin.d.ts +2 -1
  39. package/dist/domain/plugin.d.ts.map +1 -1
  40. package/dist/runtime/namespace-resolver.d.ts +6 -0
  41. package/dist/runtime/namespace-resolver.d.ts.map +1 -1
  42. package/dist/runtime/namespace-resolver.js +9 -1
  43. package/dist/runtime/namespace-resolver.js.map +1 -1
  44. package/package.json +1 -1
  45. package/skills/w/commands/README.md +1 -1
  46. package/skills/w/commands/export-diagrams.md +1 -1
  47. package/skills/w/commands/export-manuals.md +1 -1
  48. package/skills/w/commands/export-reports.md +1 -1
  49. package/skills/w/exports/README.md +1 -1
  50. package/skills/w/exports/export-reports/SKILL.md +2 -4
  51. package/skills/w/harness/SKILL.md +7 -5
  52. package/skills/w/hooks/README.md +2 -0
  53. package/skills/w/hooks/hooks.template.json +1 -1
  54. package/skills/w/loops/README.md +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Genera manuales de usuario/operación en docs/manuals/ consolidando sesiones, DECISION, plan-doc y código fuente. Single-pass, explícito.
3
- argument-hint: [--sessions <ids>] [--audiencia <usuario|operacion>] [--dry-run]
3
+ argument-hint: [--sessions <ids>] [--mode <complement|regenerate>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Genera un informe ejecutivo/funcional en docs/reports/ consolidando el corpus de sesiones (spec, CONCLUSIONS, DECISION), el plan-doc y el estado de docs/. Single-pass, explícito.
3
- argument-hint: [--sesiones <ids>] [--tipo <ejecutivo|funcional>] [--dry-run]
3
+ argument-hint: [--sessions <ids>] [--audience <gerencia|tecnica>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -3,7 +3,7 @@
3
3
  > This is the **bundle README** for the `export-*` family: the **only** path that promotes session artifacts to permanent `docs/` documents. Each export is invoked by the **user** (never by a loop) as a separate, explicit step.
4
4
  > Related layers: [`../commands/`](../commands/) (Layer 1 flows) · [`../loops/`](../loops/) (Layer 2, AI-driven) · artifacts live in `.workflow/sessions/` (Layer 3). Design reference: `docs/referencias/workflow-exports/`.
5
5
  >
6
- > **Namespace:** invoked via the Skill tool by `name:` — `export-scripts`, `export-manuals`, `export-diagrams`, `export-reports`. The thin `/w:export-*` slash commands that route here are authored separately under [`../commands/`](../commands/).
6
+ > **Namespace:** these are skills registered **by name** (`name:` — `export-scripts`, `export-manuals`, `export-diagrams`, `export-reports`); in Claude Code they are reached via the `Skill` tool — the by-name binding of the procedure-loading capability, not a universal (see [`../harness/SKILL.md`](../harness/SKILL.md)). The thin `/w:export-*` slash commands that route here are authored separately under [`../commands/`](../commands/).
7
7
 
8
8
  ---
9
9
 
@@ -61,16 +61,14 @@ En plan mode **describe**, no escribe: la audiencia/longitud resuelta, las sesio
61
61
 
62
62
  ```
63
63
  /w:export-reports [--sessions NNN[,NNN]] [--since sessionNNN] [--source <alias>]
64
- [--period last-quarter|last-month|YYYY-MM..YYYY-MM]
65
64
  [--audience gerencia|tecnica] [--slug <kebab>] [--dry-run]
66
65
  ```
67
66
 
68
67
  | Flag | Comportamiento |
69
68
  |---|---|
70
- | `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`/`--period`) |
69
+ | `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`) |
71
70
  | `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
72
71
  | `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
73
- | `--period` | Ventana temporal (`last-month`/`last-quarter`/rango `YYYY-MM..YYYY-MM`) |
74
72
  | `--audience gerencia\|tecnica` | Modula longitud/léxico: `gerencia` ≈ corto/ejecutivo; `tecnica` ≈ detallado |
75
73
  | `--slug <kebab>` | Override del slug del filename (default: `export-reports`) |
76
74
  | `--dry-run` | Reporte propositivo sin escribir |
@@ -81,7 +79,7 @@ Sin args: todo el corpus, audiencia ejecutiva por default. *(Si algún flag exac
81
79
 
82
80
  ### Paso 1 — Resolver contexto y filtrar corpus
83
81
 
84
- `aw sessions` / `release-data` aplicando `--sessions`/`--since`/`--source`/`--period`. Si el conjunto resultante está vacío → **abortar** con mensaje explícito ("No hay sesiones en el rango declarado"). La resolución de la carpeta destino la maneja el CLI.
82
+ `aw sessions` / `release-data` aplicando `--sessions`/`--since`/`--source`. Si el conjunto resultante está vacío → **abortar** con mensaje explícito ("No hay sesiones en el rango declarado"). La resolución de la carpeta destino la maneja el CLI.
85
83
 
86
84
  ### Paso 2 — Recolectar inputs por sesión
87
85
 
@@ -3,7 +3,7 @@ name: harness
3
3
  description: >-
4
4
  Harness-agnostic capability layer for agent-workflow. Read-and-follow doc (no es
5
5
  invocable por nombre): define el contrato que mantiene a la herramienta agnóstica al
6
- arnés (Claude Code, Codex, Gemini/Antigravity, OpenCode, Crush, Warp, genérico) sin renunciar a las
6
+ arnés (Claude Code, Codex, Gemini/Antigravity, OpenCode, Crush, Warp/Oz, genérico) sin renunciar a las
7
7
  capacidades ricas de cada uno. Cataloga las capacidades de las que depende el
8
8
  workflow, las liga al mecanismo concreto de cada arnés (binding matrix), y fija los
9
9
  dos principios (capacidad-no-tool · progressive-enhancement). Referenciado desde
@@ -44,9 +44,9 @@ Las capacidades de las que depende el harness, con su fallback universal (lo que
44
44
 
45
45
  ## Harness binding matrix
46
46
 
47
- Mecanismo concreto por arnés (**jul-2026**, verificado contra docs oficiales; `~` parcial). Antigravity CLI reusa las superficies de Gemini (`~/.gemini/`).
47
+ Mecanismo concreto por arnés (**jul-2026**, verificado contra docs oficiales; `~` parcial). Antigravity CLI reusa las superficies de Gemini (`~/.gemini/`); Oz reusa las de Warp (comparte columna **Warp / Oz**, con MCP por flag — ver la nota al pie de la matriz).
48
48
 
49
- | Capability | Claude Code | Codex | Gemini / Antigravity | OpenCode | Crush | Warp | Genérico |
49
+ | Capability | Claude Code | Codex | Gemini / Antigravity | OpenCode | Crush | Warp / Oz | Genérico |
50
50
  |---|---|---|---|---|---|---|---|
51
51
  | command-invocation | `.claude/commands/` (slash) | slash + skills | `.gemini/commands/*.toml` | `.opencode/command/` | skills user-invocable | Workflows (Drive) | texto |
52
52
  | procedure-loading (skills) | `SKILL.md` `.claude/skills` | `SKILL.md` `.agents/skills` | `SKILL.md` (agentskills) | `SKILL.md` `.opencode`+`.claude`+`.agents` | `SKILL.md` `.agents`+`.crush`+`.claude` | `SKILL.md` `.agents`+`.warp`+`.claude` | read-and-follow `.md` |
@@ -54,12 +54,14 @@ Mecanismo concreto por arnés (**jul-2026**, verificado contra docs oficiales; `
54
54
  | compaction | `/compact` | Pre/PostCompact hooks | ~ | `session.compacted` | ~ | ~ | CHECKPOINT + resume |
55
55
  | subagent-dispatch | `Task` (paralelo) | `SubagentStart` / agents | agents (`.gemini/agents`) | `.opencode/agent/*.md` | ~ | ~ (cloud agents) | inline |
56
56
  | persistent-context | `CLAUDE.md` (**no** lee AGENTS.md → symlink) | `AGENTS.md` | `GEMINI.md` + `AGENTS.md` | `AGENTS.md` | `CRUSH.md` + `AGENTS.md` | `AGENTS.md` (auto) | `AGENTS.md` |
57
- | external-data (MCP) | `.mcp.json` | `.codex/config.toml` `[mcp_servers]` | `settings.json` `mcpServers` | `opencode.json` `mcp` | `crush.json` `mcp` | `.warp/.mcp.json` (+autodescubre `.mcp.json`) | — |
57
+ | external-data (MCP) | `.mcp.json` | `.codex/config.toml` `[mcp_servers]` | `settings.json` `mcpServers` | `opencode.json` `mcp` | `crush.json` `mcp` | `.warp/.mcp.json` (+autodescubre `.mcp.json`) · Oz: flag `--mcp` | — |
58
58
  | **enforcement (deny tool)** | `PreToolUse` → `permissionDecision:deny` / exit 2 | `PreToolUse` (**≈mismo protocolo**) | `BeforeTool` → `decision:deny` / exit 2 | plugin `tool.execute.before` (`throw`) | `allowed_tools` (+ hooks preliminares) | allow/deny lists (**grueso**) | doctrina (git-safe #5) |
59
59
  | plugin / dist | `.claude-plugin` + marketplace | `.codex-plugin` + `/plugins` marketplace | Extension `gemini-extension.json` | plugin JS/TS (npm) | MCP + skills + config | Warp Drive | — |
60
60
 
61
61
  > **Notas (investigación de campo jul-2026):** las **skills `SKILL.md`** son la unidad portable **universal** — **los seis** arneses las soportan (Codex las agregó Dic-2025; **`.agents/skills` es el ancla cross-host**, leída por Codex/OpenCode/Crush/Warp). La **elección estructurada** (`AskUserQuestion`) sigue siendo **solo Claude Code / main-agent** → en el resto `structured-choice` degrada a markdown numerado. La **capa de enforcement** (fila nueva) ya **NO es exclusiva de Claude**: Codex + Gemini usan un protocolo casi idéntico (`permissionDecision:deny` / exit 2) y OpenCode bloquea vía `throw` en un plugin JS; Crush/Warp solo ofrecen allow/deny **grueso** (sin lógica custom por comando) → en ellos las convenciones quedan **advisory** + listas allow/deny. El **plan mode** enforced no se confía para safety; el git-safe (invariante #5) es propio. **MCP** es universal (cada host su archivo/clave). El **piso garantizado** (última columna) corre el modelo completo.
62
62
 
63
+ > **Oz (hermano cloud de Warp).** `oz agent run` es un orquestador de agentes en la nube que **reusa las superficies de Warp**: mismas skills (`.agents/skills`, aplanadas a top-level como Warp) y `AGENTS.md`, con `structured-choice` igual degradada a markdown numerado. Difiere en tres puntos: **detección** por `OZ_RUN_ID` (prioritaria sobre Warp si coexisten los marcadores); **MCP sin archivo de config** — emite el JSON por el flag `--mcp` de `oz agent run` (o la env `OZ_MCP_CONFIG`), no escribe `.warp/.mcp.json`; y **sin plugin ni hooks** (enforcement advisory, como Warp). Por eso comparte la columna **Warp / Oz** con esa salvedad de MCP.
64
+
63
65
  ## Leverage installed skills
64
66
 
65
67
  "Aprovechar las skills que el arnés tenga instaladas" se resuelve por el **mismo binding** de `.workflow/skills.toml`: un rol puede apuntar a una skill **instalada en el host** (de tercero, vía skills.sh) en vez del built-in. Regla:
@@ -83,4 +85,4 @@ El **contrato** de cada comando (Flow, Trigger, Input, Mode, …) es agnóstico.
83
85
 
84
86
  ## Status
85
87
 
86
- Modelo de capacidades + matriz de binding **definidos** y **validados** con investigación de campo (**jul-2026**, contra docs oficiales). Cobertura **6 arneses reales**: Claude Code, Codex, Gemini/Antigravity, OpenCode, Crush, Warp — todos soportan `SKILL.md` (ancla `.agents/skills`) + MCP + `AGENTS.md`; enforcement determinista en Claude/Codex/Gemini/OpenCode, advisory + allow/deny grueso en Crush/Warp. El CLI (`aw`) implementa el registro (`domain/harnesses.ts`), los writers MCP por-host, `detect-hosts` e `install-skill --target <host>`. El piso universal (`AGENTS.md` + texto + archivos + skills) corre el modelo completo hoy.
88
+ Modelo de capacidades + matriz de binding **definidos** y **validados** con investigación de campo (**jul-2026**, contra docs oficiales). Cobertura **6 arneses reales** (familias; Warp/Oz cuenta como una, igual que Gemini/Antigravity): Claude Code, Codex, Gemini/Antigravity, OpenCode, Crush, Warp/Oz — todos soportan `SKILL.md` (ancla `.agents/skills`) + MCP + `AGENTS.md`; enforcement determinista en Claude/Codex/Gemini/OpenCode, advisory + allow/deny grueso en Crush/Warp/Oz. El CLI (`aw`) implementa el registro (`domain/harnesses.ts`), los writers MCP por-host, `detect-hosts` e `install-skill --target <host>`. El piso universal (`AGENTS.md` + texto + archivos + skills) corre el modelo completo hoy.
@@ -17,3 +17,5 @@
17
17
  > **What they enforce (host-level, blocking):** invariant **#4** (DB scripts-only) via `sql-mutation-guard` (blocks DML/DDL over MCP), and the *expected-branch* clause of **#5** via `branch-check` (blocks edits on the wrong branch). The rest of git-safe (`push`/`--amend`/`--no-verify`/`--force`) is **doctrinal** — `git-commit-advisor` only **warns**, it does not block; a host may add its own deny hook if it wants hard enforcement.
18
18
  >
19
19
  > **Commands:** the three `PreToolUse` hooks are `agent-workflow hook <branch-check|sql-mutation-guard|git-commit-advisor>` subcommands; the lifecycle hooks (`auto-compact-on-close`, `checkpoint-write`, `resume-summary`) are **top-level** runtime commands (`agent-workflow <cmd>`).
20
+ >
21
+ > **Portability (`SessionStart`).** The namespace-pin hook invokes the binary directly — `agent-workflow self namespace --pin workflow` — which writes `~/.config/agent-workflow/namespace` cross-platform via Node `fs` (no shell, no literal `$HOME`), the same portable-argv shape every other hook uses. It replaced the old `sh -c` + `$HOME` one-liner, which was the only hook that could not run on Windows.
@@ -6,7 +6,7 @@
6
6
  "hooks": [
7
7
  {
8
8
  "type": "command",
9
- "command": "sh -c 'NS_FILE=\"$HOME/.config/agent-workflow/namespace\"; mkdir -p \"$(dirname \"$NS_FILE\")\" 2>/dev/null; printf \"workflow\\n\" > \"$NS_FILE\" 2>/dev/null; exit 0'",
9
+ "command": "agent-workflow self namespace --pin workflow",
10
10
  "timeout": 5
11
11
  }
12
12
  ]
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## What a loop is
10
10
 
11
- Un loop es una **skill** que le enseña a la IA *cómo iterar* hasta producir un entregable. **No es invocable por nombre** con el tool `Skill` (no se registra como skill suelta): es el cuerpo de su comando `/w:…`, que lo **carga leyendo `<loop>/SKILL.md`** y lo ejecuta inline.
11
+ Un loop es una **skill** que le enseña a la IA *cómo iterar* hasta producir un entregable. **No es invocable por nombre** como skill suelta (no se registra como tal; en Claude Code, la invocación por nombre es el tool `Skill` su binding, no un universal): es el cuerpo de su comando `/w:…`, que lo **carga leyendo `<loop>/SKILL.md`** y lo ejecuta inline.
12
12
 
13
13
  Los 5 loops corren el mismo **motor común**, cuyo canon vive en [`CHASSIS.md`](CHASSIS.md): objetivo persistente + verification-first, gap-driven convergente, session única por run con research inline, structured-choice + control `flow` (`Compactar`/`Cerrar`, siempre presente), compact/resume, artefactos como log vivo, convergence gate y el boundary de `docs/`. Cada loop es un **heir**: su `## Inherits` manda leer el chasis antes de sus deltas — nada del motor se repite acá.
14
14