@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 +1 -1
- package/skills/w/commands/fix-git.md +17 -23
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "21.10.
|
|
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`
|
|
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
|
|
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
|
|
18
|
-
2. **Only unambiguous resolutions** — what evidence cannot settle is `state: "ambiguous"`; never
|
|
19
|
-
3. **The commit is separate**, always confirmed, message proposed first. Never `--no-verify
|
|
20
|
-
4. **
|
|
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>]` —
|
|
25
|
-
2. Resolve each conflict from `base` (ancestor
|
|
26
|
-
3. One JSON answer: `version`, `operation`, `input_digest` verbatim, `state: "proposed"`, `artifacts` =
|
|
27
|
-
- Cannot settle
|
|
28
|
-
4. `echo '<json>' | aw fix-git apply --format human [--source …]` —
|
|
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
|
-
|
|
27
|
+
## What the CLI decides
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- **
|
|
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
|
|
35
|
+
`aw context-plan --command fix-git --signal <s> --root "${CLAUDE_PLUGIN_ROOT}/skills/w"` lists extra reads.
|