@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.
- package/dist/adapters/git-cli.d.ts +1 -0
- package/dist/adapters/git-cli.d.ts.map +1 -1
- package/dist/adapters/git-cli.js +21 -0
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/application/humanize-es.d.ts +18 -0
- package/dist/application/humanize-es.d.ts.map +1 -0
- package/dist/application/humanize-es.js +71 -0
- package/dist/application/humanize-es.js.map +1 -0
- package/dist/application/merge-state-service.d.ts +37 -0
- package/dist/application/merge-state-service.d.ts.map +1 -0
- package/dist/application/merge-state-service.js +89 -0
- package/dist/application/merge-state-service.js.map +1 -0
- package/dist/application/session-close-service.d.ts.map +1 -1
- package/dist/application/session-close-service.js +4 -1
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/status-service.d.ts +74 -0
- package/dist/application/status-service.d.ts.map +1 -0
- package/dist/application/status-service.js +336 -0
- package/dist/application/status-service.js.map +1 -0
- package/dist/application/templates/session.d.ts +4 -2
- package/dist/application/templates/session.d.ts.map +1 -1
- package/dist/application/templates/session.js +15 -11
- package/dist/application/templates/session.js.map +1 -1
- package/dist/cli/commands/merge-state.d.ts +3 -0
- package/dist/cli/commands/merge-state.d.ts.map +1 -0
- package/dist/cli/commands/merge-state.js +28 -0
- package/dist/cli/commands/merge-state.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +10 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +2 -1
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +4 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +2 -1
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/ports/git.d.ts +5 -0
- package/dist/ports/git.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/w/README.md +6 -3
- package/skills/w/SKILL.md +25 -9
- package/skills/w/artifacts/README.md +10 -9
- package/skills/w/artifacts/artifacts-core/BACKLOG.md +5 -8
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +14 -13
- package/skills/w/artifacts/artifacts-core/SESSION.md +10 -11
- package/skills/w/artifacts/artifacts-core/TASKS.md +5 -5
- package/skills/w/artifacts/{artifacts-dev → artifacts-exec}/DECISION.md +3 -3
- package/skills/w/artifacts/{artifacts-dev → artifacts-exec}/TECHNICAL-NOTE.md +15 -15
- package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +14 -27
- package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +10 -13
- package/skills/w/commands/README.md +16 -10
- package/skills/w/commands/fix-git.md +33 -0
- package/skills/w/commands/plan-exec.md +4 -4
- package/skills/w/commands/plan-new.md +9 -7
- package/skills/w/commands/quick.md +1 -1
- package/skills/w/commands/spec-new.md +19 -15
- package/skills/w/commands/spec-refine.md +7 -5
- package/skills/w/commands/status.md +50 -0
- package/skills/w/exports/README.md +2 -2
- package/skills/w/exports/export-diagrams/SKILL.md +1 -1
- package/skills/w/exports/export-manuals/SKILL.md +2 -2
- package/skills/w/exports/export-reports/SKILL.md +1 -1
- package/skills/w/exports/export-scripts/SKILL.md +1 -1
- package/skills/w/harness/SKILL.md +85 -0
- package/skills/w/loops/README.md +22 -21
- package/skills/w/loops/plan-exec-loop/SKILL.md +60 -58
- package/skills/w/loops/plan-new-loop/SKILL.md +47 -41
- package/skills/w/loops/quick-loop/SKILL.md +23 -20
- package/skills/w/loops/spec-refine-loop/SKILL.md +116 -82
- package/skills/w/roles/README.md +2 -2
- package/skills/w/roles/git/SKILL.md +28 -7
- package/skills/w/roles/research/SKILL.md +22 -82
- package/skills/w/roles/testing/SKILL.md +2 -2
- 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":"AAAA,gEAAgE;AAChE,sEAAsE;AACtE,oEAAoE;AACpE,8EAA8E;AAC9E,mEAAmE;AACnE,qDAAqD;AACrD,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAChF,0EAA0E;AAmB1E,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,QAAQ,EACN,gJAAgJ;IAElJ,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,EAAE;QACN;YACE,EAAE,EAAE,gBAAgB;YACpB,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,mGAAmG;YACzG,QAAQ,EAAE,CAAC,gBAAgB,CAAC;YAC5B,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,cAAc;SACrB;QACD;YACE,EAAE,EAAE,MAAM;YACV,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,4FAA4F;YAClG,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;YACrC,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,GAAG;SACV;QACD;YACE,EAAE,EAAE,eAAe;YACnB,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,oFAAoF;YAC1F,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;YACnC,KAAK,EAAE,4BAA4B;YACnC,IAAI,EAAE,0BAA0B;SACjC;QACD;YACE,EAAE,EAAE,OAAO;YACX,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,qEAAqE;YAC3E,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,YAAY;SACnB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,2BAA2B;YAClC,IAAI,EAAE,uFAAuF;YAC7F,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;YACnF,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,GAAG;SACV;KACF;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,wDAAwD;IACxD,eAAe,EAAE;QACf;YACE,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,CAAC;SAC9F;QACD;YACE,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE;gBACL,iBAAiB;gBACjB,kBAAkB;gBAClB,qBAAqB;gBACrB,uBAAuB;aACxB;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE;gBACL,SAAS;gBACT,oBAAoB;gBACpB,gBAAgB;gBAChB,kBAAkB;gBAClB,kBAAkB;gBAClB,cAAc;aACf;SACF;QACD;YACE,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-content.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/git.d.ts
CHANGED
|
@@ -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
|
package/dist/ports/git.d.ts.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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": {
|
package/skills/w/README.md
CHANGED
|
@@ -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
|
-
|
|
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
|
-
| **
|
|
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
|
|
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
|
|
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. **
|
|
84
|
-
3. **
|
|
85
|
-
- **
|
|
86
|
-
- **
|
|
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
|
|
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 (
|
|
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 ·
|
|
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/`.
|
|
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
|
|
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
|
|
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
|
-
| **
|
|
31
|
-
| **
|
|
32
|
-
| **
|
|
33
|
-
|
|
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/) |
|
|
51
|
-
| [`artifacts-
|
|
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
|
|
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
|
|
6
|
-
|
|
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
|
|
9
|
-
|
|
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
|
|
4
|
-
>
|
|
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
|
|
7
|
+
## Activity
|
|
7
8
|
Summary of the activity done so far.
|
|
8
9
|
|
|
9
|
-
## Critical context
|
|
10
|
-
|
|
10
|
+
## Critical context
|
|
11
|
+
Key decisions / references to other artifacts or documents needed to continue.
|
|
11
12
|
|
|
12
|
-
## Completed
|
|
13
|
-
|
|
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
|
|
16
|
-
|
|
16
|
+
## Excluded
|
|
17
|
+
Excluded phases/tasks (ref: plan-doc; or `TASKS.md`) with reason.
|
|
17
18
|
|
|
18
|
-
## Pending
|
|
19
|
-
|
|
19
|
+
## Pending
|
|
20
|
+
Pending phases/tasks (ref: plan-doc; or `TASKS.md`) still to do.
|
|
20
21
|
|
|
21
|
-
## Next
|
|
22
|
-
Next phase/task (ref: plan-doc
|
|
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
|
|
6
|
+
## Objective
|
|
7
7
|
What this session resolves: the gap, the question, or the concrete block of work.
|
|
8
8
|
|
|
9
|
-
## Origin
|
|
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
|
|
15
|
+
## Type
|
|
16
16
|
Session type, **set by the parent loop** (not the user). Authoritative catalog: `../README.md`.
|
|
17
|
-
- `
|
|
18
|
-
- `exec` — execute work
|
|
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
|
-
|
|
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
|
|
26
|
-
|
|
27
|
-
If NOT met (e.g. research without evidence, DB unavailable): the
|
|
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
|
|
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
|
|
6
|
-
|
|
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
|
|
13
|
-
|
|
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
|
|
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
|
|
11
|
-
|
|
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
|
|
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
|
|
5
|
+
## Solution
|
|
6
6
|
Technical/functional explanation of how the solution will be implemented.
|
|
7
7
|
|
|
8
|
-
## Impacted
|
|
9
|
-
|
|
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
|
|
17
|
-
|
|
16
|
+
## Dependencies
|
|
17
|
+
Dependencies: sessions / documents / projects / sources / databases, etc.
|
|
18
18
|
|
|
19
|
-
## Current State
|
|
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
|
|
45
|
+
## Target State
|
|
46
46
|
Simple representation of the wiring or cabling (interfaces and methods) — TO-BE behavior.
|
|
47
47
|
|
|
48
|
-
## Final Behavior
|
|
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
|
|
61
|
+
## Impact / Risks
|
|
62
62
|
Technical impacts and risks.
|
|
63
63
|
|
|
64
|
-
## Assumptions
|
|
65
|
-
|
|
64
|
+
## Assumptions
|
|
65
|
+
Assumptions.
|
|
66
66
|
|
|
67
|
-
## Estimated Time
|
|
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
|
|
77
|
+
## Validations
|
|
78
78
|
Validations, constraints, business-specific logic.
|
|
79
79
|
|
|
80
|
-
## Open Questions
|
|
80
|
+
## Open Questions
|
|
81
81
|
Pending items, doubts, open questions.
|
|
@@ -1,48 +1,35 @@
|
|
|
1
|
-
# ANALYSIS-FILE.md — research
|
|
1
|
+
# ANALYSIS-FILE.md — research analysis scratchpad
|
|
2
2
|
|
|
3
|
-
> What it is:
|
|
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
|
-
|
|
5
|
+
## Case
|
|
6
6
|
Short title.
|
|
7
7
|
|
|
8
|
-
## Question
|
|
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
|
-
|
|
12
|
-
|
|
11
|
+
## Context
|
|
12
|
+
Optional — one line of scope if useful: system / module + what's in scope.
|
|
13
13
|
|
|
14
|
-
##
|
|
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
|
|
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
|
|
26
|
+
## Findings
|
|
37
27
|
What do the evidences indicate?
|
|
38
28
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- Evidence E3 rules out that...
|
|
29
|
+
- E1 shows...
|
|
30
|
+
- E2 confirms...
|
|
42
31
|
|
|
43
|
-
## Identified Cause
|
|
32
|
+
## Identified Cause
|
|
44
33
|
- Technical:
|
|
45
|
-
- Functional:
|
|
46
|
-
- Operational:
|
|
47
34
|
- Data:
|
|
48
35
|
- Undetermined:
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
# CONCLUSIONS.md — research
|
|
1
|
+
# CONCLUSIONS.md — research conclusions
|
|
2
2
|
|
|
3
|
-
> What it is: the conclusions of
|
|
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
|
|
5
|
+
## Conclusion
|
|
6
6
|
Direct answer to the initial question.
|
|
7
7
|
|
|
8
|
-
## Recommended Action
|
|
9
|
-
|
|
8
|
+
## Recommended Action
|
|
10
9
|
Example:
|
|
11
|
-
- [ ]
|
|
12
|
-
- [ ]
|
|
13
|
-
- [ ]
|
|
14
|
-
- [ ]
|
|
15
|
-
- [ ]
|
|
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
|
|
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 ·
|
|
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
|
-
| **
|
|
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
|
|
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
|
|
62
|
+
sn -->|generates| spec["docs/specs/NNN-spec-<slug>.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 -->|
|
|
66
|
+
srl -->|refines IN PLACE| spec
|
|
63
67
|
|
|
64
|
-
|
|
68
|
+
spec --> pn["/w:plan-new"]
|
|
65
69
|
pn -->|starts| pnl(["plan-new-loop"])
|
|
66
|
-
pnl -->|generates| plan["docs/plans/PPP-plan
|
|
70
|
+
pnl -->|generates| plan["docs/plans/PPP-plan-<slug>.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) →
|
|
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`
|
|
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 |
|