@tacuchi/agent-workflow-cli 21.10.0 → 21.10.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tacuchi/agent-workflow-cli",
3
- "version": "21.10.0",
3
+ "version": "21.10.1",
4
4
  "description": "Runtime CLI for Workline — the stages + loops + artifacts system for agent work. Bundles the universal `w` skill set under `skills/w/` (slash commands `/w:*`: spec-new/spec-refine, plan-new/plan-exec, quick, persist, 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": {
@@ -1,41 +1,35 @@
1
1
  ---
2
- description: Use when a merge left conflicts to resolve. `aw fix-git` hands you the three versions of each conflict, validates your resolution and owns edit, stage and commit. Git-safe, transversal, never touches docs/.
2
+ description: Use when a merge left conflicts to resolve. `aw fix-git` shows the three versions, validates, owns edit/stage/commit.; stops on recreated upstreams.
3
3
  argument-hint: "[--source <alias> | --path <ruta>]"
4
- allowed-tools:
5
- [
6
- "Bash",
7
- "Read",
8
- ]
4
+ allowed-tools: ["Bash", "Read"]
9
5
  ---
10
6
 
11
7
  # fix-git — merge conflicts
12
8
 
13
- No loop, no session, never writes `docs/`. Any git repo, workspace or not. Output in the **user's language**.
9
+ No loop, no session, never writes `docs/`. Any repo; output in the user's language.
14
10
 
15
11
  **Hard floor:**
16
12
 
17
- 1. **You supply content; the CLI owns the effects.** Never edit a conflicted file, never `git add` or `git commit` by hand.
18
- 2. **Only unambiguous resolutions** — what evidence cannot settle is `state: "ambiguous"`; never guess a side.
19
- 3. **The commit is separate**, always confirmed, message proposed first. Never `--no-verify`, `--amend` or push.
20
- 4. **Never `git merge --abort` yourself**propose it; the user decides.
13
+ 1. **You supply content; the CLI owns the effects.** Never edit a conflicted file, never `git add`/`commit` by hand.
14
+ 2. **Only unambiguous resolutions** — what evidence cannot settle is `state: "ambiguous"`; never take a whole side blind.
15
+ 3. **The commit is separate**, always confirmed, message proposed first. Never `--no-verify`/`--amend`/push/`--force`/`reset --hard`/`merge --abort` proposed, never run.
16
+ 4. **Recreated upstream = STOP.** First: `git fetch`, READ it — `forced update` = branch re-created upstream; corroborate: `git rev-list --left-right --count HEAD...@{upstream}` both > 0. Those commits were retired never merge or push them back; propose re-sync (backup `respaldo-<fecha>` + `reset --hard @{upstream}`). Merging `<branch>` → check `<branch>...<branch>@{upstream}` too. No upstream → warn.
21
17
 
22
18
  ## Run
23
19
 
24
- 1. `aw fix-git prepare --format human [--source <alias> | --path <ruta>]` — merge direction (`theirs → ours`), conflicted paths, their three stages and blob hashes; inspector `aw merge-state`.
25
- 2. Resolve each conflict from `base` (ancestor), `ours` (HEAD) and `theirs` (incoming) by *intent*, not text: one side, a combination, or a rewrite of both.
26
- 3. One JSON answer: `version`, `operation`, `input_digest` verbatim, `state: "proposed"`, `artifacts` = one complete `{ path, content }` per conflicted file.
27
- - Cannot settle it → `state: "ambiguous"` with `reason`, nothing written. Binary conflict → rejected; propose `git checkout --ours|--theirs`.
28
- 4. `echo '<json>' | aw fix-git apply --format human [--source …]` — authorized while the set is unambiguous and current. A rejection names its cause and next action; nothing was written — fix and repeat.
20
+ 1. After rule 4: `aw fix-git prepare --format human [--source <alias> | --path <ruta>]` — direction (`theirs → ours`), paths, stages, blob hashes. None in progress: one requested → `git -C <path> merge <branch>`, else nothing to resolve.
21
+ 2. Resolve each conflict from `base`/`ours`/`theirs` (ancestor/HEAD/incoming) by *intent*: one side, a mix, or a rewrite.
22
+ 3. One JSON answer: `version`, `operation`, `input_digest` verbatim, `state: "proposed"`, `artifacts` = complete `{ path, content }` per file.
23
+ - Cannot settle → `state: "ambiguous"` with `reason`. Binary → rejected; propose `git checkout --ours|--theirs`.
24
+ 4. `echo '<json>' | aw fix-git apply --format human [--source …]` — valid while the set is unambiguous and current; rejections name cause and next action, nothing written — fix and repeat.
29
25
  5. Propose the merge commit; on approval `aw fix-git commit --message "<mensaje>" --confirm`.
30
26
 
31
- > **No merge in progress?** User asked to merge a branch → run `git -C <path> merge <branch>` and continue; otherwise say nothing is left to resolve.
27
+ ## What the CLI decides
32
28
 
33
- ## What the CLI decides (do not re-derive)
34
-
35
- - **Writable paths**: only files still unmerged — anything else is rejected, and blob hashes seal the set: a moved conflict fails stale.
36
- - **Resolved**: leftover `<<<<<<<` / `=======` / `>>>>>>>` is a rejection.
37
- - **Can close**: `commit` refuses while a file stays unmerged.
29
+ - **Writable paths**: files still unmerged; blob hashes seal the set stale conflicts fail.
30
+ - **Resolved**: leftover `<<<<<<<`/`=======`/`>>>>>>>` is a rejection.
31
+ - **Can close**: `commit` refuses with a file unmerged.
38
32
 
39
33
  ## More context
40
34
 
41
- `aw context-plan --command fix-git --signal <s> --root "${CLAUDE_PLUGIN_ROOT}/skills/w"` lists the case-specific documents to read.
35
+ `aw context-plan --command fix-git --signal <s> --root "${CLAUDE_PLUGIN_ROOT}/skills/w"` lists extra reads.