@tacuchi/agent-workflow-cli 12.4.0 → 12.6.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 (77) hide show
  1. package/dist/adapters/git-cli.d.ts +1 -0
  2. package/dist/adapters/git-cli.d.ts.map +1 -1
  3. package/dist/adapters/git-cli.js +21 -0
  4. package/dist/adapters/git-cli.js.map +1 -1
  5. package/dist/application/humanize-es.d.ts +18 -0
  6. package/dist/application/humanize-es.d.ts.map +1 -0
  7. package/dist/application/humanize-es.js +71 -0
  8. package/dist/application/humanize-es.js.map +1 -0
  9. package/dist/application/merge-state-service.d.ts +37 -0
  10. package/dist/application/merge-state-service.d.ts.map +1 -0
  11. package/dist/application/merge-state-service.js +89 -0
  12. package/dist/application/merge-state-service.js.map +1 -0
  13. package/dist/application/session-close-service.d.ts.map +1 -1
  14. package/dist/application/session-close-service.js +4 -1
  15. package/dist/application/session-close-service.js.map +1 -1
  16. package/dist/application/status-service.d.ts +74 -0
  17. package/dist/application/status-service.d.ts.map +1 -0
  18. package/dist/application/status-service.js +336 -0
  19. package/dist/application/status-service.js.map +1 -0
  20. package/dist/application/templates/session.d.ts +4 -2
  21. package/dist/application/templates/session.d.ts.map +1 -1
  22. package/dist/application/templates/session.js +15 -11
  23. package/dist/application/templates/session.js.map +1 -1
  24. package/dist/cli/commands/merge-state.d.ts +3 -0
  25. package/dist/cli/commands/merge-state.d.ts.map +1 -0
  26. package/dist/cli/commands/merge-state.js +28 -0
  27. package/dist/cli/commands/merge-state.js.map +1 -0
  28. package/dist/cli/commands/status.d.ts +3 -0
  29. package/dist/cli/commands/status.d.ts.map +1 -0
  30. package/dist/cli/commands/status.js +10 -0
  31. package/dist/cli/commands/status.js.map +1 -0
  32. package/dist/cli/help-groups.d.ts.map +1 -1
  33. package/dist/cli/help-groups.js +2 -1
  34. package/dist/cli/help-groups.js.map +1 -1
  35. package/dist/cli/main.js +4 -0
  36. package/dist/cli/main.js.map +1 -1
  37. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
  38. package/dist/cli/tui/data/workflow-content.js +2 -1
  39. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  40. package/dist/ports/git.d.ts +5 -0
  41. package/dist/ports/git.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/skills/w/README.md +6 -3
  44. package/skills/w/SKILL.md +25 -9
  45. package/skills/w/artifacts/README.md +10 -9
  46. package/skills/w/artifacts/artifacts-core/BACKLOG.md +5 -8
  47. package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +14 -13
  48. package/skills/w/artifacts/artifacts-core/SESSION.md +10 -11
  49. package/skills/w/artifacts/artifacts-core/TASKS.md +5 -5
  50. package/skills/w/artifacts/{artifacts-dev → artifacts-exec}/DECISION.md +3 -3
  51. package/skills/w/artifacts/{artifacts-dev → artifacts-exec}/TECHNICAL-NOTE.md +15 -15
  52. package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +14 -27
  53. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +10 -13
  54. package/skills/w/commands/README.md +16 -10
  55. package/skills/w/commands/fix-git.md +33 -0
  56. package/skills/w/commands/plan-exec.md +4 -4
  57. package/skills/w/commands/plan-new.md +9 -7
  58. package/skills/w/commands/quick.md +1 -1
  59. package/skills/w/commands/spec-new.md +19 -15
  60. package/skills/w/commands/spec-refine.md +7 -5
  61. package/skills/w/commands/status.md +50 -0
  62. package/skills/w/exports/README.md +2 -2
  63. package/skills/w/exports/export-diagrams/SKILL.md +1 -1
  64. package/skills/w/exports/export-manuals/SKILL.md +2 -2
  65. package/skills/w/exports/export-reports/SKILL.md +1 -1
  66. package/skills/w/exports/export-scripts/SKILL.md +1 -1
  67. package/skills/w/harness/SKILL.md +85 -0
  68. package/skills/w/loops/README.md +22 -21
  69. package/skills/w/loops/plan-exec-loop/SKILL.md +60 -58
  70. package/skills/w/loops/plan-new-loop/SKILL.md +47 -41
  71. package/skills/w/loops/quick-loop/SKILL.md +23 -20
  72. package/skills/w/loops/spec-refine-loop/SKILL.md +116 -82
  73. package/skills/w/roles/README.md +2 -2
  74. package/skills/w/roles/git/SKILL.md +28 -7
  75. package/skills/w/roles/research/SKILL.md +22 -82
  76. package/skills/w/roles/testing/SKILL.md +2 -2
  77. package/skills/w/roles/ui-spec/SKILL.md +58 -48
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-content.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-content.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"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"}
@@ -28,5 +28,10 @@ export interface GitPort {
28
28
  isMerging(repoPath: string): Promise<boolean>;
29
29
  /** Unmerged paths: `git diff --name-only --diff-filter=U`. */
30
30
  conflictedFiles(repoPath: string): Promise<string[]>;
31
+ /**
32
+ * Branch name being merged in (theirs), via `git name-rev` on MERGE_HEAD.
33
+ * Undefined when not mid-merge or the commit can't be named to a ref.
34
+ */
35
+ mergeOrigin(repoPath: string): Promise<string | undefined>;
31
36
  }
32
37
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/ports/git.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,6DAA6D;IAC7D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3D,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,+DAA+D;IAC/D,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,iFAAiF;IACjF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,oFAAoF;IACpF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,4DAA4D;IAC5D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/ports/git.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,6DAA6D;IAC7D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3D,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,+DAA+D;IAC/D,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,iFAAiF;IACjF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,oFAAoF;IACpF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,4DAA4D;IAC5D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tacuchi/agent-workflow-cli",
3
- "version": "12.4.0",
3
+ "version": "12.6.0",
4
4
  "description": "Agnostic runtime CLI for AI development workflows — a stages + loops + artifacts harness. Bundles the universal `w` skill set under `skills/w/` (slash commands `/w:*`: spec-new/spec-refine, plan-new/plan-exec, quick, workspace-init, export-*); `self install --target <host>` copies SKILL + commands + hooks into the host. Pluggable capability skills via `.workflow/skills.toml`. Multi-empresa parametrization via `profile.json` cascade. Namespace auto-detected from any `.<ns>/sessions/` dir in CWD; default `workflow`.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -19,7 +19,7 @@ LAYER 2 · LOOPS (the AI runs them whole) │
19
19
  │ create / manage │
20
20
  ▼ │
21
21
  LAYER 3 · SESSIONS + ARTIFACTS (.workflow/sessions/) ───────┘ export-* read these
22
- research · refine/control · exec · quick
22
+ refine · exec · quick (research = capacidad inline, no un tipo de session)
23
23
 
24
24
  ZONE docs/ — permanent, user-facing deliverables
25
25
  specs · plans · tools (flows) · scripts · manuals · diagrams · reports (export-*)
@@ -33,6 +33,7 @@ ZONE docs/ — permanent, user-facing deliverables
33
33
  | [`loops/`](loops/) | 2 | The 4 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 / opencode / Gemini) |
36
37
  | [`artifacts/`](artifacts/) | 3 | Session artifact templates the loops manage |
37
38
  | [`hooks/`](hooks/) | — | Host hook template (branch-check, sql-mutation-guard, checkpoint, …) |
38
39
  | [`SKILL.md`](SKILL.md) | overview | The `workflow` orientation skill (whole-model guide) |
@@ -42,11 +43,13 @@ ZONE docs/ — permanent, user-facing deliverables
42
43
  | Flow | Commands | `docs/` owned | Loops |
43
44
  |---|---|---|---|
44
45
  | **SPEC** | `spec-new` *(single-pass)* · `spec-refine` | `docs/specs` | `spec-refine-loop` |
45
- | **PLANIFICATION** | `plan-new` · `plan-exec` | `docs/plans` · `docs/tools` | `plan-new-loop` · `plan-exec-loop` |
46
+ | **PLAN** | `plan-new` · `plan-exec` | `docs/plans` · `docs/tools` | `plan-new-loop` · `plan-exec-loop` |
46
47
  | **QUICK** | `quick` | — | `quick-loop` |
47
48
 
48
49
  SPEC defines the **what** → PLAN the **how** and executes it → QUICK is the lightweight shortcut. Promotion to `docs/` (scripts/manuals/diagrams/reports) is **always** a separate step via `export-*`.
49
50
 
51
+ > **Transversal commands** (no flow, not counted in 5/4): `/w:status` (read-only workspace dashboard) · `/w:fix-git` (resolve an in-progress merge conflict, git-safe — works on any repo). Setup: `/w:workspace-init`.
52
+
50
53
  ## Bootstrap
51
54
 
52
55
  Run [`/w:workspace-init`](commands/workspace-init.md) once to turn a folder into a workspace (`.workflow/` + `docs/` taxonomy + `WORKSPACE` block + `.workflow/skills.toml`). No project/hub distinction — a workspace has 1+ sources.
@@ -58,7 +61,7 @@ Run [`/w:workspace-init`](commands/workspace-init.md) once to turn a folder into
58
61
  3. **spec & plan are documents** (`docs/`), not artifacts.
59
62
  4. **DB scripts-only** — the AI never executes DML/DDL; migrations land in `SCRIPTS.sql` and ship via `export-scripts`; reads are read-only via MCP.
60
63
  5. **Git-safe** — verify the expected branch before editing; propose commits per source; never `push`/`--amend`/`--no-verify`.
61
- 6. **All loops** — gap-driven convergent; `AskUserQuestion` with ≤3 content tabs + 1 always-present `flow` tab (`Compactar`/`Cerrar`); compact/resume; `Cerrar` persists `CHECKPOINT`+`BACKLOG`.
64
+ 6. **All loops** — gap-driven convergent; one session per run (research inline); **structured-choice** (capability — see [`harness/`](harness/SKILL.md); on Claude Code: `AskUserQuestion`) with ≤3 content questions + 1 always-present `flow` control (`Compactar`/`Cerrar`); a **convergence gate** before saving; compact/resume; artifacts as a live log (`CHECKPOINT` always; `BACKLOG` only when deferring).
62
65
 
63
66
  ## Pluggable capabilities
64
67
 
package/skills/w/SKILL.md CHANGED
@@ -63,7 +63,7 @@ USUARIO invoca
63
63
  | **PLAN** (el *cómo* + ejecutar) | `plan-new` · `plan-exec` | `docs/plans` · `docs/tools` | `plan-new-loop` · `plan-exec-loop` |
64
64
  | **QUICK** (atajo liviano) | `quick` | — | `quick-loop` |
65
65
 
66
- Cadena típica: prompt → `spec-new` genera `docs/specs/NNN-spec.md` → `spec-refine` corre el loop `NNN-spec-refined.md` → `plan-new` → `docs/plans/PPP-plan.md` → `plan-exec` ejecuta y actualiza el plan (living doc) + artefactos en sesiones. La promoción del resto a `docs/` es **siempre** un paso aparte vía `export-*`.
66
+ Cadena típica: prompt → `spec-new` genera `docs/specs/NNN-spec-<slug>.md` → `spec-refine` corre el loop y refina **ese mismo spec in place** → `plan-new` → `docs/plans/PPP-plan-<slug>.md` → `plan-exec` ejecuta y actualiza el plan (living doc) + artefactos en sesiones. La promoción del resto a `docs/` es **siempre** un paso aparte vía `export-*`.
67
67
 
68
68
  ### The commands (`/w:` namespace)
69
69
 
@@ -73,6 +73,8 @@ Cadena típica: prompt → `spec-new` genera `docs/specs/NNN-spec.md` → `spec-
73
73
  - `/w:plan-new` — arranca `plan-new-loop` para derivar un plan ejecutable del spec refinado.
74
74
  - `/w:plan-exec` — arranca `plan-exec-loop` para ejecutar y mantener el plan.
75
75
  - `/w:quick` — arranca `quick-loop` (atajo, sin `docs/`).
76
+ - `/w:status` — dashboard read-only del workspace (Hecho/Falta/Descartó, con fechas en español). Transversal: no es un flow, no escribe nada; se apoya en `aw status`.
77
+ - `/w:fix-git` — resuelve conflictos de un merge en curso en cualquier repo (identifica origen↔destino, analiza intención, *structured-choice* ante ambigüedad). Transversal: no es flow, no crea session, no toca `docs/`; git-safe; se apoya en `aw merge-state`.
76
78
  - `/w:export-scripts` · `/w:export-manuals` · `/w:export-diagrams` · `/w:export-reports` — promueven artefactos a `docs/`.
77
79
 
78
80
  ### The loops (Layer 2)
@@ -80,13 +82,15 @@ Cadena típica: prompt → `spec-new` genera `docs/specs/NNN-spec.md` → `spec-
80
82
  Un loop es una skill que enseña a la IA **cómo iterar** hasta un entregable. Propiedades comunes (el chasis, en `spec-refine-loop`, lo heredan los demás):
81
83
 
82
84
  1. **Gap-driven convergente** — cada ciclo: detecta huecos → resuelve (pregunta al humano o investiga) → integra → repite hasta converger.
83
- 2. **Puede crear sessions internas** si el trabajo es profundo (ej. investigar el código), el loop crea una session (`research`, etc.), maneja sus artefactos en `.workflow/sessions/`, la cierra y reporta. El usuario nunca crea esas sessions.
84
- 3. **AskUserQuestion con dos tipos de tab**:
85
- - **tab(s) de contenido** — la pregunta real del momento.
86
- - **tab `flow`** — control de ciclo de vida, **siempre presente**: `Compactar` / `Cerrar`. Responder el tab de contenido sin tocar `flow` = seguir iterando.
85
+ 2. **Una sola session por run + research inline** el loop crea **una** session (la dueña del run) y maneja sus artefactos en `.workflow/sessions/`. La **investigación es inline**: una actividad dentro de esa misma session (escribe `ANALYSIS-FILE`/`CONCLUSIONS` + `SCRIPTS.sql` read-only si consulta BD), no una session aparte. El usuario nunca crea sessions. Los artefactos son el **registro vivo** del run, **ciclo artifact-first** (sembrar `Pending`/`Next` antes de ejecutar, llevar a `Completed` después); la base guía es el spec/plan.
86
+ 3. **Structured-choice con dos tipos de pregunta** — *structured-choice* (capacidad del arnés — ver `harness/SKILL.md`). En **Claude Code** es `AskUserQuestion` (máx 4 preguntas/llamada → **≤3 preguntas de contenido + 1 control `flow`**); en un arnés sin elección estructurada, degrada a **markdown numerado**.
87
+ - **pregunta(s) de contenido** — la pregunta real del momento.
88
+ - **control `flow`** — control de ciclo de vida, **siempre presente**: `Compactar` / `Cerrar`. Responder la pregunta de contenido sin tocar `flow` = seguir iterando.
87
89
  4. **Escribe solo en su carpeta `docs/`** — y nunca exporta el resto (eso es de `export-*`).
88
90
 
89
- `flow → Compactar` = checkpoint + `/compact` del host y reanuda. `flow → Cerrar` = persiste `CHECKPOINT` + `BACKLOG`, cierra sessions internas, termina.
91
+ `flow → Compactar` = checkpoint + la **compactación** del arnés (en Claude Code: `/compact`; ver `harness/SKILL.md`) y reanuda. `flow → Cerrar` = persiste `CHECKPOINT` (siempre) + `BACKLOG` (solo si difiere), cierra la session, termina.
92
+
93
+ Cada loop tiene un **convergence gate** read-only antes de ofrecer `Guardar`/`done`: chequea invariantes propios del entregable y lo que falle vuelve como gap (en `spec-refine-loop` es el *analyze gate*; en `plan-new-loop`, la coherencia del plan; en `plan-exec-loop`, la validación final; en `quick-loop`, una validación puntual lightweight). El detalle vive en cada loop.
90
94
 
91
95
  `spec-new` no tiene loop (single-pass): **5 comandos / 4 loops**.
92
96
 
@@ -127,7 +131,7 @@ Catálogo de roles y su default:
127
131
  | `git` | `git` | must | `plan-exec-loop` · `quick-loop` |
128
132
  | `coding-standards` | `coding-standards` | must | `plan-exec-loop` · `quick-loop` |
129
133
  | `writing` | `writing` | must | todos los loops · `export-manuals`/`export-reports` |
130
- | `research` | `research` | should | todos los loops (on-demand) |
134
+ | `research` | `research` | should | todos los loops (capacidad inline) |
131
135
  | `testing` | `testing` | should | `plan-exec-loop` · `quick-loop` |
132
136
  | `tools` | `tools` | should | `plan-exec-loop` |
133
137
  | `diagrams` | `diagrams` | should | `export-diagrams` |
@@ -135,6 +139,18 @@ Catálogo de roles y su default:
135
139
 
136
140
  El **chasis del loop** NO se bindea: **es** el loop, no es enchufable.
137
141
 
142
+ ### Harness (agnóstico al arnés)
143
+
144
+ 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, opencode, Gemini, 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).
145
+
146
+ Capacidades clave:
147
+
148
+ - **structured-choice** — preguntar al humano ≤3 preguntas de contenido + 1 control `flow`. Claude Code: `AskUserQuestion`. Fallback: markdown numerado.
149
+ - **compaction** — encoger el contexto sin perder el hilo. Claude Code: `/compact`. Fallback: `CHECKPOINT` + resume.
150
+ - **command-invocation** · **procedure-loading** · **subagent-dispatch** (opt.) · **persistent-context** · **external-data** (MCP) · **dry-run/preview**.
151
+
152
+ Las únicas `must` para el ciclo de un loop son **structured-choice** y **compaction**, y ambas degradan a texto → cualquier arnés con chat + archivos corre el modelo completo. Detalle, matriz de binding y distribución (`AGENTS.md` canónico + symlink `CLAUDE.md`): ver `harness/SKILL.md`.
153
+
138
154
  ### The 6 hard invariants
139
155
 
140
156
  1. **Sin auto-export** — los loops nunca graduan/exportan a `docs/`. Solo `export-*` lo hace, explícito.
@@ -142,7 +158,7 @@ El **chasis del loop** NO se bindea: **es** el loop, no es enchufable.
142
158
  3. **El spec y el plan son documentos** (`docs/`), no artefactos de sesión.
143
159
  4. **BD solo-scripts** — la IA nunca ejecuta DML/DDL; las migraciones quedan en `SCRIPTS.sql` y las aplica el usuario. Solo lecturas read-only vía MCP.
144
160
  5. **Git seguro** — rama esperada verificada antes de editar; commits propuestos por fuente; nunca `push`/`--amend`/`--no-verify`.
145
- 6. **Chasis de loops** — gap-driven convergente · `AskUserQuestion` con ≤3 tabs de contenido + 1 tab `flow` (`Compactar`/`Cerrar`) siempre · compact/resume · `Cerrar` persiste `CHECKPOINT`+`BACKLOG`.
161
+ 6. **Chasis de loops** — gap-driven convergente · una sola session por run (research inline) · **structured-choice** con ≤3 preguntas de contenido + 1 control `flow` (`Compactar`/`Cerrar`) siempre · compactación/resume · convergence gate read-only antes de cerrar · artefactos como log vivo **artifact-first** (sembrar `Pending`/`Next` antes, `Completed` después; `CHECKPOINT` siempre; `BACKLOG` solo si difiere).
146
162
 
147
163
  ## Output
148
164
 
@@ -150,4 +166,4 @@ Ninguno. Es orientación pura: no escribe documentos ni artefactos.
150
166
 
151
167
  ## Source
152
168
 
153
- Autorada del modelo de diseño (`docs/referencias/`): README de arquitectura (3 capas + 6 invariantes), `workflow-commands/`, `workflow-loops/`, `workflow-exports/`, `workflow-skills/`. Reemplaza la orientación del bundle viejo (`session` + flows dev/design/analyze, CLI v11), que se descarta.
169
+ Autorada del modelo de diseño (`docs/referencias/`): README de arquitectura (3 capas + 6 invariantes), `workflow-commands/`, `workflow-loops/`, `workflow-artifacts/`, `workflow-exports/`, `workflow-skills/`, `workflow-harness/`. Modelo actual, desplegado. (Compat: reemplaza la orientación del bundle legacy `session` + flows dev/design/analyze.)
@@ -1,6 +1,6 @@
1
1
  # workflow-artifacts — Artifact catalog (Layer 3)
2
2
 
3
- > Reference for the **new agent-workflow model**. This folder contains the **artifact templates**: process files managed by **sessions** inside `.workflow/sessions/`.
3
+ > Reference for the agent-workflow model (current, deployed). This folder contains the **artifact templates**: process files managed by **sessions** inside `.workflow/sessions/`.
4
4
  > Siblings: [`../commands/`](../commands/) (Layer 1) · [`../loops/`](../loops/) (Layer 2) · [`../roles/`](../roles/) (pluggable skills).
5
5
 
6
6
  ---
@@ -23,14 +23,15 @@ Central distinction of the model:
23
23
 
24
24
  ## Sessions & their artifacts
25
25
 
26
- Sessions are created by the loops as needed. Each session type manages a set of artifacts:
26
+ Sessions are created by the loops as needed **one session per run**. The session types loops create are `refine`, `exec`, `quick`:
27
27
 
28
28
  | Session type | Created by | Artifacts | Notes |
29
29
  |---|---|---|---|
30
- | **research** | all loops, on-demand | `SESSION` · `ANALYSIS-FILE` · `CONCLUSIONS` · `SCRIPTS.sql` (if DB) | On-demand, **not resumable** (run-and-close). No own `CHECKPOINT`/`BACKLOG` — those live in the owning `refine/control` session. |
31
- | **refine / control** | `spec-refine-loop` · `plan-new-loop` · `plan-exec-loop` | `SESSION` · `CHECKPOINT` · `BACKLOG` (on close) | Owns the loop run. Tracks open research sessions. |
32
- | **exec** (one per phase) | `plan-exec-loop` | `SESSION` · `DECISION` · `SCRIPTS.sql` · `CHECKPOINT` | No `TECHNICAL-NOTE` or own `TASKS` — detail lives in the plan-doc (living). `TASKS` is optional for internal breakdown. |
33
- | **quick** (one, lightweight) | `quick-loop` | `SESSION` · `DECISION` · `SCRIPTS.sql` · `CHECKPOINT` · `BACKLOG` (on close) | Single session, single commit. |
30
+ | **refine** | `spec-refine-loop` · `plan-new-loop` | `SESSION` · `CHECKPOINT` · `BACKLOG` (on close, if any) | Owns the loop run (spec-refine, plan-new). |
31
+ | **exec** | `plan-exec-loop` | `SESSION` · `CHECKPOINT` · `BACKLOG` (on close, if any) · `DECISION` · `SCRIPTS.sql` | A single per-run exec session (**not** one per phase). No `TECHNICAL-NOTE` or own `TASKS` — detail lives in the plan-doc (living). `TASKS` is optional for internal breakdown. |
32
+ | **quick** | `quick-loop` | `SESSION` · `CHECKPOINT` · `BACKLOG` (on close, if any) · `DECISION` · `SCRIPTS.sql` | Single session, single commit. |
33
+
34
+ > **Inline research (any session):** research is **not** a session type. When any session (`refine`/`exec`/`quick`) needs to investigate, it produces research artifacts **inline**: `ANALYSIS-FILE` (optional scratchpad), `CONCLUSIONS`, and read-only `SCRIPTS.sql` (if DB). These are written into the active session — there is no separate research session.
34
35
 
35
36
  > **PLAN note (rich plan):** the plan-doc (`docs/plans/PPP-plan.md`) absorbs inline the `TECHNICAL-NOTE` level (Solution/Impacted/AS-IS/TO-BE/Validations…) **and** the `Phases`/`Tasks`. Therefore exec sessions do **not** carry a `TECHNICAL-NOTE` or own `TASKS` artifact: the technical detail and progress live in the plan-doc (living). `TASKS` remains as an optional artifact for sessions that need their own internal breakdown.
36
37
 
@@ -38,7 +39,7 @@ Sessions are created by the loops as needed. Each session type manages a set of
38
39
 
39
40
  ## Common artifacts (any session)
40
41
 
41
- `SESSION` (descriptor) · `CHECKPOINT` (resume) · `SCRIPTS.sql` (read-only queries **executable** + DDL/DML migrations **deliverable**, not executed) · `TASKS` · `BACKLOG`.
42
+ `SESSION` (descriptor: Objective / Origin / Type; + research-only Success criteria) · `CHECKPOINT` (resume) · `SCRIPTS.sql` (read-only queries **executable** + DDL/DML migrations **deliverable**, not executed) · `TASKS` · `BACKLOG` (only when there's something to defer).
42
43
 
43
44
  ---
44
45
 
@@ -47,8 +48,8 @@ Sessions are created by the loops as needed. Each session type manages a set of
47
48
  | Folder | Role | Contains |
48
49
  |---|---|---|
49
50
  | [`artifacts-core/`](artifacts-core/) | common to any session | `SESSION` · `TASKS` · `CHECKPOINT` · `BACKLOG` · `SCRIPTS.sql` |
50
- | [`artifacts-research/`](artifacts-research/) | `research` session | `ANALYSIS-FILE` · `CONCLUSIONS` |
51
- | [`artifacts-dev/`](artifacts-dev/) | `exec` session | `DECISION` · `TECHNICAL-NOTE` |
51
+ | [`artifacts-research/`](artifacts-research/) | inline research (any session) | `ANALYSIS-FILE` · `CONCLUSIONS` |
52
+ | [`artifacts-exec/`](artifacts-exec/) | `exec` / `quick` session | `DECISION` · `TECHNICAL-NOTE` (schema reference; absorbed by the plan-doc) |
52
53
 
53
54
  ---
54
55
 
@@ -1,12 +1,9 @@
1
1
  # BACKLOG.md — deferred items and follow-ups (common)
2
2
 
3
- > What it is: items deferred or surfaced during the session that do not block closure but should not be lost. Written by the loop when `Cerrar` is triggered. Owned by `refine/control` and `quick` sessions.
3
+ > What it is: items deferred or surfaced during the session that do not block closure but should not be lost. Written by the loop when `Cerrar` is triggered, **only when there is something to defer or follow up** — no empty BACKLOG. Owned by `refine` and `quick` sessions.
4
4
 
5
- ## Deferred (text):
6
- List of phases/tasks (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md` if the session created its own breakdown) deferred with reason.
5
+ ## Deferred
6
+ Phases/tasks (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md` if the session created its own breakdown) deferred with reason.
7
7
 
8
- ## Followups (text):
9
- List of activities / suggestions / dependencies for future follow-up.
10
-
11
- ## Notes (list):
12
- Miscellaneous notes.
8
+ ## Followups
9
+ Activities / suggestions / dependencies for future follow-up.
@@ -1,22 +1,23 @@
1
1
  # CHECKPOINT.md — session resume state (common)
2
2
 
3
- > What it is: the resume state of a session. Written by the loop when the user triggers `Compactar` or `Cerrar`. Allows the loop to resume exactly where it left off.
4
- > Owned by: `refine/control` sessions (and `exec` / `quick` sessions that carry a checkpoint).
3
+ > What it is: the live resume state of a session lets the loop resume exactly where it left off.
4
+ > **Live log (artifact-first):** `Pending`/`Next` = the intent (what is about to be done, seeded BEFORE executing); `Completed` = the result (AFTER). Updated at every gap/phase boundary, not only on `Compactar`/`Cerrar`.
5
+ > Owned by: `refine` sessions (and `exec` / `quick` sessions that carry a checkpoint).
5
6
 
6
- ## Activity (text):
7
+ ## Activity
7
8
  Summary of the activity done so far.
8
9
 
9
- ## Critical context (text):
10
- Critical context / key decisions / references to other artifacts or documents needed to continue.
10
+ ## Critical context
11
+ Key decisions / references to other artifacts or documents needed to continue.
11
12
 
12
- ## Completed (list):
13
- List of completed phases (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md` if the session created its own breakdown).
13
+ ## Completed
14
+ Completed phases/tasks (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md` if the session created its own breakdown).
14
15
 
15
- ## Excluded (list):
16
- List of excluded phases/tasks (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md`) with reason.
16
+ ## Excluded
17
+ Excluded phases/tasks (ref: plan-doc; or `TASKS.md`) with reason.
17
18
 
18
- ## Pending (list):
19
- List of pending phases (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md`) still to do.
19
+ ## Pending
20
+ Pending phases/tasks (ref: plan-doc; or `TASKS.md`) still to do.
20
21
 
21
- ## Next (text):
22
- Next phase/task (ref: plan-doc `docs/plans/PPP-plan.md`; or `TASKS.md`) to continue from on resume.
22
+ ## Next
23
+ Next phase/task (ref: plan-doc; or `TASKS.md`) to continue from on resume.
@@ -3,25 +3,24 @@
3
3
  > What it is: the brief descriptor of an **internal session** (Layer 3). Created by a **loop**, not by the user.
4
4
  > The `Type` is set by the owning loop. Authoritative type catalog: `../README.md` (table "Sessions & their artifacts").
5
5
 
6
- ## Objective (text):
6
+ ## Objective
7
7
  What this session resolves: the gap, the question, or the concrete block of work.
8
8
 
9
- ## Origin (list):
9
+ ## Origin
10
10
  Who created it and from where:
11
11
  - Parent loop (e.g. `spec-refine-loop`)
12
12
  - Source document (e.g. `docs/specs/003-spec.md`)
13
13
  - Trigger (e.g. gap "Context incomplete")
14
14
 
15
- ## Type (text):
15
+ ## Type
16
16
  Session type, **set by the parent loop** (not the user). Authoritative catalog: `../README.md`.
17
- - `research` — investigate/conclude (read-only); on-demand, **not resumable** (run-and-close)
18
- - `exec` — execute work, one per phase (PLAN)
17
+ - `refine` — owns a spec-refine / plan-new loop run (SESSION + CHECKPOINT; + BACKLOG on close)
18
+ - `exec` — execute work; a single per-run session (PLAN), not one per phase
19
19
  - `quick` — lightweight execution (≈ `exec`: single session, single commit) (QUICK)
20
- - `refine` / `control` — owns a loop run (SESSION + CHECKPOINT; + BACKLOG on close)
21
20
 
22
- ## Components (list):
23
- Projects / systems / sources / databases involved.
21
+ > `research` is **not** a session type the loops create. Research is an **inline** activity: ANALYSIS-FILE / CONCLUSIONS are written into whatever session is active (`refine`/`exec`/`quick`) when it does investigation.
24
22
 
25
- ## Success criteria (list):
26
- Checklist `[ ]` that, when met, **closes the session and triggers the report** back to the loop.
27
- If NOT met (e.g. research without evidence, DB unavailable): the session **closes anyway with state `inconcluso`** and reports the reason; the parent loop degrades the gap (asks the human or defers to `Open questions`).
23
+ ## Success criteria
24
+ Present **only for research** activity (investigate/conclude). It is a checklist `[ ]` that, when met, marks the research as concluded.
25
+ If NOT met (e.g. research without evidence, DB unavailable): the research closes as `inconcluso` and reports the reason; the parent loop degrades the gap (asks the human or defers to `Open questions`).
26
+ For `exec` / `quick` / `refine` sessions the closing criteria live in the **plan/spec**, not here — omit this section.
@@ -1,16 +1,16 @@
1
1
  # TASKS.md — internal task breakdown (optional, common)
2
2
 
3
- > What it is: an internal phases/tasks breakdown for sessions that need their own desglose. **Optional artifact** — in PLANIFICATION, phases and tasks live in the **plan-doc** (`docs/plans/PPP-plan.md`, living). Use this only when a session needs a breakdown that is not covered by the plan-doc.
3
+ > What it is: an internal phases/tasks breakdown for sessions that need their own desglose. **Optional artifact** — in the PLAN flow, phases and tasks live in the **plan-doc** (`docs/plans/PPP-plan.md`, living). Use this only when a session needs a breakdown that is not covered by the plan-doc.
4
4
 
5
- ## Phases (list):
6
- List of grouping phases. Phases should have a complexity between XS and S.
5
+ ## Phases
6
+ Grouping phases. Phases should have a complexity between XS and S.
7
7
 
8
8
  Example:
9
9
  - F1: Investigate billing flow
10
10
  - F2: Design new button for new payment method
11
11
 
12
- ## Tasks (list):
13
- List of tasks ordered by phase. Tasks should have a maximum complexity of XS.
12
+ ## Tasks
13
+ Tasks ordered by phase. Tasks should have a maximum complexity of XS.
14
14
 
15
15
  Example:
16
16
  - T1 (F1): Analyze sources ms-motor, ms-solicitud
@@ -2,10 +2,10 @@
2
2
 
3
3
  > What it is: a log of non-obvious decisions made during an `exec` or `quick` session. Kept per-session so the loop and the human can trace why things were done a certain way.
4
4
 
5
- ## Origin (list):
5
+ ## Origin
6
6
  Reference work unit (per the owning loop):
7
7
  - in `exec` → the Task from the plan-doc (`docs/plans/PPP-plan.md`, e.g. "T2 (F1)")
8
8
  - in `quick` → the prompt / work unit (no task numbering)
9
9
 
10
- ## Decision (list):
11
- List of non-obvious decisions. For each: the decision taken, the reason, and the alternatives considered.
10
+ ## Decision
11
+ Non-obvious decisions. For each: the decision taken, the reason, and the alternatives considered.
@@ -1,22 +1,22 @@
1
1
  # TECHNICAL-NOTE.md — technical design note (schema reference)
2
2
 
3
- > **Model note:** in PLANIFICATION these sections live **inline in the plan-doc** (`docs/plans/PPP-plan.md`, rich plan), not as an exec-session artifact. This file is kept as a reference of the technical schema that the plan absorbs. Use it standalone only when the plan-doc approach does not apply (e.g. a `quick` session that needs scoped technical context).
3
+ > **Model note:** in PLAN these sections live **inline in the plan-doc** (`docs/plans/PPP-plan.md`, rich plan, in `plan-new-loop`), not as an exec-session artifact. This file is kept **only** as a reference of the technical schema that the plan absorbs — **no `TECHNICAL-NOTE` is created in sessions**. Use it standalone only when the plan-doc approach does not apply (e.g. a `quick` session that needs scoped technical context).
4
4
 
5
- ## Solution (text|list):
5
+ ## Solution
6
6
  Technical/functional explanation of how the solution will be implemented.
7
7
 
8
- ## Impacted (list):
9
- List of impacted components:
8
+ ## Impacted
9
+ Impacted components:
10
10
  - Frontend
11
11
  - Backend
12
12
  - Database (schemas/tables/functions)
13
13
  - APIs (controllers/endpoints)
14
14
  - Integrations with external systems
15
15
 
16
- ## Dependencies (list):
17
- List of dependencies: sessions / documents / projects / sources / databases, etc.
16
+ ## Dependencies
17
+ Dependencies: sessions / documents / projects / sources / databases, etc.
18
18
 
19
- ## Current State (text):
19
+ ## Current State
20
20
  Simple representation of the wiring or cabling (interfaces and methods) — AS-IS behavior.
21
21
 
22
22
  Example:
@@ -42,10 +42,10 @@ PreviewController.efectivoHtml() ──> respond TEXT_HTML
42
42
  respond APPLICATION_PDF
43
43
  ```
44
44
 
45
- ## Target State (text):
45
+ ## Target State
46
46
  Simple representation of the wiring or cabling (interfaces and methods) — TO-BE behavior.
47
47
 
48
- ## Final Behavior (text|list):
48
+ ## Final Behavior
49
49
  How the entire flow should behave at the end (must be aligned with the requirements and acceptance/success criteria in SESSION.md).
50
50
 
51
51
  Example:
@@ -58,13 +58,13 @@ The user must be able to recover their password via OTP to their mobile number a
58
58
  6. [System] Confirms OTP
59
59
  7. [System] Saves the mobile number and associates it with the [User]
60
60
 
61
- ## Impact / Risks (list):
61
+ ## Impact / Risks
62
62
  Technical impacts and risks.
63
63
 
64
- ## Assumptions (list):
65
- List of assumptions.
64
+ ## Assumptions
65
+ Assumptions.
66
66
 
67
- ## Estimated Time (list):
67
+ ## Estimated Time
68
68
  Time estimates for [Development] and [Internal Testing].
69
69
  The work week has 5 days (Monday–Friday only).
70
70
  Size scale XS/S/M/L/XL:
@@ -74,8 +74,8 @@ Size scale XS/S/M/L/XL:
74
74
  - L -> 6 to 10 days
75
75
  - XL -> More than 10 days
76
76
 
77
- ## Validations (list):
77
+ ## Validations
78
78
  Validations, constraints, business-specific logic.
79
79
 
80
- ## Open Questions (text|list):
80
+ ## Open Questions
81
81
  Pending items, doubts, open questions.
@@ -1,48 +1,35 @@
1
- # ANALYSIS-FILE.md — research session analysis file
1
+ # ANALYSIS-FILE.md — research analysis scratchpad
2
2
 
3
- > What it is: the working analysis document of a `research` session. Created on-demand by any loop. Not resumable (run-and-close) the owning `refine/control` session's CHECKPOINT tracks open research sessions.
3
+ > What it is: an **optional** working scratchpad for deeper investigations, written inline into the active session (`refine`/`exec`/`quick`). For light research, writing only `CONCLUSIONS` is fine skip this file.
4
4
 
5
- # Case (text):
5
+ ## Case
6
6
  Short title.
7
7
 
8
- ## Question (text)
9
- What needs to be clarified or demonstrated?
8
+ ## Question
9
+ What needs to be clarified or demonstrated? Example: why does endpoint X return stale data after the cache refresh?
10
10
 
11
- Example:
12
- Why does client X appear with a pending balance if they already made the payment?
11
+ ## Context
12
+ Optional one line of scope if useful: system / module + what's in scope.
13
13
 
14
- ## Context (text)
15
- Example:
16
- - Requester:
17
- - Area:
18
- - System / module:
19
- - Case date:
20
- - Known impact:
21
-
22
- ## Initial Hypotheses (text|list)
14
+ ## Initial Hypotheses
23
15
  - H1:
24
16
  - H2:
25
- - H3:
26
17
 
27
- ## Evidences (list|table):
18
+ ## Evidences
19
+ Open-ended — add rows for whatever dev-relevant sources you actually used. Seeded with the common ones:
28
20
  | ID | Source | Finding | Link / file / query |
29
21
  |---|---|---|---|
30
22
  | E1 | DB | | |
31
23
  | E2 | Code | | |
32
24
  | E3 | Logs | | |
33
- | E4 | Email | | |
34
- | E5 | File | | |
35
25
 
36
- ## Findings (text|list)
26
+ ## Findings
37
27
  What do the evidences indicate?
38
28
 
39
- - Evidence E1 shows that...
40
- - Evidence E2 confirms that...
41
- - Evidence E3 rules out that...
29
+ - E1 shows...
30
+ - E2 confirms...
42
31
 
43
- ## Identified Cause (text|list)
32
+ ## Identified Cause
44
33
  - Technical:
45
- - Functional:
46
- - Operational:
47
34
  - Data:
48
35
  - Undetermined:
@@ -1,20 +1,17 @@
1
- # CONCLUSIONS.md — research session conclusions
1
+ # CONCLUSIONS.md — research conclusions
2
2
 
3
- > What it is: the conclusions of a `research` session. Produced when the session closes (success or `inconcluso`). The parent loop reads this to resolve the gap that triggered the research.
3
+ > What it is: the conclusions of an **inline research** activity, written into the active session (`refine`/`exec`/`quick`). Produced when the research concludes (success or `inconcluso`). The parent loop reads this to resolve the gap that triggered the research.
4
4
 
5
- ## Conclusion (text|list)
5
+ ## Conclusion
6
6
  Direct answer to the initial question.
7
7
 
8
- ## Recommended Action (text|list)
9
-
8
+ ## Recommended Action
10
9
  Example:
11
- - [ ] Create bugfix
12
- - [ ] Create requirement
13
- - [ ] Correct data
14
- - [ ] Escalate to business
15
- - [ ] Train user
16
- - [ ] Close without technical action
17
- - [ ] Request more information
10
+ - [ ] Fix code
11
+ - [ ] Open follow-up task
12
+ - [ ] Update docs
13
+ - [ ] Defer (insufficient evidence)
14
+ - [ ] No action
18
15
 
19
- ## Details (text):
16
+ ## Details
20
17
  Supporting detail, evidence references, or additional context.
@@ -3,7 +3,7 @@
3
3
  > This is the **bundle README** for the `/w:` slash-command namespace. Every command listed here is something the **user** invokes directly.
4
4
  > Related layers: [`../loops/`](../loops/) (Layer 2, AI-driven) · artifacts live in `.workflow/sessions/` (Layer 3) · permanent deliverables in `docs/`.
5
5
  >
6
- > **Namespace:** all commands are under `w:` (`w` = *workflow*): `/w:spec-new`, `/w:spec-refine`, `/w:plan-new`, `/w:plan-exec`, `/w:quick`, `/w:workspace-init`, `/w:export-*`.
6
+ > **Namespace:** all commands are under `w:` (`w` = *workflow*): `/w:spec-new`, `/w:spec-refine`, `/w:plan-new`, `/w:plan-exec`, `/w:quick`, `/w:workspace-init`, `/w:status` (transversal), `/w:fix-git` (transversal), `/w:export-*`.
7
7
 
8
8
  ---
9
9
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  ┌─ LAYER 2 · LOOPS (../loops/) — AI runs these end-to-end ───────────────┐
22
22
  │ spec-refine-loop · plan-new-loop · plan-exec-loop · quick-loop │
23
- │ Gap-driven · AskUserQuestion with ≤3 content tabs + 1 `flow` tab
23
+ │ Gap-driven · structured-choice: ≤3 content questions + 1 `flow` │
24
24
  │ (Compactar / Cerrar always present) · compact/resume support. │
25
25
  └───────────────────────────┬────────────────────────────────────────────┘
26
26
  │ creates / reads / writes
@@ -45,25 +45,29 @@
45
45
  | Flow | docs/ target | Entry command | Advance command | Loops involved |
46
46
  |---|---|---|---|---|
47
47
  | **SPEC** | `docs/specs/` | `spec-new` *(single-pass)* | `spec-refine` | `spec-refine-loop` |
48
- | **PLANIFICATION** | `docs/plans/` + `docs/tools/` | `plan-new` | `plan-exec` | `plan-new-loop`, `plan-exec-loop` |
48
+ | **PLAN** | `docs/plans/` + `docs/tools/` | `plan-new` | `plan-exec` | `plan-new-loop`, `plan-exec-loop` |
49
49
  | **QUICK** | — *(no doc)* | `quick` | — | `quick-loop` |
50
50
 
51
- > **Intentional asymmetry:** in SPEC, `spec-new` generates the draft in a **single pass** (no loop) and the loop is in `spec-refine`. In PLANIFICATION, **both** commands start loops. Total: **5 flow commands / 4 loops**.
51
+ > **Intentional asymmetry:** in SPEC, `spec-new` generates the draft in a **single pass** (no loop) and the loop is in `spec-refine`. In PLAN, **both** commands start loops. Total: **5 flow commands / 4 loops**.
52
+
53
+ > **Transversal (no flow):** [`/w:status`](status.md) is a read-only dashboard of the whole workspace — what's done / pending / discarded, with friendly Spanish dates. It leans on `aw status`, writes nothing, and belongs to no flow.
54
+ >
55
+ > **Transversal (no flow):** [`/w:fix-git`](fix-git.md) resolves an **in-progress merge conflict** for any repo — identify origin↔destination, analyze both sides' intent, resolve (structured-choice on ambiguity), propose the merge commit (git-safe). Leans on `aw merge-state`; writes no `docs/`; works without a workspace. Neither transversal is counted in **5 flow / 4 loops**.
52
56
 
53
57
  ## Pipeline
54
58
 
55
59
  ```mermaid
56
60
  flowchart LR
57
61
  prompt(["user prompt"]) --> sn["/w:spec-new"]
58
- sn -->|generates| spec["docs/specs/NNN-spec.md"]
62
+ sn -->|generates| spec["docs/specs/NNN-spec-&lt;slug&gt;.md"]
59
63
  spec -.->|optional manual edit| spec
60
64
  spec --> sr["/w:spec-refine"]
61
65
  sr -->|starts| srl(["spec-refine-loop"])
62
- srl -->|generates| specr["docs/specs/NNN-spec-refined.md"]
66
+ srl -->|refines IN PLACE| spec
63
67
 
64
- specr --> pn["/w:plan-new"]
68
+ spec --> pn["/w:plan-new"]
65
69
  pn -->|starts| pnl(["plan-new-loop"])
66
- pnl -->|generates| plan["docs/plans/PPP-plan.md"]
70
+ pnl -->|generates| plan["docs/plans/PPP-plan-&lt;slug&gt;.md"]
67
71
 
68
72
  plan --> pe["/w:plan-exec"]
69
73
  pe -->|starts| pel(["plan-exec-loop"])
@@ -76,7 +80,7 @@ flowchart LR
76
80
  q -->|starts| ql(["quick-loop"])
77
81
  ```
78
82
 
79
- **Pipeline reading:** SPEC defines *what* (refined spec) → PLANIFICATION defines *how* (plan) and *executes it* → QUICK is a lightweight shortcut for scoped work that does not warrant spec or plan.
83
+ **Pipeline reading:** SPEC defines *what* (refined spec) → PLAN defines *how* (plan) and *executes it* → QUICK is a lightweight shortcut for scoped work that does not warrant spec or plan.
80
84
 
81
85
  > **`docs/` boundary:** each flow only touches its own folders — **SPEC** → `docs/specs`; **PLAN** → `docs/plans` + `docs/tools`. The rest of `docs/` (`scripts`, `manuals`, `diagrams`, `reports`) is written **only** by `export-*` skills (a separate, never-automatic step). See [`../loops/`](../loops/) and workflow-exports reference.
82
86
 
@@ -98,7 +102,7 @@ Each `<command>.md` in this bundle uses this frontmatter + body structure:
98
102
  3. **Spec and plan are documents** (`docs/`), not artifacts.
99
103
  4. **DB scripts-only**: AI **never executes DML/DDL**; migrations live in `SCRIPTS.sql` (type B) and are delivered via `export-scripts`. Only read-only queries via MCP.
100
104
  5. **Git-safe**: verify branch before editing; **propose** commits by source; never `push`/`--amend`/`--no-verify`.
101
- 6. **All loops**: gap-driven convergent · `AskUserQuestion` with 3 content tabs + 1 `flow` tab (`Compactar`/`Cerrar`) always · compact/resume · `Cerrar` persists `CHECKPOINT`+`BACKLOG`.
105
+ 6. **All loops**: gap-driven convergent · one session per run (research inline) · *structured-choice* (capacidad del arnés — ver [`../harness/SKILL.md`](../harness/SKILL.md); en **Claude Code** es `AskUserQuestion`) con **≤3 preguntas de contenido + 1 control `flow`** (`Compactar`/`Cerrar`) siempre · compact/resume · artifacts as a live log (`CHECKPOINT` always; `BACKLOG` only when deferring).
102
106
 
103
107
  ## Index
104
108
 
@@ -110,6 +114,8 @@ Each `<command>.md` in this bundle uses this frontmatter + body structure:
110
114
  | `plan-new` | [`plan-new.md`](plan-new.md) | starts `plan-new-loop` |
111
115
  | `plan-exec` | [`plan-exec.md`](plan-exec.md) | starts `plan-exec-loop` |
112
116
  | `quick` | [`quick.md`](quick.md) | starts `quick-loop` |
117
+ | `status` | [`status.md`](status.md) | single-pass, read-only (transversal) |
118
+ | `fix-git` | [`fix-git.md`](fix-git.md) | single-pass, read/edit working tree (transversal) |
113
119
  | `export-scripts` | [`export-scripts.md`](export-scripts.md) | single-pass, read-only |
114
120
  | `export-manuals` | [`export-manuals.md`](export-manuals.md) | single-pass, read-only |
115
121
  | `export-diagrams` | [`export-diagrams.md`](export-diagrams.md) | single-pass, read-only |