@webpieces/rules-config 0.3.292 → 0.3.293
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": "@webpieces/rules-config",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.293",
|
|
4
4
|
"description": "Shared webpieces.config.json loader. Single source of truth for validation rule configuration consumed by @webpieces/ai-hook-rules, @webpieces/code-rules, and @webpieces/nx-webpieces-rules.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -44,9 +44,14 @@ by the `redirect-how-to-merge-main` guard.
|
|
|
44
44
|
|
|
45
45
|
A sync does its work on a transient `<feature>Squash` branch and, when it finishes, force-pushes and
|
|
46
46
|
**renames back to `<feature>`** — so your local branch, `origin/<feature>`, and the PR head are always
|
|
47
|
-
the *same* name. There is no `wpN` generation suffix to reconcile.
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
the *same* name. There is no `wpN` generation suffix to reconcile.
|
|
48
|
+
|
|
49
|
+
Each sync takes a pre-merge snapshot `<feature>PreMerge<n>` (numbered from 1) paired 1:1 with a
|
|
50
|
+
conflict-context folder `.webpieces/merge-info/<slug>/merge-<n>/` under the same number. A **clean**
|
|
51
|
+
sync auto-removes its snapshot and leaves no folder (no undo point needed). A **conflict** sync KEEPS
|
|
52
|
+
the matched pair — `<feature>PreMerge<n>` to diff/bail against, and `merge-<n>/` holding that merge's
|
|
53
|
+
3-point context — so merge N never reuses merge N-1's files. List the trail with
|
|
54
|
+
`git branch --list '<feature>PreMerge*'`; snapshots are not auto-pruned (only clean ones self-delete).
|
|
50
55
|
|
|
51
56
|
## Two possible outcomes of a squash-update
|
|
52
57
|
|
|
@@ -59,11 +64,12 @@ decides who does the work.
|
|
|
59
64
|
```
|
|
60
65
|
you: pnpm wp-update-start
|
|
61
66
|
tool: assertCleanTree # you must have committed your own work first
|
|
62
|
-
tool: snapshot pre-merge state -> <feature>PreMerge
|
|
67
|
+
tool: snapshot pre-merge state -> <feature>PreMerge<n> (numbered from 1)
|
|
63
68
|
tool: checkout main; pull; create transient <feature>Squash off main
|
|
64
69
|
tool: git merge --squash <feature> # SUCCEEDS — stages the combined result
|
|
65
70
|
tool: git commit -m "Squash merge of <feature>" # <-- the TOOL commits (mechanical)
|
|
66
71
|
tool: force-push to origin/<feature>; rename <feature>Squash back to <feature>
|
|
72
|
+
tool: delete <feature>PreMerge<n> # clean merge -> snapshot not needed
|
|
67
73
|
done — you are on <feature> again (== origin/<feature> == PR head; names always match).
|
|
68
74
|
```
|
|
69
75
|
|
|
@@ -74,9 +80,9 @@ commits exactly that. The commit is a pure function of your already-committed wo
|
|
|
74
80
|
|
|
75
81
|
```
|
|
76
82
|
you: pnpm wp-update-start
|
|
77
|
-
tool: assertCleanTree; snapshot -> <feature>PreMerge
|
|
83
|
+
tool: assertCleanTree; snapshot -> <feature>PreMerge<n>; checkout main; pull; create <feature>Squash
|
|
78
84
|
tool: git merge --squash <feature> # CONFLICTS — conflicted files left with markers
|
|
79
|
-
tool: writes .webpieces/merge-info/<
|
|
85
|
+
tool: writes .webpieces/merge-info/<slug>/merge-<n>/ (A=fork / B=feature / C=main context + diffs; kept, paired with PreMerge<n>)
|
|
80
86
|
tool: writes .webpieces/instruct-ai/webpieces.mergeprocess.md, then exits (code 2)
|
|
81
87
|
---- hand-off to the AI (you are on the transient <feature>Squash branch) ----
|
|
82
88
|
AI: read webpieces.mergeprocess.md
|