@shardworks/clerk-apparatus 0.1.248 → 0.1.250

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.
@@ -1 +1 @@
1
- {"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAKrE,OAAO,KAAK,EAWV,aAAa,EACb,SAAS,EAEV,MAAM,YAAY,CAAC;AAsBpB,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,sDACG,CAAC;AAoBtD,wBAAgB,WAAW,IAAI,MAAM,CAiyBpC"}
1
+ {"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAKrE,OAAO,KAAK,EAWV,aAAa,EACb,SAAS,EAEV,MAAM,YAAY,CAAC;AAsBpB,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB;AAID;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,sDACG,CAAC;AAoBtD,wBAAgB,WAAW,IAAI,MAAM,CA+yBpC"}
package/dist/clerk.js CHANGED
@@ -115,13 +115,27 @@ export function createClerk() {
115
115
  continue;
116
116
  }
117
117
  const name = entry.name;
118
- // Config override: skip silently
118
+ // Config override: skip silently. Config-vs-kit precedence is unchanged;
119
+ // the kit-vs-kit collision rule below only fires when no config entry
120
+ // claims the writ type.
119
121
  if (configWritTypeNames.has(name))
120
122
  continue;
121
- // Duplicate kit contribution: first wins, warn
122
- if (mergedWritTypes.has(name)) {
123
- console.warn(`[clerk] Kit "${pluginId}" writTypes: type "${name}" already registered by another kit — skipped`);
124
- continue;
123
+ const existing = mergedWritTypes.get(name);
124
+ if (existing !== undefined) {
125
+ // Built-in vs. kit: silently skip. A kit that re-declares a built-in
126
+ // writ type is redundant but harmless — the built-in is already valid.
127
+ if (existing.source === 'builtin')
128
+ continue;
129
+ // Kit-vs-kit collision: throw at registration time. Two kits
130
+ // contributing the same writ type is a guild-config hazard — operators
131
+ // resolve by removing one contribution, or by overriding via guild
132
+ // config (clerk.writTypes).
133
+ throw new Error(`[clerk] writTypes: writ type "${name}" is contributed by two kits ` +
134
+ `— kit "${existing.source}" already registered it, and ` +
135
+ `kit "${pluginId}" attempted to register it again. ` +
136
+ `Two kits cannot contribute the same writ type. ` +
137
+ `Resolve by removing one of the kit contributions, or by overriding ` +
138
+ `via guild config (clerk.writTypes).`);
125
139
  }
126
140
  mergedWritTypes.set(name, {
127
141
  description: entry.description,
package/dist/clerk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/clerk-apparatus",
3
- "version": "0.1.248",
3
+ "version": "0.1.250",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,12 +20,12 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "zod": "4.3.6",
23
- "@shardworks/stacks-apparatus": "0.1.248",
24
- "@shardworks/tools-apparatus": "0.1.248"
23
+ "@shardworks/tools-apparatus": "0.1.250",
24
+ "@shardworks/stacks-apparatus": "0.1.250"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "25.5.0",
28
- "@shardworks/nexus-core": "0.1.248"
28
+ "@shardworks/nexus-core": "0.1.250"
29
29
  },
30
30
  "files": [
31
31
  "dist",
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "scripts": {
35
35
  "build": "tsc",
36
- "test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --test 'src/**/*.test.ts'",
36
+ "test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --test 'src/**/*.test.ts' 'pages/**/*.test.js'",
37
37
  "typecheck": "tsc --noEmit"
38
38
  }
39
39
  }
@@ -235,6 +235,73 @@
235
235
  el.style.display = 'none';
236
236
  }
237
237
 
238
+ // ── Descendant tree helpers ────────────────────────────────────────
239
+
240
+ /**
241
+ * WritTree node shape: { writ: WritDoc, children: WritTreeNode[] }.
242
+ *
243
+ * Recursively fetches descendants of `rootId` via /api/writ/list, producing a
244
+ * tree of `WritTreeNode` entries. Guards against cycles with `visited` and
245
+ * bounds recursion at `maxDepth` (default 10) to keep the UI responsive on
246
+ * pathological data. Children at each level are sorted by createdAt ascending
247
+ * (oldest first), matching fetchChildrenForRoots behavior.
248
+ *
249
+ * Returns `WritTreeNode[]` — the direct children of `rootId`, each with their
250
+ * own nested `children` list.
251
+ */
252
+ async function buildDescendantTree(rootId, maxDepth = 10, visited = null) {
253
+ if (visited === null) visited = new Set();
254
+ if (maxDepth <= 0) return [];
255
+ if (visited.has(rootId)) return [];
256
+ visited.add(rootId);
257
+
258
+ let children;
259
+ try {
260
+ children = await api('GET',
261
+ '/api/writ/list?parentId=' + encodeURIComponent(rootId) + '&limit=1000');
262
+ } catch (e) {
263
+ console.error('Failed to fetch children for ' + rootId, e);
264
+ return [];
265
+ }
266
+
267
+ children.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
268
+
269
+ // Fetch grandchildren in parallel for each child
270
+ const nodes = await Promise.all(children.map(async (child) => {
271
+ const subChildren = await buildDescendantTree(child.id, maxDepth - 1, visited);
272
+ return { writ: child, children: subChildren };
273
+ }));
274
+ return nodes;
275
+ }
276
+
277
+ /**
278
+ * Flattens a WritTree forest into a depth-first list of `{ writ, depth }`.
279
+ * `depth` is 0-based — direct children of the root get depth 0, their
280
+ * children get depth 1, etc. Order preserves the pre-order traversal
281
+ * of the tree (parent before children, children in createdAt order).
282
+ */
283
+ function flattenTree(nodes, depth = 0, acc = null) {
284
+ if (acc === null) acc = [];
285
+ for (const node of nodes) {
286
+ acc.push({ writ: node.writ, depth });
287
+ if (node.children && node.children.length > 0) {
288
+ flattenTree(node.children, depth + 1, acc);
289
+ }
290
+ }
291
+ return acc;
292
+ }
293
+
294
+ /**
295
+ * Returns inline style for indenting a depth-aware row's title cell.
296
+ * Depth 0 is the first indent step, matching the existing child-row
297
+ * padding-left: 2rem in the main list; each additional depth adds
298
+ * 1.5rem so nested descendants are visually distinguishable.
299
+ */
300
+ function depthIndentStyle(depth) {
301
+ const rem = 2 + depth * 1.5;
302
+ return `padding-left:${rem}rem`;
303
+ }
304
+
238
305
  // ── Row actions ────────────────────────────────────────────────────
239
306
 
240
307
  /** Returns the HTML for the context-aware Actions cell for a writ row. */
@@ -439,13 +506,27 @@
439
506
  html += renderLinksSection(writ);
440
507
  html += `</div>`;
441
508
 
442
- // Children
443
- const childItems = writ._fullChildren ?? writ.children?.items ?? [];
444
- if (childItems.length > 0) {
509
+ // Children — deep descendant rendering
510
+ //
511
+ // Prefer the descendant tree populated by showWritDetail / refreshDetail
512
+ // (writ._descendantTree: WritTreeNode[]). If the tree hasn't been populated
513
+ // yet (older code path or fetch failure), fall back to the flat children
514
+ // list shape so we still render something. The summary-badges block is
515
+ // driven by writ.children.summary, which is the direct-child summary
516
+ // returned by writ-show — it intentionally covers depth 1 only.
517
+ let rows;
518
+ if (writ._descendantTree && writ._descendantTree.length > 0) {
519
+ rows = flattenTree(writ._descendantTree);
520
+ } else {
521
+ const childItems = writ._fullChildren ?? writ.children?.items ?? [];
522
+ rows = childItems.map(c => ({ writ: c, depth: 0 }));
523
+ }
524
+
525
+ if (rows.length > 0) {
445
526
  html += `<div class="detail-section">`;
446
527
  html += `<h4>Children</h4>`;
447
528
 
448
- // Summary badges
529
+ // Summary badges — direct children only, per writ-show contract.
449
530
  if (writ.children?.summary) {
450
531
  html += `<div style="margin-bottom:0.5rem">`;
451
532
  for (const [phase, count] of Object.entries(writ.children.summary)) {
@@ -454,14 +535,14 @@
454
535
  html += `</div>`;
455
536
  }
456
537
 
457
- // Children table: Phase, Title, Type, ID, Actions
538
+ // Children table: Phase, Title, Type, ID, Actions — rows indent by depth.
458
539
  html += `<table class="data-table"><thead><tr>`;
459
540
  html += `<th>Phase</th><th>Title</th><th>Type</th><th>ID</th><th>Actions</th>`;
460
541
  html += `</tr></thead><tbody>`;
461
- for (const child of childItems) {
462
- html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" style="cursor:pointer">`;
542
+ for (const { writ: child, depth } of rows) {
543
+ html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" data-depth="${depth}" style="cursor:pointer">`;
463
544
  html += `<td>${phaseBadge(child.phase)}</td>`;
464
- html += `<td>${escHtml(child.title ?? '')}</td>`;
545
+ html += `<td style="${depthIndentStyle(depth)}">${escHtml(child.title ?? '')}</td>`;
465
546
  html += `<td>${escHtml(child.type ?? '')}</td>`;
466
547
  html += `<td><code>${child.id}</code></td>`;
467
548
  html += `<td class="row-actions" style="white-space:nowrap">${rowActions(child)}</td>`;
@@ -800,14 +881,13 @@
800
881
  const idx = writs.findIndex(w => w.id === id);
801
882
  if (idx >= 0) writs[idx] = writ;
802
883
 
803
- // Fetch full children if needed
884
+ // Fetch full descendant tree if there are any children.
804
885
  if (writ.children && writ.children.items.length > 0) {
805
886
  try {
806
- const fullChildren = await api('GET',
807
- '/api/writ/list?parentId=' + encodeURIComponent(id) + '&limit=1000');
808
- fullChildren.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
809
- writ._fullChildren = fullChildren;
810
- } catch (e) { writ._fullChildren = null; }
887
+ writ._descendantTree = await buildDescendantTree(id);
888
+ } catch (e) {
889
+ writ._descendantTree = null;
890
+ }
811
891
  }
812
892
 
813
893
  // Re-render detail content
@@ -847,15 +927,14 @@
847
927
  const idx = writs.findIndex(w => w.id === id);
848
928
  if (idx >= 0) writs[idx] = writ;
849
929
 
850
- // Fetch full children data for the detail children table
930
+ // Fetch full descendant tree for the detail children table. The detail
931
+ // view renders deep descendants (not just direct children) so clicking
932
+ // into a writ does not collapse visible depth back to 1.
851
933
  if (writ.children && writ.children.items.length > 0) {
852
934
  try {
853
- const fullChildren = await api('GET',
854
- '/api/writ/list?parentId=' + encodeURIComponent(id) + '&limit=1000');
855
- fullChildren.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
856
- writ._fullChildren = fullChildren;
935
+ writ._descendantTree = await buildDescendantTree(id);
857
936
  } catch (e) {
858
- writ._fullChildren = null;
937
+ writ._descendantTree = null;
859
938
  }
860
939
  }
861
940
 
@@ -155,6 +155,27 @@ function sortedFilteredWrits(writs, childrenMap, showChildren, searchText, sortC
155
155
  return result;
156
156
  }
157
157
 
158
+ /**
159
+ * Flattens a WritTree forest into a depth-first list of `{ writ, depth }`.
160
+ * Mirrors the flattenTree helper in index.html.
161
+ */
162
+ function flattenTree(nodes, depth = 0, acc = null) {
163
+ if (acc === null) acc = [];
164
+ for (const node of nodes) {
165
+ acc.push({ writ: node.writ, depth });
166
+ if (node.children && node.children.length > 0) {
167
+ flattenTree(node.children, depth + 1, acc);
168
+ }
169
+ }
170
+ return acc;
171
+ }
172
+
173
+ /** Mirrors depthIndentStyle in index.html. */
174
+ function depthIndentStyle(depth) {
175
+ const rem = 2 + depth * 1.5;
176
+ return `padding-left:${rem}rem`;
177
+ }
178
+
158
179
  /**
159
180
  * Extracted renderDetail logic for parent link and children table.
160
181
  * Returns the full HTML string, same as the index.html renderDetail.
@@ -202,9 +223,16 @@ function renderDetail(writ) {
202
223
  // Links (simplified)
203
224
  html += `<div class="detail-section" id="links-section-${writ.id}"><h4>Links</h4></div>`;
204
225
 
205
- // Children
206
- const childItems = writ._fullChildren ?? writ.children?.items ?? [];
207
- if (childItems.length > 0) {
226
+ // Children — deep descendant rendering.
227
+ let rows;
228
+ if (writ._descendantTree && writ._descendantTree.length > 0) {
229
+ rows = flattenTree(writ._descendantTree);
230
+ } else {
231
+ const childItems = writ._fullChildren ?? writ.children?.items ?? [];
232
+ rows = childItems.map(c => ({ writ: c, depth: 0 }));
233
+ }
234
+
235
+ if (rows.length > 0) {
208
236
  html += `<div class="detail-section">`;
209
237
  html += `<h4>Children</h4>`;
210
238
 
@@ -219,10 +247,10 @@ function renderDetail(writ) {
219
247
  html += `<table class="data-table"><thead><tr>`;
220
248
  html += `<th>Phase</th><th>Title</th><th>Type</th><th>ID</th><th>Actions</th>`;
221
249
  html += `</tr></thead><tbody>`;
222
- for (const child of childItems) {
223
- html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" style="cursor:pointer">`;
250
+ for (const { writ: child, depth } of rows) {
251
+ html += `<tr class="writ-row child-detail-row" data-child-id="${child.id}" data-depth="${depth}" style="cursor:pointer">`;
224
252
  html += `<td>${phaseBadge(child.phase)}</td>`;
225
- html += `<td>${escHtml(child.title ?? '')}</td>`;
253
+ html += `<td style="${depthIndentStyle(depth)}">${escHtml(child.title ?? '')}</td>`;
226
254
  html += `<td>${escHtml(child.type ?? '')}</td>`;
227
255
  html += `<td><code>${child.id}</code></td>`;
228
256
  html += `<td class="row-actions" style="white-space:nowrap">${rowActions(child)}</td>`;
@@ -538,3 +566,237 @@ describe('Parent link in detail view', () => {
538
566
  assert.ok(html.includes('href="?writ=w-parent%20with%20spaces"'), 'Parent id should be URL-encoded');
539
567
  });
540
568
  });
569
+
570
+ describe('flattenTree — depth-first pre-order traversal', () => {
571
+ it('flattens a single-level forest at depth 0', () => {
572
+ const nodes = [
573
+ { writ: { id: 'a', title: 'A' }, children: [] },
574
+ { writ: { id: 'b', title: 'B' }, children: [] },
575
+ ];
576
+ const rows = flattenTree(nodes);
577
+ assert.deepEqual(rows, [
578
+ { writ: { id: 'a', title: 'A' }, depth: 0 },
579
+ { writ: { id: 'b', title: 'B' }, depth: 0 },
580
+ ]);
581
+ });
582
+
583
+ it('flattens a two-level tree — children follow parent with depth+1', () => {
584
+ const nodes = [
585
+ {
586
+ writ: { id: 'a' },
587
+ children: [
588
+ { writ: { id: 'a1' }, children: [] },
589
+ { writ: { id: 'a2' }, children: [] },
590
+ ],
591
+ },
592
+ { writ: { id: 'b' }, children: [] },
593
+ ];
594
+ const rows = flattenTree(nodes);
595
+ assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
596
+ ['a', 0],
597
+ ['a1', 1],
598
+ ['a2', 1],
599
+ ['b', 0],
600
+ ]);
601
+ });
602
+
603
+ it('flattens a three-level tree preserving depth per level', () => {
604
+ const nodes = [
605
+ {
606
+ writ: { id: 'a' },
607
+ children: [
608
+ {
609
+ writ: { id: 'a1' },
610
+ children: [
611
+ { writ: { id: 'a1x' }, children: [] },
612
+ { writ: { id: 'a1y' }, children: [] },
613
+ ],
614
+ },
615
+ { writ: { id: 'a2' }, children: [] },
616
+ ],
617
+ },
618
+ ];
619
+ const rows = flattenTree(nodes);
620
+ assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
621
+ ['a', 0],
622
+ ['a1', 1],
623
+ ['a1x', 2],
624
+ ['a1y', 2],
625
+ ['a2', 1],
626
+ ]);
627
+ });
628
+
629
+ it('empty forest returns empty', () => {
630
+ assert.deepEqual(flattenTree([]), []);
631
+ });
632
+
633
+ it('accepts an explicit start depth (for sub-tree rendering)', () => {
634
+ const nodes = [
635
+ { writ: { id: 'x' }, children: [{ writ: { id: 'xx' }, children: [] }] },
636
+ ];
637
+ const rows = flattenTree(nodes, 5);
638
+ assert.deepEqual(rows.map(r => [r.writ.id, r.depth]), [
639
+ ['x', 5],
640
+ ['xx', 6],
641
+ ]);
642
+ });
643
+ });
644
+
645
+ describe('depthIndentStyle — depth → padding-left mapping', () => {
646
+ it('depth 0 matches the existing 2rem main-list indent', () => {
647
+ assert.equal(depthIndentStyle(0), 'padding-left:2rem');
648
+ });
649
+
650
+ it('depth 1 adds 1.5rem', () => {
651
+ assert.equal(depthIndentStyle(1), 'padding-left:3.5rem');
652
+ });
653
+
654
+ it('depth 2 adds another 1.5rem', () => {
655
+ assert.equal(depthIndentStyle(2), 'padding-left:5rem');
656
+ });
657
+ });
658
+
659
+ describe('Deep descendant rendering in detail view', () => {
660
+ it('renders all descendants when _descendantTree is populated', () => {
661
+ const writ = {
662
+ id: 'parent-1',
663
+ title: 'Parent',
664
+ phase: 'open',
665
+ body: '',
666
+ children: {
667
+ summary: { open: 1 },
668
+ items: [{ id: 'c1', title: 'Child 1', phase: 'open' }],
669
+ },
670
+ _descendantTree: [
671
+ {
672
+ writ: { id: 'c1', title: 'Child 1', type: 'task', phase: 'open' },
673
+ children: [
674
+ {
675
+ writ: { id: 'g1', title: 'Grandchild 1', type: 'task', phase: 'open' },
676
+ children: [
677
+ {
678
+ writ: { id: 'gg1', title: 'Great-grandchild', type: 'task', phase: 'open' },
679
+ children: [],
680
+ },
681
+ ],
682
+ },
683
+ ],
684
+ },
685
+ ],
686
+ };
687
+
688
+ const html = renderDetail(writ);
689
+
690
+ // All three descendants appear as rows
691
+ assert.ok(html.includes('data-child-id="c1"'), 'Direct child row present');
692
+ assert.ok(html.includes('data-child-id="g1"'), 'Grandchild row present');
693
+ assert.ok(html.includes('data-child-id="gg1"'), 'Great-grandchild row present');
694
+ // Pre-order: parent appears before child
695
+ assert.ok(html.indexOf('data-child-id="c1"') < html.indexOf('data-child-id="g1"'));
696
+ assert.ok(html.indexOf('data-child-id="g1"') < html.indexOf('data-child-id="gg1"'));
697
+ });
698
+
699
+ it('rows carry depth data attribute and depth-based indent', () => {
700
+ const writ = {
701
+ id: 'p',
702
+ title: 'P',
703
+ phase: 'open',
704
+ body: '',
705
+ children: { summary: {}, items: [{ id: 'c', title: 'C', phase: 'open' }] },
706
+ _descendantTree: [
707
+ {
708
+ writ: { id: 'c', title: 'Child', type: 'task', phase: 'open' },
709
+ children: [
710
+ { writ: { id: 'g', title: 'Grand', type: 'task', phase: 'open' }, children: [] },
711
+ ],
712
+ },
713
+ ],
714
+ };
715
+
716
+ const html = renderDetail(writ);
717
+ assert.ok(html.includes('data-child-id="c" data-depth="0"'), 'Direct child has depth 0');
718
+ assert.ok(html.includes('data-child-id="g" data-depth="1"'), 'Grandchild has depth 1');
719
+ assert.ok(html.includes('style="padding-left:2rem"'), 'Depth 0 title cell indents 2rem');
720
+ assert.ok(html.includes('style="padding-left:3.5rem"'), 'Depth 1 title cell indents 3.5rem');
721
+ });
722
+
723
+ it('falls back to flat children when _descendantTree is missing', () => {
724
+ const writ = {
725
+ id: 'p',
726
+ title: 'P',
727
+ phase: 'open',
728
+ body: '',
729
+ _fullChildren: [
730
+ { id: 'c1', title: 'Child 1', type: 'task', phase: 'open' },
731
+ { id: 'c2', title: 'Child 2', type: 'task', phase: 'open' },
732
+ ],
733
+ children: { summary: { open: 2 }, items: [] },
734
+ };
735
+
736
+ const html = renderDetail(writ);
737
+ assert.ok(html.includes('data-child-id="c1" data-depth="0"'));
738
+ assert.ok(html.includes('data-child-id="c2" data-depth="0"'));
739
+ });
740
+
741
+ it('summary badges reflect direct children only (writ.children.summary)', () => {
742
+ const writ = {
743
+ id: 'p',
744
+ title: 'P',
745
+ phase: 'open',
746
+ body: '',
747
+ children: {
748
+ // Direct-child summary from writ-show: 2 open direct children.
749
+ // Grandchildren are NOT counted here by design.
750
+ summary: { open: 2 },
751
+ items: [
752
+ { id: 'c1', title: 'C1', phase: 'open' },
753
+ { id: 'c2', title: 'C2', phase: 'open' },
754
+ ],
755
+ },
756
+ _descendantTree: [
757
+ {
758
+ writ: { id: 'c1', title: 'C1', type: 'task', phase: 'open' },
759
+ children: [
760
+ { writ: { id: 'g1', title: 'G1', type: 'task', phase: 'completed' }, children: [] },
761
+ ],
762
+ },
763
+ { writ: { id: 'c2', title: 'C2', type: 'task', phase: 'open' }, children: [] },
764
+ ],
765
+ };
766
+
767
+ const html = renderDetail(writ);
768
+ // Summary badges section shows "open 2" — not the grandchild's completed phase.
769
+ const summaryOpenMatch = html.match(/badge badge--active">open<\/span>\s*<span[^>]*>2</);
770
+ assert.ok(summaryOpenMatch, 'Summary shows 2 open direct children');
771
+ assert.ok(!html.match(/badge badge--success">completed<\/span>\s*<span[^>]*>1</),
772
+ 'Summary does NOT count the grandchild');
773
+ // But the table still renders the grandchild row.
774
+ assert.ok(html.includes('data-child-id="g1"'), 'Grandchild row is present in the table');
775
+ });
776
+
777
+ it('preserves rowActions on every depth row', () => {
778
+ const writ = {
779
+ id: 'p',
780
+ title: 'P',
781
+ phase: 'open',
782
+ body: '',
783
+ children: { summary: {}, items: [{ id: 'c', title: 'C', phase: 'new' }] },
784
+ _descendantTree: [
785
+ {
786
+ writ: { id: 'c', title: 'C', type: 'task', phase: 'new' },
787
+ children: [
788
+ { writ: { id: 'g', title: 'G', type: 'task', phase: 'open' }, children: [] },
789
+ ],
790
+ },
791
+ ],
792
+ };
793
+
794
+ const html = renderDetail(writ);
795
+ // Depth 0 (new phase) gets Start + Cancel
796
+ assert.ok(html.match(/data-action="row-publish"[^>]*data-id="c"/));
797
+ assert.ok(html.match(/data-action="row-cancel"[^>]*data-id="c"/));
798
+ // Depth 1 (open phase) gets Cancel only
799
+ assert.ok(html.match(/data-action="row-cancel"[^>]*data-id="g"/));
800
+ assert.ok(!html.match(/data-action="row-publish"[^>]*data-id="g"/));
801
+ });
802
+ });