@tacuchi/agent-workflow-cli 20.23.0 → 20.25.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 (137) hide show
  1. package/README.md +34 -11
  2. package/dist/application/context/budget-service.js +128 -0
  3. package/dist/application/context/budget-service.js.map +1 -0
  4. package/dist/application/context/bundle-root.js +41 -0
  5. package/dist/application/context/bundle-root.js.map +1 -0
  6. package/dist/application/context/manifest.js +150 -0
  7. package/dist/application/context/manifest.js.map +1 -0
  8. package/dist/application/context/measure.js +227 -0
  9. package/dist/application/context/measure.js.map +1 -0
  10. package/dist/application/context/plan-service.js +177 -0
  11. package/dist/application/context/plan-service.js.map +1 -0
  12. package/dist/application/dev-only-services.js +17 -14
  13. package/dist/application/dev-only-services.js.map +1 -1
  14. package/dist/application/mcp-host-reader.js +3 -1
  15. package/dist/application/mcp-host-reader.js.map +1 -1
  16. package/dist/application/mcp-host-writer.js +86 -41
  17. package/dist/application/mcp-host-writer.js.map +1 -1
  18. package/dist/application/plugin-doctor/hooks.js +7 -1
  19. package/dist/application/plugin-doctor/hooks.js.map +1 -1
  20. package/dist/application/self/bootstrap.js +30 -16
  21. package/dist/application/self/bootstrap.js.map +1 -1
  22. package/dist/application/self/clean-legacy.js +5 -0
  23. package/dist/application/self/clean-legacy.js.map +1 -1
  24. package/dist/application/self/detect-hosts.js +31 -45
  25. package/dist/application/self/detect-hosts.js.map +1 -1
  26. package/dist/application/self/doctor-self.js +7 -2
  27. package/dist/application/self/doctor-self.js.map +1 -1
  28. package/dist/application/self/hooks-toml.js +232 -0
  29. package/dist/application/self/hooks-toml.js.map +1 -0
  30. package/dist/application/self/host-states.js +290 -0
  31. package/dist/application/self/host-states.js.map +1 -0
  32. package/dist/application/self/install-hooks.js +98 -4
  33. package/dist/application/self/install-hooks.js.map +1 -1
  34. package/dist/application/self/install-skill.js +28 -16
  35. package/dist/application/self/install-skill.js.map +1 -1
  36. package/dist/application/self/install-targets.js +23 -0
  37. package/dist/application/self/install-targets.js.map +1 -1
  38. package/dist/application/self/mcp-config.js +13 -19
  39. package/dist/application/self/mcp-config.js.map +1 -1
  40. package/dist/application/self/skills-manager.js +9 -0
  41. package/dist/application/self/skills-manager.js.map +1 -1
  42. package/dist/application/self/uninstall.js +162 -26
  43. package/dist/application/self/uninstall.js.map +1 -1
  44. package/dist/cli/commands/context-budget.js +79 -0
  45. package/dist/cli/commands/context-budget.js.map +1 -0
  46. package/dist/cli/commands/context-plan.js +75 -0
  47. package/dist/cli/commands/context-plan.js.map +1 -0
  48. package/dist/cli/commands/dev-only.js +4 -1
  49. package/dist/cli/commands/dev-only.js.map +1 -1
  50. package/dist/cli/commands/index.js +4 -0
  51. package/dist/cli/commands/index.js.map +1 -1
  52. package/dist/cli/commands/mcp.js +16 -8
  53. package/dist/cli/commands/mcp.js.map +1 -1
  54. package/dist/cli/help-groups.js +4 -0
  55. package/dist/cli/help-groups.js.map +1 -1
  56. package/dist/cli/parser.js +4 -0
  57. package/dist/cli/parser.js.map +1 -1
  58. package/dist/cli/tui/components/host-admin-section.js +69 -60
  59. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  60. package/dist/cli/tui/data/workflow-content.js +6 -0
  61. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  62. package/dist/cli/tui/hosts.js +39 -17
  63. package/dist/cli/tui/hosts.js.map +1 -1
  64. package/dist/cli/tui/tabs/config-tab.js +3 -3
  65. package/dist/cli/tui/tabs/config-tab.js.map +1 -1
  66. package/dist/cli/tui/tabs/mcp-tab-helpers.js +7 -1
  67. package/dist/cli/tui/tabs/mcp-tab-helpers.js.map +1 -1
  68. package/dist/cli/tui/tabs/mcp-tab.js +32 -10
  69. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  70. package/dist/cli/tui/tabs/skills-tab.js +13 -4
  71. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  72. package/dist/cli/tui/tabs/status-tab.js +11 -17
  73. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  74. package/dist/cli/tui/tabs/workflow-tab.js +7 -3
  75. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  76. package/dist/cli/tui/tui-prefs.js +7 -1
  77. package/dist/cli/tui/tui-prefs.js.map +1 -1
  78. package/dist/domain/harnesses.js +129 -0
  79. package/dist/domain/harnesses.js.map +1 -1
  80. package/dist/domain/host-verification.js +20 -0
  81. package/dist/domain/host-verification.js.map +1 -0
  82. package/package.json +3 -2
  83. package/skills/w/SKILL.md +2 -2
  84. package/skills/w/commands/export-diagrams.md +10 -27
  85. package/skills/w/commands/export-manuals.md +13 -29
  86. package/skills/w/commands/export-reports.md +11 -27
  87. package/skills/w/commands/export-scripts.md +12 -29
  88. package/skills/w/commands/fix-git.md +21 -32
  89. package/skills/w/commands/generate-launch.md +13 -32
  90. package/skills/w/commands/persist.md +8 -29
  91. package/skills/w/commands/plan-exec.md +14 -30
  92. package/skills/w/commands/plan-new.md +11 -38
  93. package/skills/w/commands/plan-refine.md +13 -41
  94. package/skills/w/commands/quick.md +13 -20
  95. package/skills/w/commands/resume.md +17 -33
  96. package/skills/w/commands/spec-new.md +28 -69
  97. package/skills/w/commands/spec-refine.md +12 -37
  98. package/skills/w/commands/status.md +12 -19
  99. package/skills/w/commands/workspace-init.md +13 -20
  100. package/skills/w/context/MANIFEST.json +486 -0
  101. package/skills/w/harness/HARNESS.md +24 -17
  102. package/skills/w/loops/CHASSIS.md +53 -104
  103. package/skills/w/loops/CODE-POLICIES.md +4 -9
  104. package/skills/w/loops/plan-exec-loop/LOOP.md +5 -12
  105. package/skills/w/loops/plan-new-loop/LOOP.md +8 -32
  106. package/skills/w/loops/plan-refine-loop/LOOP.md +8 -36
  107. package/skills/w/loops/quick-loop/LOOP.md +4 -10
  108. package/skills/w/loops/spec-refine-loop/LOOP.md +7 -49
  109. package/skills/w/modules/ADOPTED-CONTEXT.md +10 -0
  110. package/skills/w/modules/COMPACTION.md +13 -0
  111. package/skills/w/modules/DB-RESEARCH-RULE.md +11 -0
  112. package/skills/w/modules/DB-SCRIPTS-ONLY.md +12 -0
  113. package/skills/w/modules/EXEC-DB-POLICY.md +7 -0
  114. package/skills/w/modules/EXEC-PROBE-TASKS.md +11 -0
  115. package/skills/w/modules/IDEATION-GATE.md +16 -0
  116. package/skills/w/modules/INCREMENTAL-STRATEGY.md +7 -0
  117. package/skills/w/modules/LAUNCH-DETECTION.md +26 -0
  118. package/skills/w/modules/PERSIST-ROUTING.md +16 -0
  119. package/skills/w/modules/PLAN-DESIGN-SPECS.md +12 -0
  120. package/skills/w/modules/PLAN-INPUT.md +26 -0
  121. package/skills/w/modules/PLAN-MODE.md +26 -0
  122. package/skills/w/modules/PLAN-PROBE-TASKS.md +10 -0
  123. package/skills/w/modules/PLAN-REFINE-DESIGN-SPECS.md +7 -0
  124. package/skills/w/modules/PLAN-REFINE-KEYS.md +9 -0
  125. package/skills/w/modules/PLAN-REFINE-SPLIT.md +12 -0
  126. package/skills/w/modules/PLAN-SPLIT-GATE.md +14 -0
  127. package/skills/w/modules/PROBE.md +12 -0
  128. package/skills/w/modules/PROMPT-CONTINUITY.md +13 -0
  129. package/skills/w/modules/RECONNAISSANCE.md +48 -0
  130. package/skills/w/modules/REPLANNING.md +12 -0
  131. package/skills/w/modules/SESSION-NUMBERING.md +19 -0
  132. package/skills/w/modules/SIMULATION-LIFECYCLE.md +11 -0
  133. package/skills/w/modules/SPEC-CHANGE-SHAPE.md +37 -0
  134. package/skills/w/modules/SPEC-REFINE-KEYS.md +14 -0
  135. package/skills/w/modules/SPLIT-GATE.md +42 -0
  136. package/skills/w/modules/WORKSPACE-SCAFFOLD.md +28 -0
  137. package/skills/w/roles/ui-spec/ROLE.md +1 -1
@@ -0,0 +1,42 @@
1
+ # SPLIT-GATE — one deliverable, or several siblings
2
+
3
+ Loaded when the prompt may hold more than one independent outcome (signal `split`).
4
+
5
+ ## Split gate (multi-spec)
6
+
7
+ Right after the reconnaissance and **before writing anything**, assess whether the prompt bundles
8
+ **several independent outcomes**. The unit is the **functional outcome**, not the technical
9
+ boundary: distinct repos, a frontend/backend pair, several microservices, a migration plus the
10
+ code it enables — all **secondary evidence**, never on their own a reason to divide.
11
+
12
+ **Divide only when each part is a result that can be refined, accepted and planned on its own** —
13
+ its own purpose, its own acceptance criteria, worth delivering even if the other part is dropped.
14
+ The gate fires **only on clear signals** (>=2 of: independent deliverables/goals · explicit
15
+ enumeration of distinct features · different requested moments or order · users or value that do
16
+ not depend on each other). Borderline, or evidence too thin to tell → **one spec, no question**:
17
+ the hypothesis goes to `## Assumptions` and the doubt to `## Open questions`.
18
+
19
+ It applies only to a **raw user prompt** (direct invocation, or the `plan-new` mode-3 handoff); it
20
+ **never fires** on the reuse entries — the quick escalation and the `persist` adoption arrive
21
+ already scoped to one objective.
22
+
23
+ - **The offer** — the command's **only** interaction: **one** structured-choice (<=2 content
24
+ questions + the `flow` control; `Cerrar` = abort, nothing is written yet). The question body
25
+ shows the proposed cut in the **user's language**: per part, a name + slug, a 1-line scope and
26
+ the suggested order. Labels: `Dividir en varias specs` (recommended when the signals hold) |
27
+ `Una sola spec`. A free-form answer adjusts the cut (merge/rename/drop parts); if one part
28
+ remains, proceed as a single spec.
29
+ - **The second content question** is allowed **only** for a functional ambiguity with two
30
+ incompatible readings that would change the number of specs (or leave the requested outcome
31
+ unidentifiable). Anything smaller — confirming an observable technology, closing an
32
+ implementation detail, raising confidence from medium to high — is **not** asked: it goes to
33
+ `## Assumptions` or `## Open questions`.
34
+ - **On acceptance** — still single-pass: the cut comes from the prompt plus the reconnaissance
35
+ already done, never from a second look. Per part, mint with `aw next-number docs/specs`
36
+ **immediately before each write**, then write that draft. Numbers come out consecutive, so every
37
+ sibling path is known after the first mint.
38
+ - **Sibling contract**: each `## Origin` records the shared prompt + `split (part i/N)` + the
39
+ **siblings by path** + the suggested order; each `## Scope` Out points to the sibling that owns
40
+ the excluded part. Cross-reference by path, never by bare number.
41
+ - **Report**: list the N files and suggest the next step per spec (`/w:spec-refine` on the first —
42
+ each sibling refines and plans at its own moment).
@@ -0,0 +1,28 @@
1
+ # WORKSPACE-SCAFFOLD — what init versions, ignores and prunes
2
+
3
+ Loaded when the folder already has a workspace, or the user asks what `workspace-init` writes,
4
+ ignores or removes on a re-run (signal `scaffold`).
5
+
6
+ ## Versioning policy (CLI-owned `.gitignore`)
7
+
8
+ Init writes and owns the full set.
9
+
10
+ - **Ignored** — `.workflow/sessions/` (machine-local live log), `.workflow/.lock`,
11
+ `.workflow/processes.json`, `.workflow/launch/`, `docs/logs/` and, when there are external
12
+ sources, `.claude/settings.local.json*` / `.codex/config.toml*` (the patterns cover the
13
+ `.bak.<epoch>` backups).
14
+ - **Versioned** — `.workflow/skills.toml`, `docs/**` (the deliverables) and
15
+ `.workflow/HISTORY.md`, the durable record: `aw session-close` upserts each closed session's
16
+ row there.
17
+
18
+ ## Re-run: reconcile + prune
19
+
20
+ A re-run adds no duplicate entries and overwrites no manual configuration. It prunes the legacy
21
+ upfront scaffold:
22
+
23
+ - `.gitkeep`-only taxonomy folders and stray `.gitkeep` files;
24
+ - an empty `docs/logs/`;
25
+ - a released `.workflow/.lock` leftover.
26
+
27
+ The `.gitignore` is completed to the current set — entries merge under the existing header, never
28
+ duplicated.
@@ -28,7 +28,7 @@ Given a UI requirement, author a **structured Markdown description** of the scre
28
28
  Two levels, same capability:
29
29
 
30
30
  - **`spec-refine-loop`** (see `../../loops/spec-refine-loop/LOOP.md`) — resolving the **UI unspecified** gap (when the requirement involves UI): authors the spec's `## UI spec` section (the UI's *what*, coarse-grain screens).
31
- - **`plan-new-loop` · `plan-refine-loop`** (see `../../loops/plan-new-loop/LOOP.md` § *Delta 4*) — resolving the **UI without design SPEC** gap (when the **plan includes UI**): authors per-screen **design SPECs** (`NNN-SPEC-<SLUG>.md`) as **PLAN session artifacts** (see `../../artifacts/artifacts-design/SPEC.md`); they derive from `## UI spec` when it exists.
31
+ - **`plan-new-loop` · `plan-refine-loop`** (see `../../modules/PLAN-DESIGN-SPECS.md`, the plan loops' `ui` module) — resolving the **UI without design SPEC** gap (when the **plan includes UI**): authors per-screen **design SPECs** (`NNN-SPEC-<SLUG>.md`) as **PLAN session artifacts** (see `../../artifacts/artifacts-design/SPEC.md`); they derive from `## UI spec` when it exists.
32
32
 
33
33
  In both, the composing loop contributes:
34
34