@spexcode/spec-cli 0.7.0-next.7 → 0.7.0-next.8
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": "@spexcode/spec-cli",
|
|
3
|
-
"version": "0.7.0-next.
|
|
3
|
+
"version": "0.7.0-next.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "SpexCode CLI + server. The root spexcode package delegates to this compiled package; dashboard assets live in @spexcode/spec-dashboard.",
|
|
6
6
|
"bin": {
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"test": "tsx --import ../scripts/test-home.mjs --test src/*.test.ts"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@spexcode/session-application": "0.7.0-next.
|
|
39
|
-
"@spexcode/session-selflaunch": "0.7.0-next.
|
|
40
|
-
"@spexcode/spec-core": "0.7.0-next.
|
|
41
|
-
"@spexcode/spec-eval": "0.7.0-next.
|
|
42
|
-
"@spexcode/spec-forge": "0.7.0-next.
|
|
43
|
-
"@spexcode/transcript": "0.7.0-next.
|
|
38
|
+
"@spexcode/session-application": "0.7.0-next.8",
|
|
39
|
+
"@spexcode/session-selflaunch": "0.7.0-next.8",
|
|
40
|
+
"@spexcode/spec-core": "0.7.0-next.8",
|
|
41
|
+
"@spexcode/spec-eval": "0.7.0-next.8",
|
|
42
|
+
"@spexcode/spec-forge": "0.7.0-next.8",
|
|
43
|
+
"@spexcode/transcript": "0.7.0-next.8",
|
|
44
44
|
"smol-toml": "^1.8.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
@@ -19,9 +19,15 @@ Land the current SpexCode session's branch; do not dispatch another merge reques
|
|
|
19
19
|
3. Immediately before landing, verify
|
|
20
20
|
`git merge-base --is-ancestor <source-head> <session-head>`. If it fails, sync again. A clean textual merge
|
|
21
21
|
is not product proof.
|
|
22
|
-
4.
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
4. Land with one `--no-ff` merge of the already-synced session tip, without touching the source checkout's
|
|
23
|
+
dirty work. Git refuses a merge over a dirty index, so do NOT clear it: add a temporary detached worktree of
|
|
24
|
+
the source head (`git worktree add --detach <tmp> <source-branch>`), make the `--no-ff` merge there, then
|
|
25
|
+
fast-forward the source checkout to that commit (`git merge --ff-only <tmp-head>`) and remove the temporary
|
|
26
|
+
worktree. A fast-forward never rewrites a path the merge did not change, so user-owned dirty files keep
|
|
27
|
+
their bytes and their staged/unstaged state. Never `git restore`, `reset`, `checkout`, `stash`, or overwrite
|
|
28
|
+
a user-owned path — an unstaged edit has no blob anywhere, so "save and put back" loses it, and a copy of the
|
|
29
|
+
same path from another worktree is a different version, not a restoration. Do not resolve conflicts in the
|
|
30
|
+
source checkout; if the merge genuinely overlaps a user-owned path, stop and report the exact overlap.
|
|
25
31
|
5. Verify the source checkout has no `MERGE_HEAD`, the session tip is its ancestor, unrelated dirty
|
|
26
32
|
fingerprints are unchanged, and the post-merge gates pass. Push the source-of-truth branch only after
|
|
27
33
|
those checks.
|