@ibgib/vcs-gib 0.0.21 → 0.0.26

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 (93) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/VCS_CLI_USER_GUIDE.md +94 -89
  3. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  4. package/dist/AUTO-GENERATED-version.mjs +1 -1
  5. package/dist/bootstrap/node-bootstrap.mjs +1 -1
  6. package/dist/cli/cli-arg-parser.d.mts +1 -0
  7. package/dist/cli/cli-arg-parser.d.mts.map +1 -1
  8. package/dist/cli/cli-arg-parser.mjs +5 -1
  9. package/dist/cli/cli-arg-parser.mjs.map +1 -1
  10. package/dist/cli/cli-constants.d.mts +6 -0
  11. package/dist/cli/cli-constants.d.mts.map +1 -1
  12. package/dist/cli/cli-constants.mjs +12 -0
  13. package/dist/cli/cli-constants.mjs.map +1 -1
  14. package/dist/cli/commands/add-cmd.d.mts.map +1 -1
  15. package/dist/cli/commands/add-cmd.mjs +5 -2
  16. package/dist/cli/commands/add-cmd.mjs.map +1 -1
  17. package/dist/cli/commands/commit-cmd.d.mts +5 -4
  18. package/dist/cli/commands/commit-cmd.d.mts.map +1 -1
  19. package/dist/cli/commands/commit-cmd.mjs +149 -33
  20. package/dist/cli/commands/commit-cmd.mjs.map +1 -1
  21. package/dist/cli/commands/generate-comment-cmd.d.mts +19 -0
  22. package/dist/cli/commands/generate-comment-cmd.d.mts.map +1 -0
  23. package/dist/cli/commands/generate-comment-cmd.mjs +140 -0
  24. package/dist/cli/commands/generate-comment-cmd.mjs.map +1 -0
  25. package/dist/cli/commands/log-cmd.d.mts +12 -3
  26. package/dist/cli/commands/log-cmd.d.mts.map +1 -1
  27. package/dist/cli/commands/log-cmd.mjs +236 -38
  28. package/dist/cli/commands/log-cmd.mjs.map +1 -1
  29. package/dist/cli/commands/merge-cmd.d.mts +21 -8
  30. package/dist/cli/commands/merge-cmd.d.mts.map +1 -1
  31. package/dist/cli/commands/merge-cmd.mjs +138 -70
  32. package/dist/cli/commands/merge-cmd.mjs.map +1 -1
  33. package/dist/cli/commands/status-cmd.d.mts +5 -6
  34. package/dist/cli/commands/status-cmd.d.mts.map +1 -1
  35. package/dist/cli/commands/status-cmd.mjs +50 -205
  36. package/dist/cli/commands/status-cmd.mjs.map +1 -1
  37. package/dist/cli/vcs-cli-main.d.mts.map +1 -1
  38. package/dist/cli/vcs-cli-main.mjs +27 -6
  39. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  40. package/dist/engine/index/index-helper.d.mts.map +1 -1
  41. package/dist/engine/index/index-helper.mjs +3 -0
  42. package/dist/engine/index/index-helper.mjs.map +1 -1
  43. package/dist/engine/item/item-helper.d.mts +31 -1
  44. package/dist/engine/item/item-helper.d.mts.map +1 -1
  45. package/dist/engine/item/item-helper.mjs +44 -2
  46. package/dist/engine/item/item-helper.mjs.map +1 -1
  47. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts +74 -0
  48. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +1 -0
  49. package/dist/engine/merge/{b2tfs-3way-merge-strategy.mjs → b2tfs-3way-graft-strategy.mjs} +133 -304
  50. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +1 -0
  51. package/dist/engine/merge/{b2tfs-3way-merge-types.d.mts → b2tfs-3way-graft-types.d.mts} +2 -9
  52. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +1 -0
  53. package/dist/engine/merge/b2tfs-3way-graft-types.mjs +2 -0
  54. package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +1 -0
  55. package/dist/engine/status/status-helper.d.mts +89 -0
  56. package/dist/engine/status/status-helper.d.mts.map +1 -0
  57. package/dist/engine/status/status-helper.mjs +285 -0
  58. package/dist/engine/status/status-helper.mjs.map +1 -0
  59. package/dist/test/test-helpers.d.mts +51 -0
  60. package/dist/test/test-helpers.d.mts.map +1 -0
  61. package/dist/test/test-helpers.mjs +135 -0
  62. package/dist/test/test-helpers.mjs.map +1 -0
  63. package/package.json +4 -4
  64. package/src/AUTO-GENERATED-version.mts +1 -1
  65. package/src/bootstrap/node-bootstrap.mts +1 -1
  66. package/src/cli/cli-arg-parser.mts +5 -0
  67. package/src/cli/cli-constants.mts +13 -0
  68. package/src/cli/commands/add-cmd.mts +5 -2
  69. package/src/cli/commands/branch-checkout-cmd.respec.log +8 -101
  70. package/src/cli/commands/branch-checkout-cmd.respec.mts +11 -10
  71. package/src/cli/commands/commit-cmd.mts +165 -42
  72. package/src/cli/commands/commit-log-cmd.respec.mts +216 -3
  73. package/src/cli/commands/generate-comment-cmd.mts +171 -0
  74. package/src/cli/commands/log-cmd.mts +288 -41
  75. package/src/cli/commands/merge-cmd.mts +154 -76
  76. package/src/cli/commands/status-cmd.mts +57 -256
  77. package/src/cli/vcs-cli-main.mts +28 -7
  78. package/src/engine/index/index-helper.mts +3 -0
  79. package/src/engine/item/item-helper.mts +76 -3
  80. package/src/engine/merge/{b2tfs-3way-merge-strategy.mts → b2tfs-3way-graft-strategy.mts} +152 -374
  81. package/src/engine/merge/{b2tfs-3way-merge-strategy.respec.mts → b2tfs-3way-graft-strategy.respec.mts} +27 -122
  82. package/src/engine/merge/{b2tfs-3way-merge-types.mts → b2tfs-3way-graft-types.mts} +34 -42
  83. package/src/engine/merge/b2tfs-sync-comments.respec.mts +399 -0
  84. package/src/engine/status/status-helper.mts +380 -0
  85. package/src/test/test-helpers.mts +168 -0
  86. package/tsconfig.test.tsbuildinfo +1 -1
  87. package/tsconfig.tsbuildinfo +1 -1
  88. package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts +0 -48
  89. package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts.map +0 -1
  90. package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs.map +0 -1
  91. package/dist/engine/merge/b2tfs-3way-merge-types.d.mts.map +0 -1
  92. package/dist/engine/merge/b2tfs-3way-merge-types.mjs +0 -2
  93. package/dist/engine/merge/b2tfs-3way-merge-types.mjs.map +0 -1
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @module test-helpers
3
+ *
4
+ * Pure-function diagnostic helpers for logging and inspecting b2tfs ibgib
5
+ * state during tests. These are NOT production code — they are imported only
6
+ * by test files (*.respec.mts) and the handful of vcs-gib commands that
7
+ * temporarily wire in diagnostic logging.
8
+ *
9
+ * Usage pattern:
10
+ *
11
+ * ```ts
12
+ * import { logBranchState, logItemState } from '../../test/test-helpers.mjs';
13
+ * await logBranchState({ label: 'after commit', branchIbGib, space });
14
+ * ```
15
+ */
16
+ import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
17
+ import { getLatestAddrs } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
18
+ // ─────────────────────────────────────────────────────────────────────────────
19
+ // Internal helpers
20
+ // ─────────────────────────────────────────────────────────────────────────────
21
+ function shortAddr(addr) {
22
+ if (!addr) {
23
+ return '(none)';
24
+ }
25
+ // show the first 12 chars of the gib portion for easy visual matching
26
+ const caretIdx = addr.lastIndexOf('^');
27
+ if (caretIdx === -1) {
28
+ return addr.slice(0, 40);
29
+ }
30
+ const ib = addr.slice(0, caretIdx);
31
+ const gib = addr.slice(caretIdx + 1);
32
+ // gib may be punctiliarHash.tjpGib — show first 8 of each
33
+ const dotIdx = gib.indexOf('.');
34
+ const gibShort = dotIdx === -1
35
+ ? gib.slice(0, 8)
36
+ : `${gib.slice(0, 8)}.${gib.slice(dotIdx + 1, dotIdx + 9)}`;
37
+ return `${ib}^${gibShort}`;
38
+ }
39
+ function shortAddrs(addrs) {
40
+ if (!addrs || addrs.length === 0) {
41
+ return '[]';
42
+ }
43
+ return `[\n ${addrs.map(shortAddr).join('\n ')}\n ]`;
44
+ }
45
+ // ─────────────────────────────────────────────────────────────────────────────
46
+ // Exported diagnostic helpers
47
+ // ─────────────────────────────────────────────────────────────────────────────
48
+ /**
49
+ * Logs a compact snapshot of a b2tfs branch ibgib and the latest addr for its
50
+ * b2tfs_item timeline as known by the given space.
51
+ */
52
+ export async function logBranchState({ label, branchIbGib, space, }) {
53
+ const lc = `[logBranchState][${label}]`;
54
+ if (!branchIbGib) {
55
+ console.log(`${lc} branchIbGib: (UNDEFINED)`);
56
+ return;
57
+ }
58
+ const b = branchIbGib;
59
+ const addr = getIbGibAddr({ ibGib: b });
60
+ const n = b.data?.n ?? '?';
61
+ const name = b.data?.name ?? '?';
62
+ const tjpAddr = b.rel8ns?.tjp?.at(0);
63
+ const itemAddrs = b.rel8ns?.b2tfs_item ?? [];
64
+ console.log(`${lc}
65
+ addr : ${shortAddr(addr)}
66
+ name : ${name}
67
+ n : ${n}
68
+ tjp : ${shortAddr(tjpAddr)}
69
+ b2tfs_item: ${shortAddrs(itemAddrs)} (${itemAddrs.length} total, tip: ${shortAddr(itemAddrs.at(-1))})`);
70
+ if (space && tjpAddr) {
71
+ try {
72
+ const res = await getLatestAddrs({ addrs: [tjpAddr], space });
73
+ const latest = res?.data?.latestAddrs?.[0];
74
+ console.log(` [space ${space.ib ?? space.constructor.name}] latestAddr for branch TJP: ${shortAddr(latest)}`);
75
+ }
76
+ catch (e) {
77
+ console.log(` [space] getLatestAddrs for branch TJP THREW: ${e}`);
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ * Logs a compact snapshot of a b2tfs item ibgib and optionally the latest addr
83
+ * for its timeline as known by the given space.
84
+ */
85
+ export async function logItemState({ label, itemIbGib, space, }) {
86
+ const lc = `[logItemState][${label}]`;
87
+ if (!itemIbGib) {
88
+ console.log(`${lc} itemIbGib: (UNDEFINED)`);
89
+ return;
90
+ }
91
+ const item = itemIbGib;
92
+ const addr = getIbGibAddr({ ibGib: item });
93
+ const n = item.data?.n ?? '?';
94
+ const fsType = item.data?.fsType ?? '?';
95
+ const filename = item.data?.filename ?? item.data?.name ?? '?';
96
+ const tjpAddr = item.rel8ns?.tjp?.at(0);
97
+ const textContent = item.data?.textContent;
98
+ const binRel8n = item.rel8ns?.bin ?? item.rel8ns?.binary;
99
+ console.log(`${lc}
100
+ addr : ${shortAddr(addr)}
101
+ filename : ${filename} fsType: ${fsType}
102
+ n : ${n}
103
+ tjp : ${shortAddr(tjpAddr)}
104
+ text : ${textContent !== undefined ? JSON.stringify(textContent.slice(0, 120)) : binRel8n ? `(binary, bin rel8n: ${shortAddrs(binRel8n)})` : '(none)'}`);
105
+ if (space && tjpAddr) {
106
+ try {
107
+ const res = await getLatestAddrs({ addrs: [tjpAddr], space });
108
+ const latest = res?.data?.latestAddrs?.[0];
109
+ console.log(` [space ${space.ib ?? space.constructor.name}] latestAddr for item TJP: ${shortAddr(latest)}`);
110
+ }
111
+ catch (e) {
112
+ console.log(` [space] getLatestAddrs for item TJP THREW: ${e}`);
113
+ }
114
+ }
115
+ }
116
+ /**
117
+ * Logs a one-line separator to make log sections visually scannable.
118
+ */
119
+ export function logCheckpoint(label) {
120
+ const bar = '─'.repeat(60);
121
+ console.log(`\n${bar}\n CHECKPOINT: ${label}\n${bar}`);
122
+ }
123
+ /**
124
+ * Logs the full addr (no shortening) for debugging addr comparison issues.
125
+ */
126
+ export function logAddr(label, addr) {
127
+ console.log(`[ADDR][${label}]: ${addr ?? '(undefined)'}`);
128
+ }
129
+ /**
130
+ * Logs a set of addrs with short formatting.
131
+ */
132
+ export function logAddrs(label, addrs) {
133
+ console.log(`[ADDRS][${label}]: ${shortAddrs(addrs)}`);
134
+ }
135
+ //# sourceMappingURL=test-helpers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.mjs","sourceRoot":"","sources":["../../src/test/test-helpers.mts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/vcs-gib",
3
- "version": "0.0.21",
3
+ "version": "0.0.26",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -20,9 +20,9 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@ibgib/helper-gib": "^0.0.37",
23
- "@ibgib/ts-gib": "^0.5.33",
23
+ "@ibgib/ts-gib": "^0.5.34",
24
24
  "@ibgib/encrypt-gib": "^0.3.1",
25
- "@ibgib/core-gib": "^0.1.73",
26
- "@ibgib/node-gib": "^0.0.18"
25
+ "@ibgib/core-gib": "^0.1.75",
26
+ "@ibgib/node-gib": "^0.0.20"
27
27
  }
28
28
  }
@@ -2,4 +2,4 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export const AUTO_GENERATED_VERSION = '0.0.21';
5
+ export const AUTO_GENERATED_VERSION = '0.0.26';
@@ -19,7 +19,7 @@ import { DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 } from '@ibgib/node-gib/dist/witn
19
19
  import { fnCreateNewLocalSpace, fnDtoToSpace_nodeFilesystem } from '@ibgib/node-gib/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs';
20
20
 
21
21
  import { GLOBAL_LOG_A_LOT } from '../vcs-gib-constants.mjs';
22
- import { B2tFS3WayGraftStrategy } from '../engine/merge/b2tfs-3way-merge-strategy.mjs';
22
+ import { B2tFS3WayGraftStrategy } from '../engine/merge/b2tfs-3way-graft-strategy.mjs';
23
23
 
24
24
  const lcFile = `[node-bootstrap]`;
25
25
  const logalot = GLOBAL_LOG_A_LOT;
@@ -18,6 +18,7 @@ import {
18
18
  VCS_PARAM_YES,
19
19
  VCS_PARAM_STAGED,
20
20
  VCS_PARAM_WORKTREE,
21
+ VCS_PARAM_COMMENTS,
21
22
  } from './cli-constants.mjs';
22
23
 
23
24
  export type VcsSubcommand = typeof VCS_SUBCOMMANDS[keyof typeof VCS_SUBCOMMANDS];
@@ -36,6 +37,7 @@ export interface ParsedVcsArgs {
36
37
  yes?: boolean;
37
38
  staged?: boolean;
38
39
  worktree?: boolean;
40
+ comments?: boolean;
39
41
  };
40
42
  rawArgs: string[];
41
43
  }
@@ -104,6 +106,9 @@ export function parseVcsArgs(argv: string[]): ParsedVcsArgs {
104
106
  } else if (matchesParam(arg, VCS_PARAM_WORKTREE)) {
105
107
  flags.worktree = true;
106
108
  i++;
109
+ } else if (matchesParam(arg, VCS_PARAM_COMMENTS)) {
110
+ flags.comments = true;
111
+ i++;
107
112
  } else if (!arg.startsWith('-')) {
108
113
  if (command === VCS_SUBCOMMANDS.HELP) {
109
114
  const normalized = arg.toLowerCase();
@@ -19,10 +19,23 @@ export const VCS_SUBCOMMANDS = {
19
19
  MERGE: 'merge',
20
20
  RESET: 'reset',
21
21
  RESTORE: 'restore',
22
+ GENERATE_COMMENT: 'generate-comment',
23
+ GEN_COMMENT: 'gen-comment',
24
+ GEN_MSG: 'gen-msg',
25
+ GCOMM: 'gcomm',
26
+ GMSG: 'gmsg',
22
27
  HELP: 'help',
23
28
  VERSION: 'version',
24
29
  } as const;
25
30
 
31
+ export const VCS_PARAM_COMMENTS: RCLIParamInfo = {
32
+ name: 'comments',
33
+ synonyms: ['c'],
34
+ description: 'Show full pending comment texts in status',
35
+ isFlag: true,
36
+ argTypeName: 'boolean',
37
+ };
38
+
26
39
  export const VCS_PARAM_MESSAGE: RCLIParamInfo = {
27
40
  name: 'message',
28
41
  synonyms: ['m'],
@@ -20,6 +20,7 @@ import { putInSpace, persistTransformResult } from '@ibgib/core-gib/dist/witness
20
20
 
21
21
  import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
22
22
  import { getOrCreateBranchSpace } from '../../engine/branch/branch-space-helper.mjs';
23
+ import { isCommentMetadataFilename } from '../../engine/status/status-helper.mjs';
23
24
  import { getB2tFSItemIb } from '../../engine/item/item-atom-helper.mjs';
24
25
  import { B2tFSItemIbGib_V1, B2TFS_CHILD_ITEM_REL8N_NAME } from '../../engine/item/item-types.mjs';
25
26
  import { getIbGibWithMetaspaceFallback, createB2tFSItemIbGib, evolveB2tFSItemIbGib } from '../../engine/item/item-helper.mjs';
@@ -186,7 +187,7 @@ export async function executeAddCmd({
186
187
  throw new Error(`No files matched glob pattern: ${relOrAbs} (E: e23d4c5f6a7b8c9d0e1f2a3b4c5d6e7f)`);
187
188
  }
188
189
  } else {
189
- const fullPath = path.resolve(targetDir, relOrAbs);
190
+ const fullPath = path.isAbsolute(relOrAbs) ? relOrAbs : path.resolve(absTargetDir, relOrAbs);
190
191
  let stat;
191
192
  try {
192
193
  stat = await fs.stat(fullPath);
@@ -420,7 +421,9 @@ async function addCmd_collectFilesRecursively({
420
421
  outFiles,
421
422
  });
422
423
  } else if (entry.isFile()) {
423
- outFiles.push(fullPath);
424
+ if (!isCommentMetadataFilename(entry.name)) {
425
+ outFiles.push(fullPath);
426
+ }
424
427
  }
425
428
  }
426
429
  }
@@ -1,111 +1,18 @@
1
- filteredRespecPaths for extra respec: C:\Users\billm\antigravity\ibgib\apps\vcs-gib\dist\cli\commands\branch-checkout-cmd.respec.mjs
2
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
3
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
4
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
5
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
6
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
1
+ PS C:\Users\billm\antigravity\ibgib> npm run test:vcs-gib > vcs-gib-test.log
7
2
  [branch-cmd][executeBranchCmd] Branch 'feature-auth' already exists (E: 7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c) (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)
8
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
9
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
10
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
11
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
12
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
13
3
  [checkout-cmd][executeCheckoutCmd] Branch name is required for checkout (E: 4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d) (E: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d)
14
4
  [checkout-cmd][executeCheckoutCmd] Branch 'non-existent-branch' does not exist (E: 7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a) (E: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d)
15
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
16
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
17
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
18
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
19
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
20
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
21
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
22
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
23
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
24
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
25
5
  [branch-cmd][executeBranchCmd] Item 'src/utils/non-existent.js' not found in active branch snapshot (E: 8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c) (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)
26
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
27
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
28
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
29
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
30
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
31
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
32
- [isPastFrame] couldn't get newerAddr (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8FA10E71C35A8602C2AE3604A5EEE956B43697A8FDD5ED0A31E0D38B8869A3DD.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) from space (witness space NodeFilesystemSpace_V1 b2s_main 7ce86fbcc93998107962baa4905bc49230a2d5fe615c8158a22ec49b1f13bb06 undefined undefined). (E: 36c758c22b181b2c89a1cd28937a6826)
33
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
34
- [b2tfs-3way-merge-strategy][mergeTreeNodes] [MERGE DIAGNOSTIC] file: app.ts
35
- [b2tfs-3way-merge-strategy][mergeTreeNodes] [MERGE DIAGNOSTIC] textLCA:
36
- line 1
37
- line 2
38
- line 3
39
- [b2tfs-3way-merge-strategy][mergeTreeNodes] [MERGE DIAGNOSTIC] textBase:
40
- line 1 modified by main
41
- line 2
42
- line 3
43
- [b2tfs-3way-merge-strategy][mergeTreeNodes] [MERGE DIAGNOSTIC] textOrphan:
44
- line 1
45
- line 2
46
- line 3 modified by secondary
47
- [DEBUG 3WAY] textLCA: "line 1\nline 2\nline 3"
48
- [DEBUG 3WAY] textBase: "line 1 modified by main\nline 2\nline 3"
49
- [DEBUG 3WAY] textOrphan: "line 1\nline 2\nline 3 modified by secondary"
50
- [b2tfs-3way-merge-strategy][mergeTreeNodes] [MERGE DIAGNOSTIC] mergedText:
51
- line 1 modified by main
52
- line 2
53
- line 3 modified by secondary
54
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A1C371DA5F28DCFDA4DC1202AF89930BFF918406A8893FAFA6A7F9584B7B6B4C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A1C371DA5F28DCFDA4DC1202AF89930BFF918406A8893FAFA6A7F9584B7B6B4C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^D071DAE71F2CC6A5C36A579A7BB0E3207A75939622497711DC9DE2BC71F27EAF.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 6. n_existingLatest: 6. space.ib: witness space NodeFilesystemSpace_V1 tmp_sync_recv_8824a3c1 4aae17ecb57f9c235a33ec106e718f0d763509b8ab4e4aa580b344a5a0fb419d undefined undefined (W: 057baadca494473dabb26fb4fb879774)
55
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
56
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
57
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
6
+ [isPastFrame] couldn't get newerAddr (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^EECBAA61C78180F78656F821E1271816E9449F56FEFB664AA9F27ED81948D27E.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527) from space (witness space NodeFilesystemSpace_V1 b2s_main 510b55e61edfcfb0553ff7f0f16afa038cf19fdcf511ed834c032dcf7f3e56d0 undefined undefined). (E: 36c758c22b181b2c89a1cd28937a6826)
58
7
  [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
59
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
60
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
61
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
62
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
63
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
64
- [SyncPeerInnerspace_V1][sendContextRequest] ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)
65
- [authenticateContextIntrinsically][NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)
66
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
67
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A62BEA427F99F5806F111753A9145DF893AAA9B382E40586BC86AA55C7962A8C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A62BEA427F99F5806F111753A9145DF893AAA9B382E40586BC86AA55C7962A8C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8B097A2BBED5F7A3CE3B4DDEC37BA72026308CE95EFD262C99DC9C26D69F3860.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 1. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_main 7ce86fbcc93998107962baa4905bc49230a2d5fe615c8158a22ec49b1f13bb06 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
68
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^E1A8D6487C603E8F81454C5DA229ADD2B5069D05668761E0A0D01D43864CE7AC.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^E1A8D6487C603E8F81454C5DA229ADD2B5069D05668761E0A0D01D43864CE7AC.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8B097A2BBED5F7A3CE3B4DDEC37BA72026308CE95EFD262C99DC9C26D69F3860.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 2. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_main 7ce86fbcc93998107962baa4905bc49230a2d5fe615c8158a22ec49b1f13bb06 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
69
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^D071DAE71F2CC6A5C36A579A7BB0E3207A75939622497711DC9DE2BC71F27EAF.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^D071DAE71F2CC6A5C36A579A7BB0E3207A75939622497711DC9DE2BC71F27EAF.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A1C371DA5F28DCFDA4DC1202AF89930BFF918406A8893FAFA6A7F9584B7B6B4C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 6. n_existingLatest: 6. space.ib: witness space NodeFilesystemSpace_V1 b2s_main 7ce86fbcc93998107962baa4905bc49230a2d5fe615c8158a22ec49b1f13bb06 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
70
- [validateFullSyncSagaHistory] NAG ERROR (NOT THROWN) need to implement more validation on full saga history. (E: 9bfcc9247a1c783fd361a4a8216fef26)
71
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^4C8827B1BF2250F746A901497990F4E93E1799A3416F306054C5713C006261F3.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^4C8827B1BF2250F746A901497990F4E93E1799A3416F306054C5713C006261F3.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8FA10E71C35A8602C2AE3604A5EEE956B43697A8FDD5ED0A31E0D38B8869A3DD.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 3. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_feature-merge c0554c86c8384a509cf2065bd284faed725c393865c45a405be3838f87f65929 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
72
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8B097A2BBED5F7A3CE3B4DDEC37BA72026308CE95EFD262C99DC9C26D69F3860.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8B097A2BBED5F7A3CE3B4DDEC37BA72026308CE95EFD262C99DC9C26D69F3860.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^8FA10E71C35A8602C2AE3604A5EEE956B43697A8FDD5ED0A31E0D38B8869A3DD.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 4. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_feature-merge c0554c86c8384a509cf2065bd284faed725c393865c45a405be3838f87f65929 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
73
- [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^D071DAE71F2CC6A5C36A579A7BB0E3207A75939622497711DC9DE2BC71F27EAF.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^D071DAE71F2CC6A5C36A579A7BB0E3207A75939622497711DC9DE2BC71F27EAF.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^A1C371DA5F28DCFDA4DC1202AF89930BFF918406A8893FAFA6A7F9584B7B6B4C.07374FCD253DEDF2065710534F50CF8A03B06E6EA7930932E742D686D9A01559). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 6. n_existingLatest: 6. space.ib: witness space NodeFilesystemSpace_V1 b2s_feature-merge c0554c86c8384a509cf2065bd284faed725c393865c45a405be3838f87f65929 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
74
- [SyncSagaCoordinator][handleCommitFrame] NAG ERROR (NOT THROWN): implement cleanup logic, including add a cleanup method to the peer (E: 3a9a24befb98a981a88fbdbf52920e26)
75
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][lists default branch main for new repository] ALL 3 of 3 reckonings were respecful
76
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][creates new branch from active branch root item and rejects duplicates]
77
- ALL 9 of 9 reckonings were respecful
78
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][switches active branch with checkout and projects branch snapshot onto worktree subfolder] ALL 15 of 15 reckonings were respecful
79
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][rejects checkout when branch does not exist or branchName missing] ALL 4 of 4 reckonings were respecful
80
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][lists branches silently on secondary branch without error noise] ALL 3 of 3 reckonings were respecful
81
- 💚 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][branches single file-root item and projects into file-branch worktree on checkout] ALL 6 of 6 reckonings were respecful
8
+ [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^6F40767E6A17082316510C68CCBEE7CCB43B803EF8DE7C4B378D91F5BED745E6.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^6F40767E6A17082316510C68CCBEE7CCB43B803EF8DE7C4B378D91F5BED745E6.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^88FFB649AEB6B6329AB5777A82691EFB72D82014D00D9E0DCCF22196C20363BF.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 1. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_main 510b55e61edfcfb0553ff7f0f16afa038cf19fdcf511ed834c032dcf7f3e56d0 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
9
+ [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^DBD0E2D09136F8F5A35036656D8BEF33CF70F4050C73BA7AAD1787E87A7BEB15.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^DBD0E2D09136F8F5A35036656D8BEF33CF70F4050C73BA7AAD1787E87A7BEB15.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^88FFB649AEB6B6329AB5777A82691EFB72D82014D00D9E0DCCF22196C20363BF.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 2. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_main 510b55e61edfcfb0553ff7f0f16afa038cf19fdcf511ed834c032dcf7f3e56d0 undefined undefined (W: 057baadca494473dabb26fb4fb879774)
10
+ [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^C4054DC802F94A59398CCFD06453B265F2A3DEEDC637D9670CE16C3293C6B1AC.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^C4054DC802F94A59398CCFD06453B265F2A3DEEDC637D9670CE16C3293C6B1AC.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^EECBAA61C78180F78656F821E1271816E9449F56FEFB664AA9F27ED81948D27E.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 3. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_feature-merge 5eba6ce1c88e7e09c146f83d88d91c5031f21ff7b987806d52d7e56dbe41190a undefined undefined (W: 057baadca494473dabb26fb4fb879774)
11
+ [registerNewIbGib][b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^88FFB649AEB6B6329AB5777A82691EFB72D82014D00D9E0DCCF22196C20363BF.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527] incoming ibGib (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^88FFB649AEB6B6329AB5777A82691EFB72D82014D00D9E0DCCF22196C20363BF.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527) is NOT NEWER than existing latest (b2tfs_item file app.ts v1 84dd6a83459413d5bb638cd885f20ef0dbebf2ebf10d0f35d1c9ca424b0ca06a^EECBAA61C78180F78656F821E1271816E9449F56FEFB664AA9F27ED81948D27E.1585E564AA472F176E546EC18CFD836106414CAC4814B078B1A8670DA1B98527). multiple branches for the same timeline? ignoring incoming ibGibAddr. n_ibGib: 4. n_existingLatest: 4. space.ib: witness space NodeFilesystemSpace_V1 b2s_feature-merge 5eba6ce1c88e7e09c146f83d88d91c5031f21ff7b987806d52d7e56dbe41190a undefined undefined (W: 057baadca494473dabb26fb4fb879774)
82
12
  💔 [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch][includes] Uh oh. this.value (line 1 modified by main
83
13
  line 2
84
14
  line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
85
15
  [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] PARTIAL DISrespec. 1 out of 5 DISrespecful reckonings 💔
86
- line 2
87
- line 2
88
- line 2
89
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
90
- line 2
91
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
92
- line 2
93
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
94
- line 2
95
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
96
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] PARTIAL DIline 2
97
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
98
- line 2
99
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
100
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] PARTIAL DIline 2
101
- line 3) does NOT include line 3 modified by secondary (E: 28b572ece3364c669377f5431a5dcba8)
102
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] PARTIAL DISrespec. 1 out of 5 DISrespecful reckonings 💔
103
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][lists default branch main for new repository] ✅
104
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][creates new branch from active branch root item and rejects duplicates] ✅[branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][rejects checkout when branch does not exist or branchName missing] ✅
105
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][switches active branch with checkout and projects branch snapshot onto worktree subfolder] ✅
106
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][rejects checkout when branch does not exist or branchName missing] ✅ [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][branches single file-root item and projects into file-branch worktree on
107
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][lists branches silently on secondary branch without error noise] ✅ [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] 🟥
108
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][branches single file-root item and projects into file-branch worktree on
109
- checkout] ✅
110
- [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers][performs vcs merge end-to-end between main and secondary branch] 🟥 4 respec files completely skipped.
16
+ 14 respec files completely skipped.
17
+ 💔💔 DISrespec found 💔💔
111
18
  [branch-checkout-cmd.respec.node.mts][vcs branch, checkout, and merge Command Handlers] DISrespec 💔
@@ -19,12 +19,13 @@ import { executeBranchCmd } from './branch-cmd.mjs';
19
19
  import { executeCheckoutCmd } from './checkout-cmd.mjs';
20
20
  import { executeMergeCmd } from './merge-cmd.mjs';
21
21
  import { executeStatusCmd } from './status-cmd.mjs';
22
+ import { logCheckpoint } from '../../test/test-helpers.mjs';
22
23
 
23
24
  const lc = `[apps/vcs-gib/src/cli/commands/branch-checkout-cmd.respec.node.mts]`;
24
25
 
25
26
  await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async () => {
26
27
 
27
- await ifWeMight(lc, `lists default branch main for new repository`, async () => {
28
+ await ifWe(lc, `lists default branch main for new repository`, async () => {
28
29
  const testDir = path.join(process.cwd(), '.test_branch_checkout_1');
29
30
  const vcsFolderName = '.vcsgib_test_bc_1';
30
31
  try {
@@ -48,7 +49,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
48
49
  }
49
50
  });
50
51
 
51
- await ifWeMight(lc, `creates new branch from active branch root item and rejects duplicates`, async () => {
52
+ await ifWe(lc, `creates new branch from active branch root item and rejects duplicates`, async () => {
52
53
  const testDir = path.join(process.cwd(), '.test_branch_checkout_2');
53
54
  const vcsFolderName = '.vcsgib_test_bc_2';
54
55
  try {
@@ -112,7 +113,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
112
113
  }
113
114
  });
114
115
 
115
- await ifWeMight(lc, `switches active branch with checkout and projects branch snapshot onto worktree subfolder`, async () => {
116
+ await ifWe(lc, `switches active branch with checkout and projects branch snapshot onto worktree subfolder`, async () => {
116
117
  const testDir = path.join(process.cwd(), '.test_branch_checkout_3');
117
118
  const vcsFolderName = '.vcsgib_test_bc_3';
118
119
  try {
@@ -238,7 +239,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
238
239
  }
239
240
  });
240
241
 
241
- await ifWeMight(lc, `rejects checkout when branch does not exist or branchName missing`, async () => {
242
+ await ifWe(lc, `rejects checkout when branch does not exist or branchName missing`, async () => {
242
243
  const testDir = path.join(process.cwd(), '.test_branch_checkout_4');
243
244
  const vcsFolderName = '.vcsgib_test_bc_4';
244
245
  try {
@@ -280,7 +281,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
280
281
  }
281
282
  });
282
283
 
283
- await ifWeMight(lc, `lists branches silently on secondary branch without error noise`, async () => {
284
+ await ifWe(lc, `lists branches silently on secondary branch without error noise`, async () => {
284
285
  const testDir = path.join(process.cwd(), '.test_branch_checkout_secondary');
285
286
  const vcsFolderName = '.vcsgib_test_bc_sec';
286
287
  try {
@@ -322,7 +323,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
322
323
  }
323
324
  });
324
325
 
325
- await ifWeMight(lc, `branches single file-root item and projects into file-branch worktree on checkout`, async () => {
326
+ await ifWe(lc, `branches single file-root item and projects into file-branch worktree on checkout`, async () => {
326
327
  const testDir = path.join(process.cwd(), '.test_branch_checkout_file_root');
327
328
  const vcsFolderName = '.vcsgib_test_bc_file';
328
329
  try {
@@ -401,7 +402,7 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
401
402
  }
402
403
  });
403
404
 
404
- await ifWeMight(lc, `performs vcs merge end-to-end between main and secondary branch`, async () => {
405
+ await ifWe(lc, `performs vcs merge end-to-end between main and secondary branch`, async () => {
405
406
  const testDir = path.join(process.cwd(), '.test_vcs_merge_e2e');
406
407
  const vcsFolderName = '.vcsgib_test_merge_e2e';
407
408
  try {
@@ -482,14 +483,14 @@ await respecfully(lc, `vcs branch, checkout, and merge Command Handlers`, async
482
483
 
483
484
  // 5. Execute vcs merge feature-merge into main
484
485
  const mergeRes = await executeMergeCmd({
485
- targetBranchName: 'feature-merge',
486
+ incomingBranchName: 'feature-merge',
486
487
  targetDir: testDir,
487
488
  vcsFolderName,
488
489
  quiet: true,
489
490
  });
490
491
 
491
- iReckon(lc, mergeRes.activeBranch).willEqual('main');
492
- iReckon(lc, mergeRes.targetBranch).willEqual('feature-merge');
492
+ iReckon(lc, mergeRes.baseBranch).willEqual('main');
493
+ iReckon(lc, mergeRes.incomingBranch).willEqual('feature-merge');
493
494
 
494
495
  // 6. Verify projected file on physical worktree disk contains merged lines
495
496
  const mergedAppTs = await fs.readFile(path.join(testDir, 'app.ts'), 'utf8');