@tacuchi/agent-workflow-cli 14.8.0 → 14.10.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.
- package/dist/adapters/git-cli.d.ts +2 -0
- package/dist/adapters/git-cli.d.ts.map +1 -1
- package/dist/adapters/git-cli.js +32 -24
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-process.d.ts.map +1 -1
- package/dist/adapters/node-process.js +41 -10
- package/dist/adapters/node-process.js.map +1 -1
- package/dist/application/logging/log-events.d.ts +6 -0
- package/dist/application/logging/log-events.d.ts.map +1 -1
- package/dist/application/logging/log-events.js +10 -0
- package/dist/application/logging/log-events.js.map +1 -1
- package/dist/application/mcp-host-paths.d.ts +17 -0
- package/dist/application/mcp-host-paths.d.ts.map +1 -0
- package/dist/application/mcp-host-paths.js +30 -0
- package/dist/application/mcp-host-paths.js.map +1 -0
- package/dist/application/mcp-host-reader.d.ts.map +1 -1
- package/dist/application/mcp-host-reader.js +15 -5
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.d.ts.map +1 -1
- package/dist/application/mcp-host-writer.js +19 -5
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/mcp-remove-service.js +3 -3
- package/dist/application/mcp-remove-service.js.map +1 -1
- package/dist/application/mcp-setup-service.js +3 -3
- package/dist/application/mcp-setup-service.js.map +1 -1
- package/dist/application/plugin-doctor/skills.d.ts +1 -0
- package/dist/application/plugin-doctor/skills.d.ts.map +1 -1
- package/dist/application/plugin-doctor/skills.js +1 -1
- package/dist/application/plugin-doctor/skills.js.map +1 -1
- package/dist/application/release-data/artifacts.d.ts.map +1 -1
- package/dist/application/release-data/artifacts.js +5 -1
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/self/detect-hosts.d.ts.map +1 -1
- package/dist/application/self/detect-hosts.js +12 -8
- package/dist/application/self/detect-hosts.js.map +1 -1
- package/dist/application/self/install-plugin-skills-git.js +2 -1
- package/dist/application/self/install-plugin-skills-git.js.map +1 -1
- package/dist/application/self/install-plugin-skills.d.ts.map +1 -1
- package/dist/application/self/install-plugin-skills.js +2 -2
- package/dist/application/self/install-plugin-skills.js.map +1 -1
- package/dist/application/self/install-skill.d.ts +2 -1
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +5 -32
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/install-targets.d.ts +10 -0
- package/dist/application/self/install-targets.d.ts.map +1 -0
- package/dist/application/self/install-targets.js +19 -0
- package/dist/application/self/install-targets.js.map +1 -0
- package/dist/application/self/plugin-cache-clear.d.ts +2 -1
- package/dist/application/self/plugin-cache-clear.d.ts.map +1 -1
- package/dist/application/self/plugin-cache-clear.js +5 -2
- package/dist/application/self/plugin-cache-clear.js.map +1 -1
- package/dist/application/self/plugin-cache-reload.js.map +1 -1
- package/dist/application/self/uninstall-skill.d.ts.map +1 -1
- package/dist/application/self/uninstall-skill.js +4 -2
- package/dist/application/self/uninstall-skill.js.map +1 -1
- package/dist/application/source-launch-scripts-service.d.ts +6 -0
- package/dist/application/source-launch-scripts-service.d.ts.map +1 -1
- package/dist/application/source-launch-scripts-service.js +15 -2
- package/dist/application/source-launch-scripts-service.js.map +1 -1
- package/dist/application/source-launch-service.d.ts +4 -2
- package/dist/application/source-launch-service.d.ts.map +1 -1
- package/dist/application/source-launch-service.js +7 -3
- package/dist/application/source-launch-service.js.map +1 -1
- package/dist/cli/commands/check-branch.d.ts.map +1 -1
- package/dist/cli/commands/check-branch.js +4 -2
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/checkpoint-read.d.ts.map +1 -1
- package/dist/cli/commands/checkpoint-read.js +2 -1
- package/dist/cli/commands/checkpoint-read.js.map +1 -1
- package/dist/cli/commands/checkpoint-write.d.ts.map +1 -1
- package/dist/cli/commands/checkpoint-write.js +2 -1
- package/dist/cli/commands/checkpoint-write.js.map +1 -1
- package/dist/cli/commands/code-scan.d.ts.map +1 -1
- package/dist/cli/commands/code-scan.js +9 -10
- package/dist/cli/commands/code-scan.js.map +1 -1
- package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -1
- package/dist/cli/commands/compress-checkpoint.js +2 -1
- package/dist/cli/commands/compress-checkpoint.js.map +1 -1
- package/dist/cli/commands/dev-only.js +2 -2
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/git-flow.d.ts.map +1 -1
- package/dist/cli/commands/git-flow.js +3 -7
- package/dist/cli/commands/git-flow.js.map +1 -1
- package/dist/cli/commands/history-data.d.ts.map +1 -1
- package/dist/cli/commands/history-data.js +2 -1
- package/dist/cli/commands/history-data.js.map +1 -1
- package/dist/cli/commands/history-update.d.ts.map +1 -1
- package/dist/cli/commands/history-update.js +3 -1
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +89 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +8 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +9 -8
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/merge-state.d.ts.map +1 -1
- package/dist/cli/commands/merge-state.js +2 -5
- package/dist/cli/commands/merge-state.js.map +1 -1
- package/dist/cli/commands/multiroot.d.ts.map +1 -1
- package/dist/cli/commands/multiroot.js +8 -14
- package/dist/cli/commands/multiroot.js.map +1 -1
- package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
- package/dist/cli/commands/plugin-doctor.js +3 -1
- package/dist/cli/commands/plugin-doctor.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +4 -1
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/release-data.d.ts.map +1 -1
- package/dist/cli/commands/release-data.js +6 -2
- package/dist/cli/commands/release-data.js.map +1 -1
- package/dist/cli/commands/resume-summary.d.ts.map +1 -1
- package/dist/cli/commands/resume-summary.js +2 -1
- package/dist/cli/commands/resume-summary.js.map +1 -1
- package/dist/cli/commands/session-artifacts.d.ts.map +1 -1
- package/dist/cli/commands/session-artifacts.js +61 -1
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +2 -1
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-resume.d.ts.map +1 -1
- package/dist/cli/commands/session-resume.js +10 -1
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +2 -1
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/skill-index.d.ts.map +1 -1
- package/dist/cli/commands/skill-index.js +2 -1
- package/dist/cli/commands/skill-index.js.map +1 -1
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +2 -1
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/stack.d.ts.map +1 -1
- package/dist/cli/commands/stack.js +2 -1
- package/dist/cli/commands/stack.js.map +1 -1
- package/dist/cli/help-groups.d.ts +12 -1
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +44 -8
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +8 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts +6 -0
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +77 -2
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +4 -2
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/logs-section.d.ts.map +1 -1
- package/dist/cli/tui/components/logs-section.js +12 -1
- package/dist/cli/tui/components/logs-section.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +6 -3
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/notification-center.d.ts +11 -1
- package/dist/cli/tui/notification-center.d.ts.map +1 -1
- package/dist/cli/tui/notification-center.js +9 -2
- package/dist/cli/tui/notification-center.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +9 -0
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +21 -17
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +11 -10
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/types.d.ts +7 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/domain/harnesses.d.ts.map +1 -1
- package/dist/domain/harnesses.js +3 -1
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/mcp-entry.d.ts +1 -1
- package/dist/domain/mcp-entry.d.ts.map +1 -1
- package/dist/domain/mcp-entry.js +9 -3
- package/dist/domain/mcp-entry.js.map +1 -1
- package/dist/ports/process.d.ts +3 -2
- package/dist/ports/process.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/w/README.md +1 -1
- package/skills/w/SKILL.md +2 -2
- package/skills/w/exports/README.md +1 -1
- package/skills/w/exports/export-diagrams/SKILL.md +3 -3
- package/skills/w/exports/export-manuals/SKILL.md +3 -3
- package/skills/w/exports/export-reports/SKILL.md +3 -3
- package/skills/w/exports/export-scripts/SKILL.md +3 -3
- package/skills/w/loops/README.md +1 -1
- package/skills/w/loops/plan-exec-loop/SKILL.md +12 -18
- package/skills/w/loops/plan-new-loop/SKILL.md +10 -16
- package/skills/w/loops/plan-refine-loop/SKILL.md +9 -13
- package/skills/w/loops/quick-loop/SKILL.md +11 -17
- package/skills/w/loops/spec-refine-loop/SKILL.md +1 -1
- package/skills/w/roles/README.md +1 -1
- package/skills/w/roles/git/SKILL.md +3 -3
package/skills/w/README.md
CHANGED
|
@@ -33,7 +33,7 @@ ZONE docs/ — permanent, user-facing deliverables
|
|
|
33
33
|
| [`loops/`](loops/) | 2 | The 5 loops (chassis `spec-refine-loop` + heirs) the AI runs |
|
|
34
34
|
| [`exports/`](exports/) | 1 | The `export-*` family — the only artifact→`docs/` promotion path |
|
|
35
35
|
| [`roles/`](roles/) | cross-cutting | Pluggable capability skills (built-in defaults; rebindable via `.workflow/skills.toml`) |
|
|
36
|
-
| [`harness/`](harness/SKILL.md) | cross-cutting | Capability→harness-mechanism binding (agnostic across Claude Code / Codex /
|
|
36
|
+
| [`harness/`](harness/SKILL.md) | cross-cutting | Capability→harness-mechanism binding (agnostic across Claude Code / Codex / Gemini-Antigravity / OpenCode / Crush / Warp) |
|
|
37
37
|
| [`artifacts/`](artifacts/) | 3 | Session artifact templates the loops manage |
|
|
38
38
|
| [`hooks/`](hooks/) | — | Host hook template (branch-check, sql-mutation-guard, checkpoint, …) |
|
|
39
39
|
| [`SKILL.md`](SKILL.md) | overview | The `workflow` orientation skill (whole-model guide) |
|
package/skills/w/SKILL.md
CHANGED
|
@@ -154,13 +154,13 @@ Catálogo de roles y su default:
|
|
|
154
154
|
| `diagrams` | `diagrams` | should | `export-diagrams` |
|
|
155
155
|
| `overview` | `workflow` | should | cualquiera (orientación) |
|
|
156
156
|
|
|
157
|
-
> **Convenciones ambientes (no roles)
|
|
157
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [roles/README.md](roles/README.md).
|
|
158
158
|
|
|
159
159
|
El **chasis del loop** NO se bindea: **es** el loop, no es enchufable.
|
|
160
160
|
|
|
161
161
|
### Harness (agnóstico al arnés)
|
|
162
162
|
|
|
163
|
-
La doctrina nombra **capacidades** abstractas, no tools concretos de un arnés. Un solo doc —`harness/SKILL.md`— liga cada capacidad al mecanismo de cada arnés (Claude Code, Codex,
|
|
163
|
+
La doctrina nombra **capacidades** abstractas, no tools concretos de un arnés. Un solo doc —`harness/SKILL.md`— liga cada capacidad al mecanismo de cada arnés (Claude Code, Codex, Gemini/Antigravity, OpenCode, Crush, Warp, genérico). Dos principios: **capacidad-no-tool** (los loops/comandos referencian la capacidad por nombre) y **progressive-enhancement** (usar el mecanismo más rico del arnés; degradar a un fallback universal cuando no exista).
|
|
164
164
|
|
|
165
165
|
Capacidades clave:
|
|
166
166
|
|
|
@@ -64,7 +64,7 @@ Exports read the corpus through the CLI — **never hard-coded paths**:
|
|
|
64
64
|
|
|
65
65
|
- `aw sessions` — list sessions (counts + next correlative) to enumerate the corpus.
|
|
66
66
|
- `aw release-data [--since sessionNNN] [--source alias]` — consolidated dump of sessions (corpus enumeration).
|
|
67
|
-
- `aw session-artifacts --code <NNN
|
|
67
|
+
- `aw session-artifacts --code <NNN> [--dump [kinds]]` — counts by default; `--dump` returns `{path, content, size}` per artifact (objetivo, decisiones, conclusiones, tasks, checkpoint, backlog, scripts).
|
|
68
68
|
- `aw next-number docs/<category>` — deterministic numbering of the output.
|
|
69
69
|
|
|
70
70
|
> The destination-folder resolution (workspace root, single- vs multi-source) is handled by the CLI internally. If a specific flag is uncertain at implementation time, it is noted inline in each SKILL.
|
|
@@ -50,7 +50,7 @@ En plan mode **describe**, no escribe: el motor resuelto, los niveles/secciones
|
|
|
50
50
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
51
51
|
|
|
52
52
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus (insumo del delta AS-IS/TO-BE).
|
|
53
|
-
- `aw session-artifacts --code <NNN
|
|
53
|
+
- `aw session-artifacts --code <NNN> --dump objetivo` — ubica la sesión y su referencia al plan-doc; `AS-IS`/`TO-BE`/`Impacted` se leen del plan-doc por su path.
|
|
54
54
|
- `aw next-number docs/diagrams` — numeración determinística (la resolución de la carpeta destino la maneja el CLI).
|
|
55
55
|
|
|
56
56
|
**Filesystem / código**:
|
|
@@ -70,7 +70,7 @@ En plan mode **describe**, no escribe: el motor resuelto, los niveles/secciones
|
|
|
70
70
|
| Flag | Comportamiento |
|
|
71
71
|
|---|---|
|
|
72
72
|
| `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`); afecta el delta AS-IS/TO-BE |
|
|
73
|
-
| `--since sessionNNN` | Solo sesiones posteriores a NNN (
|
|
73
|
+
| `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
|
|
74
74
|
| `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
|
|
75
75
|
| `--engine mermaid\|c4` | Default `mermaid` (render en GitHub); `c4` = Structurizr DSL opt-in |
|
|
76
76
|
| `--scope` | Qué secciones aparecen: `c4` (contexto/contenedores/componentes), `integrations`, `data` (solo si MCP), `todo` (default) |
|
|
@@ -90,7 +90,7 @@ Por cada fuente: estructura básica, componentes internos (módulos, servicios,
|
|
|
90
90
|
|
|
91
91
|
### Paso 3 — Leer el delta del corpus
|
|
92
92
|
|
|
93
|
-
Por sesión filtrada (`aw session-artifacts --code <NNN
|
|
93
|
+
Por sesión filtrada (`aw session-artifacts --code <NNN> --dump objetivo`): seguir la referencia al plan-doc y leer `Current state (AS-IS)` / `Target state (TO-BE)` e `Impacted`. Sirve para resaltar lo que cambió sobre el snapshot vigente.
|
|
94
94
|
|
|
95
95
|
### Paso 4 — Inspeccionar MCP (opcional)
|
|
96
96
|
|
|
@@ -51,7 +51,7 @@ En plan mode **describe**, no escribe: el modo resuelto, los temas detectados (c
|
|
|
51
51
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
52
52
|
|
|
53
53
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus.
|
|
54
|
-
- `aw session-artifacts --code <NNN
|
|
54
|
+
- `aw session-artifacts --code <NNN> --dump objetivo,decisiones` — devuelve `{path, content, size}` por artefacto (`SESSION` con su `## Objective`, `DECISION`); el plan-doc se lee por su path.
|
|
55
55
|
- `aw next-number docs/manuals` — numeración determinística (solo modo `regenerate`).
|
|
56
56
|
|
|
57
57
|
**Filesystem**:
|
|
@@ -70,7 +70,7 @@ En plan mode **describe**, no escribe: el modo resuelto, los temas detectados (c
|
|
|
70
70
|
| Flag | Comportamiento |
|
|
71
71
|
|---|---|
|
|
72
72
|
| `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`) |
|
|
73
|
-
| `--since sessionNNN` | Solo sesiones posteriores a NNN (
|
|
73
|
+
| `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
|
|
74
74
|
| `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
|
|
75
75
|
| `--mode complement\|regenerate` | Default `complement` |
|
|
76
76
|
| `--topics slug1,slug2` | Limita a los temas declarados |
|
|
@@ -97,7 +97,7 @@ Listar `docs/manuals/*.md` (excluyendo `INDEX.md` y subdirectorios `NNN-export-m
|
|
|
97
97
|
|
|
98
98
|
### Paso 3 — Detectar temas
|
|
99
99
|
|
|
100
|
-
Por cada sesión del corpus filtrado (`aw session-artifacts --code <NNN
|
|
100
|
+
Por cada sesión del corpus filtrado (`aw session-artifacts --code <NNN> --dump objetivo,decisiones`): tomar `DECISION` del dump + plan-doc (`Solution`/`Final behavior`/`Validations`) + el código tocado. Tema **primario**: la sección de temas en `SESSION` (su `## Objective`). **Secundario**: inferencia por keywords operativos ("configurar", "instalar", "paso a paso", "cómo …"). Filtrar por `--topics` si está presente. Listar (slug, confidence, sesiones de origen).
|
|
101
101
|
|
|
102
102
|
### Paso 4 — Sintetizar (prosa: convenciones ambientes)
|
|
103
103
|
|
|
@@ -50,7 +50,7 @@ En plan mode **describe**, no escribe: la audiencia/longitud resuelta, las sesio
|
|
|
50
50
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
51
51
|
|
|
52
52
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera + filtra el corpus.
|
|
53
|
-
- `aw session-artifacts --code <NNN
|
|
53
|
+
- `aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones` — devuelve `{path, content, size}` de `SESSION` (spec referido), `CONCLUSIONS` y `DECISION`; el estado del plan-doc se lee por su path.
|
|
54
54
|
- `aw next-number docs/reports` — numeración determinística (la resolución de la carpeta destino la maneja el CLI).
|
|
55
55
|
|
|
56
56
|
**Filesystem**:
|
|
@@ -68,7 +68,7 @@ En plan mode **describe**, no escribe: la audiencia/longitud resuelta, las sesio
|
|
|
68
68
|
| Flag | Comportamiento |
|
|
69
69
|
|---|---|
|
|
70
70
|
| `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`/`--period`) |
|
|
71
|
-
| `--since sessionNNN` | Solo sesiones posteriores a NNN (
|
|
71
|
+
| `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
|
|
72
72
|
| `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
|
|
73
73
|
| `--period` | Ventana temporal (`last-month`/`last-quarter`/rango `YYYY-MM..YYYY-MM`) |
|
|
74
74
|
| `--audience gerencia\|tecnica` | Modula longitud/léxico: `gerencia` ≈ corto/ejecutivo; `tecnica` ≈ detallado |
|
|
@@ -85,7 +85,7 @@ Sin args: todo el corpus, audiencia ejecutiva por default. *(Si algún flag exac
|
|
|
85
85
|
|
|
86
86
|
### Paso 2 — Recolectar inputs por sesión
|
|
87
87
|
|
|
88
|
-
Por sesión filtrada (`aw session-artifacts --code <NNN
|
|
88
|
+
Por sesión filtrada (`aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones`): el spec referido (qué se planteó), `CONCLUSIONS` (cierre técnico / R-items), `DECISION` (qué se decidió), estado del plan-doc (qué se entregó / qué queda). Recoger también componentes impactados (fuentes tocadas) para la tabla de síntesis.
|
|
89
89
|
|
|
90
90
|
### Paso 3 — Dedup de recomendaciones (cross-session)
|
|
91
91
|
|
|
@@ -51,7 +51,7 @@ En plan mode **describe**, no escribe: el `NNN` resuelto, las fuentes detectadas
|
|
|
51
51
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
52
52
|
|
|
53
53
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus de sesiones.
|
|
54
|
-
- `aw session-artifacts --code <NNN
|
|
54
|
+
- `aw session-artifacts --code <NNN> --dump scripts` — lista los `.sql` de la sesión con path y size (el contenido se lee por path). Si no hay scripts → lista vacía, skip silencioso.
|
|
55
55
|
- `aw next-number docs/scripts` — numeración determinística del directorio del bundle (la resolución de la carpeta destino la maneja el CLI).
|
|
56
56
|
|
|
57
57
|
**Filesystem**:
|
|
@@ -68,7 +68,7 @@ En plan mode **describe**, no escribe: el `NNN` resuelto, las fuentes detectadas
|
|
|
68
68
|
| Flag | Comportamiento |
|
|
69
69
|
|---|---|
|
|
70
70
|
| `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`) |
|
|
71
|
-
| `--since sessionNNN` | Solo sesiones posteriores a NNN (
|
|
71
|
+
| `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
|
|
72
72
|
| `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
|
|
73
73
|
| `--skip-standalone` | Omite la lectura de `docs/scripts/*.sql` standalone |
|
|
74
74
|
| `--dry-run` | Reporte propositivo sin escribir archivos |
|
|
@@ -79,7 +79,7 @@ Sin args: todas las sesiones del corpus + todos los `.sql` standalone (excluyend
|
|
|
79
79
|
|
|
80
80
|
### Paso 1 — Recolección de fuentes SQL
|
|
81
81
|
|
|
82
|
-
**Fuente A — sesiones**: por cada sesión del corpus (`aw sessions` / `release-data` + `session-artifacts --code <NNN
|
|
82
|
+
**Fuente A — sesiones**: por cada sesión del corpus (`aw sessions` / `release-data` + `session-artifacts --code <NNN> --dump scripts`), leer los `.sql` que el dump lista (path por script). Tomar **solo** las sentencias tipo-B (migraciones DDL/DML entregables); ignorar el tipo-A read-only (consultas de diagnóstico). Markers esperados por sentencia: `-- @category: <01-04>` + `-- @stmt: NNN-verbo-objetivo` (formato definido por la capacidad `sql`).
|
|
83
83
|
|
|
84
84
|
**Fuente B — standalone** (salvo `--skip-standalone`): listar `docs/scripts/*.sql` top-level, **excluyendo** `docs/scripts/NNN-export-scripts-*/`. Por archivo: respetar markers `@category` si los hay; si no, inferir categoría del contenido (`CREATE/ALTER TABLE`, `CREATE INDEX` → `01`; `CREATE OR REPLACE FUNCTION`/`PROCEDURE` → `02`; `UPDATE`/`DELETE` → `03`; `INSERT INTO … VALUES` → `04`). Si el filename contiene `rollback` → skip (no entra en forward).
|
|
85
85
|
|
package/skills/w/loops/README.md
CHANGED
|
@@ -111,7 +111,7 @@ Los loops componen **capacidades por su rol**, no skills concretas; la skill que
|
|
|
111
111
|
| `research` | `research` | todos los loops (research inline) |
|
|
112
112
|
| `overview` | `workflow` | cualquiera (orientación) |
|
|
113
113
|
|
|
114
|
-
> **Convenciones ambientes (no roles)
|
|
114
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../roles/README.md](../roles/README.md).
|
|
115
115
|
|
|
116
116
|
`off` en config → capacidad desactivada: el loop sigue sin ella; si era necesaria, lo dice o pregunta al humano.
|
|
117
117
|
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-exec-loop
|
|
3
3
|
description: >-
|
|
4
|
-
Ejecuta un plan de implementación (docs/plans/PPP-plan-<slug>.md) como
|
|
5
|
-
doc: lo lee y actualiza fase a fase mientras edita el código real,
|
|
6
|
-
y git. Heir del chasis spec-refine-loop
|
|
7
|
-
inline
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
gate de revisión de cierre por fase ANTES de proponer commits (re-lectura
|
|
15
|
-
independiente del diff aplicando las convenciones ambientes instaladas —
|
|
16
|
-
corrige o difiere; nada llega a un commit sin revisar); y
|
|
17
|
-
SIN auto-export (escribe solo docs/plans; el resto queda como artefacto para
|
|
18
|
-
export-*). Compone git y sql. Lo arranca /w:plan-exec, es reanudable. Invocar
|
|
19
|
-
para implementar un plan ya generado.
|
|
4
|
+
Ejecuta un plan de implementación (docs/plans/PPP-plan-<slug>.md) como
|
|
5
|
+
living doc: lo lee y actualiza fase a fase mientras edita el código real,
|
|
6
|
+
gestiona BD y git. Heir del chasis spec-refine-loop (motor gap-driven,
|
|
7
|
+
research inline, structured-choice, artefactos como log vivo); sus deltas
|
|
8
|
+
viven en el cuerpo: session única reanudable, git seguro (rama verificada,
|
|
9
|
+
commits propuestos por fuente, nunca push/--amend/--no-verify), BD solo-
|
|
10
|
+
scripts (la IA nunca ejecuta DML/DDL), validación por fase y final, gate de
|
|
11
|
+
revisión de cierre pre-commit, y sin auto-export (solo escribe docs/plans).
|
|
12
|
+
Compone git y sql. Lo arranca /w:plan-exec. Invocar para implementar un plan
|
|
13
|
+
ya generado.
|
|
20
14
|
---
|
|
21
15
|
|
|
22
16
|
# plan-exec-loop
|
|
@@ -57,7 +51,7 @@ Del chasis [`spec-refine-loop`](../spec-refine-loop/SKILL.md), sin cambios:
|
|
|
57
51
|
|
|
58
52
|
`git` (rama segura + commits propuestos) · `sql` (regla BD). Ambas resueltas por `.workflow/skills.toml`; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta.
|
|
59
53
|
|
|
60
|
-
> **Convenciones ambientes (no roles)
|
|
54
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
61
55
|
|
|
62
56
|
## Internal sessions (managed)
|
|
63
57
|
|
|
@@ -77,7 +71,7 @@ Del chasis [`spec-refine-loop`](../spec-refine-loop/SKILL.md), sin cambios:
|
|
|
77
71
|
|
|
78
72
|
## Delta 2 — Git policy: **rama segura + commits propuestos**
|
|
79
73
|
|
|
80
|
-
- **Antes de editar** archivos de una fuente: verifica rama actual = rama esperada de esa fuente (
|
|
74
|
+
- **Antes de editar** archivos de una fuente: verifica rama actual = rama esperada de esa fuente (`aw check-branch --source <alias>`; ver rol `git`). Si no coincide → **pausa y resuelve con el humano**; nunca `stash`/`reset --hard`/`checkout -- .`/`clean` sin confirmación por fuente.
|
|
81
75
|
- **Al cerrar una fase** (o al `Cerrar`): **tras pasar el gate de revisión de cierre** (Delta 5), **propone commits por fuente** (propose-then-execute, aprobar antes); nunca `push`/`--amend`/`--no-verify`. Nada llega a un commit propuesto sin revisar.
|
|
82
76
|
- **Commit rechazado**: los cambios **quedan en el working tree** (no se revierten). Se permite reproponer / editar mensaje. Se registra en `CHECKPOINT` + `BACKLOG` que la fase quedó **sin commitear** (reanudable).
|
|
83
77
|
- **Precondición entre fases**: `branch-check` valida *identidad* de rama, **no** *limpieza* del working tree. Antes de iniciar la siguiente fase, el working tree de cada fuente debe estar **limpio** (committeado) o explícitamente **reconocido** como "cambios sin commitear de la fase N" — para no co-mezclar dos fases en un mismo commit.
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-new-loop
|
|
3
3
|
description: >-
|
|
4
|
-
Genera un plan de implementación rico (docs/plans/PPP-plan-<slug>.md) a
|
|
5
|
-
de un spec (docs/specs/NNN-spec-<slug>.md). Heir del chasis spec-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
UI compone la capacidad ui-design para autorar design SPECs por pantalla
|
|
15
|
-
(NNN-SPEC-<SLUG>.md) como artefactos de su sesión. Distingue spec
|
|
16
|
-
refinado de borrador por la presencia de Refinement decisions/Q&A traceability
|
|
17
|
-
(si faltan → soft-suggest correr spec-refine antes). Lo arranca el comando
|
|
18
|
-
/w:plan-new y es reanudable. Invocar cuando un spec deba convertirse en un plan
|
|
19
|
-
ejecutable antes de implementar.
|
|
4
|
+
Genera un plan de implementación rico (docs/plans/PPP-plan-<slug>.md) a
|
|
5
|
+
partir de un spec (docs/specs/NNN-spec-<slug>.md). Heir del chasis spec-
|
|
6
|
+
refine-loop (motor gap-driven convergente, session única, research inline,
|
|
7
|
+
structured-choice, artefactos como log vivo); sus deltas viven en el cuerpo:
|
|
8
|
+
el plan absorbe el nivel TECHNICAL-NOTE + Phases/Tasks con estado vivo,
|
|
9
|
+
research de mapeo código/impacto, gap taxonomy de planificación, y si el
|
|
10
|
+
plan incluye UI compone ui-design para autorar design SPECs por pantalla
|
|
11
|
+
(NNN-SPEC-<SLUG>.md). Si el spec no está refinado sugiere spec-refine antes.
|
|
12
|
+
Lo arranca /w:plan-new y es reanudable. Invocar cuando un spec deba
|
|
13
|
+
convertirse en un plan ejecutable antes de implementar.
|
|
20
14
|
---
|
|
21
15
|
|
|
22
16
|
# plan-new-loop
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-refine-loop
|
|
3
3
|
description: >-
|
|
4
|
-
Refina un plan existente (docs/plans/PPP-plan-<slug>.md) editándolo IN
|
|
5
|
-
como paso auxiliar y NO obligatorio del flujo PLAN antes de plan-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
contrato de gating: plan-exec corre cualquier plan). Si el refine toca UI,
|
|
14
|
-
compone la capacidad ui-design y produce/actualiza design SPECs por pantalla
|
|
15
|
-
(NNN-SPEC-<SLUG>.md) en su propia sesión. Lo arranca /w:plan-refine y
|
|
16
|
-
es reanudable + re-corrible a demanda. Invocar cuando un plan ya generado deba
|
|
4
|
+
Refina un plan existente (docs/plans/PPP-plan-<slug>.md) editándolo IN
|
|
5
|
+
PLACE, como paso auxiliar y NO obligatorio del flujo PLAN antes de plan-
|
|
6
|
+
exec. Es a plan-new lo que spec-refine es a spec-new. Heir del chasis spec-
|
|
7
|
+
refine-loop (motor gap-driven, session única, research inline, structured-
|
|
8
|
+
choice, artefactos como log vivo); reusa la gap taxonomy y el coherence gate
|
|
9
|
+
de plan-new-loop, agrega Refinement decisions/Q&A traceability al plan
|
|
10
|
+
(traza, sin gating), y si el refine toca UI compone ui-design y
|
|
11
|
+
produce/actualiza design SPECs por pantalla. Lo arranca /w:plan-refine;
|
|
12
|
+
reanudable y re-corrible a demanda. Invocar cuando un plan ya generado deba
|
|
17
13
|
ajustarse antes de ejecutarlo.
|
|
18
14
|
---
|
|
19
15
|
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quick-loop
|
|
3
3
|
description: >-
|
|
4
|
-
El atajo liviano de agent-workflow: resuelve una tarea acotada (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
las convenciones ambientes instaladas y corrige antes de proponer el commit).
|
|
14
|
-
Sus deltas: sin fases ni plan-doc (el prompt ES la tarea),
|
|
15
|
-
una sola session ligera (<slug>-quick), un solo commit; y escalación con
|
|
16
|
-
handoff si la tarea crece (propone subir a SPEC/PLAN dejando el código a
|
|
17
|
-
medias como contexto). NO toca docs/. Lo arranca /w:quick y es reanudable.
|
|
18
|
-
Invocar para cambios pequeños y directos que no ameritan spec ni plan formal.
|
|
4
|
+
El atajo liviano de agent-workflow: resuelve una tarea acotada (fix, ajuste
|
|
5
|
+
chico) directamente desde el prompt, editando código con ceremonia mínima.
|
|
6
|
+
Heir del chasis spec-refine-loop y de plan-exec-loop (git seguro, BD solo-
|
|
7
|
+
scripts, gate de revisión de cierre proporcional, sin auto-export); sus
|
|
8
|
+
deltas viven en el cuerpo: sin fases ni plan-doc (el prompt ES la tarea),
|
|
9
|
+
session ligera única (<slug>-quick), un solo commit, y escalación con
|
|
10
|
+
handoff a SPEC/PLAN si la tarea crece. NO toca docs/. Lo arranca /w:quick y
|
|
11
|
+
es reanudable. Invocar para cambios pequeños y directos que no ameritan spec
|
|
12
|
+
ni plan formal.
|
|
19
13
|
---
|
|
20
14
|
|
|
21
15
|
# quick-loop
|
|
@@ -52,7 +46,7 @@ QUICK
|
|
|
52
46
|
|
|
53
47
|
`git` · `sql` (regla BD) · `research` (inline). Resueltas por `.workflow/skills.toml`.
|
|
54
48
|
|
|
55
|
-
> **Convenciones ambientes (no roles)
|
|
49
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
56
50
|
|
|
57
51
|
## Delta QUICK — minimal ceremony
|
|
58
52
|
|
|
@@ -84,7 +78,7 @@ quick-loop(prompt):
|
|
|
84
78
|
seed SESSION.Success criteria = check del deliverable # verification-first, ANTES: test(s) si código · rúbrica corta RATIFICADA si análisis/diseño
|
|
85
79
|
seed CHECKPOINT.Pending/Next = la tarea (s) # ANTES: sembrar intención (artifact-first)
|
|
86
80
|
trabajar la tarea (loop mínimo):
|
|
87
|
-
si edita código → verificar rama esperada por fuente (branch
|
|
81
|
+
si edita código → verificar rama esperada por fuente (`aw check-branch`); si no → pausar + resolver
|
|
88
82
|
producir el deliverable: editar código (cambio mínimo) Ó autorar el análisis/diseño
|
|
89
83
|
si consulta BD read-only → SCRIPTS.sql + ejecutar read-only
|
|
90
84
|
si cambio BD (DDL/DML) → SCRIPTS.sql (artefacto session, NO ejecutar)
|
|
@@ -127,7 +127,7 @@ El gap **UI sin especificar** (cuando el requerimiento involucra UI; ver *Gap ta
|
|
|
127
127
|
|
|
128
128
|
Otras capacidades transversales que el chasis usa siempre: `research` (research **inline**, ver abajo), `sql` (regla BD en research). Todas se resuelven por config; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta. La **prosa del spec** sigue las convenciones de redacción **ambientes** (el host auto-aplica una skill de writing instalada si está presente), no un rol compuesto.
|
|
129
129
|
|
|
130
|
-
> **Convenciones ambientes (no roles)
|
|
130
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
131
131
|
|
|
132
132
|
## Deliverable schema (el spec, editado in place)
|
|
133
133
|
|
package/skills/w/roles/README.md
CHANGED
|
@@ -23,7 +23,7 @@ All 6 roles, their built-in defaults, their tier, and which loops/exports compos
|
|
|
23
23
|
- `must` — core to almost every session; built-in always active unless explicitly `off`.
|
|
24
24
|
- `should` — loaded on-demand; active by default but lower priority to override.
|
|
25
25
|
|
|
26
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
26
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`, escribe `docs/tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
27
27
|
>
|
|
28
28
|
> **La revisión de cierre tampoco es un rol** (decisión deliberada — se evaluó y descartó un rol `conventions`/`rules`/`review`): el **gate de revisión de cierre** de `plan-exec-loop`/`quick-loop` (pre-commit) es un **paso del loop**; el loop crea el **momento** y las convenciones ambientes instaladas lo llenan. Un rol que "señale las skills del marketplace" re-acoplaría lo que esta extracción desacopló.
|
|
29
29
|
|
|
@@ -52,7 +52,7 @@ Y **siempre** prohibido, aún cuando el usuario pida commit: `--no-verify` (resp
|
|
|
52
52
|
|
|
53
53
|
La rama esperada **nunca se asume desde la rama actual** — el usuario pudo cambiarla a mano. Verificar contra la rama de trabajo declarada por fuente antes de cualquier `Write/Edit`.
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
**Mecanismo primario**: `aw check-branch --source <alias>` (o `--file <path-del-edit-inminente>`; `--strict` devuelve exit 2 en mismatch — útil como gate). Devuelve ya computados los campos por fuente: `alias`, `path`, `main_branch` (base, default `certificacion`), `expected_work_branch`, `current_branch`, `match` (`current == expected`), `dirty` (cambios sin commit). **Fallback** (repo suelto sin workspace/CLI): computarlos con git read-only directo (`git branch --show-current` + `git status --porcelain`) más la rama declarada por la sesión.
|
|
56
56
|
|
|
57
57
|
Casos:
|
|
58
58
|
|
|
@@ -67,7 +67,7 @@ Casos:
|
|
|
67
67
|
|
|
68
68
|
Ante cualquier pedido o disparo de commit (cierre de loop, "commitea esto", "guardá los cambios"):
|
|
69
69
|
|
|
70
|
-
1. Resolver las fuentes y su estado dirty/rama.
|
|
70
|
+
1. Resolver las fuentes y su estado dirty/rama con `aw sources` (inventario con git status enriquecido; fallback: git directo por fuente).
|
|
71
71
|
2. Si hay 1+ fuentes `dirty=true`, invocar **una sola** *structured-choice* con una pregunta de contenido por fuente dirty (máx 4 simultáneas → **≤3 preguntas de contenido + 1 control `flow`**; si N>3, en tandas):
|
|
72
72
|
- Header de la pregunta: el `alias` de la fuente.
|
|
73
73
|
- Opciones: "Aprobar sugerido (Recomendado)" con el mensaje canónico / "Saltar esta fuente". `Other` = mensaje custom.
|
|
@@ -116,4 +116,4 @@ Ninguno en `docs/`. Produce commits **solo** cuando el usuario aprueba, en los r
|
|
|
116
116
|
|
|
117
117
|
## Source
|
|
118
118
|
|
|
119
|
-
Reciclada de la doctrina vieja: `doctrine/session/references/commits-policy.md` (Reglas 1-5: propose-then-execute, formato canónico, bypass) + `doctrine/session/references/branch-verification.md` (Casos A/B/C, cross-fuente hard gate).
|
|
119
|
+
Reciclada de la doctrina vieja: `doctrine/session/references/commits-policy.md` (Reglas 1-5: propose-then-execute, formato canónico, bypass) + `doctrine/session/references/branch-verification.md` (Casos A/B/C, cross-fuente hard gate). La verificación delega lo mecánico al CLI (`aw check-branch`, `aw sources`) — computarlo a mano en cada task pagaba tokens por trabajo que el runtime ya expone; el git read-only directo queda como fallback para repos sin workspace.
|