@sentropic/track 0.20.0 → 0.22.0
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/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +57 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/restructure-apply.d.ts +53 -0
- package/dist/cli/restructure-apply.d.ts.map +1 -0
- package/dist/cli/restructure-apply.js +183 -0
- package/dist/cli/restructure-apply.js.map +1 -0
- package/dist/events/types.d.ts +1 -1
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/types.js +6 -0
- package/dist/events/types.js.map +1 -1
- package/dist/ingest/contract.d.ts +10 -2
- package/dist/ingest/contract.d.ts.map +1 -1
- package/dist/ingest/contract.js +45 -1
- package/dist/ingest/contract.js.map +1 -1
- package/dist/ingest/ingest.d.ts +1 -1
- package/dist/ingest/ingest.d.ts.map +1 -1
- package/dist/ingest/ingest.js +30 -0
- package/dist/ingest/ingest.js.map +1 -1
- package/dist/ingest/map.d.ts.map +1 -1
- package/dist/ingest/map.js +10 -0
- package/dist/ingest/map.js.map +1 -1
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +7 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/item.d.ts +8 -0
- package/dist/model/item.d.ts.map +1 -1
- package/dist/model/item.js.map +1 -1
- package/dist/read/contract.d.ts +9 -2
- package/dist/read/contract.d.ts.map +1 -1
- package/dist/read/contract.js +15 -4
- package/dist/read/contract.js.map +1 -1
- package/dist/read/index.d.ts +1 -0
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +3 -0
- package/dist/read/index.js.map +1 -1
- package/dist/report/audit.d.ts +27 -0
- package/dist/report/audit.d.ts.map +1 -0
- package/dist/report/audit.js +120 -0
- package/dist/report/audit.js.map +1 -0
- package/dist/report/rollup.d.ts +38 -1
- package/dist/report/rollup.d.ts.map +1 -1
- package/dist/report/rollup.js +97 -2
- package/dist/report/rollup.js.map +1 -1
- package/dist/state/fold.js +11 -0
- package/dist/state/fold.js.map +1 -1
- package/dist/track.d.ts +44 -0
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +105 -1
- package/dist/track.js.map +1 -1
- package/package.json +1 -1
package/dist/report/rollup.js
CHANGED
|
@@ -50,6 +50,68 @@ export function buildWpLeaf(state, item, config) {
|
|
|
50
50
|
...(awaitedOnDecision ? { awaitedOnDecision: true } : {}),
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* DESIGN R1 — the wpRoot of an item: the HIGHEST ancestor (incl. self) whose `role === 'workpackage'`
|
|
55
|
+
* STRICT (NOT `isRoleContainer`, which also matches `spec-phase` — a spec-phase is NEVER a wpRoot), walking
|
|
56
|
+
* `parentId`. Nested sub-WPs ⇒ the topmost workpackage wins. Pure, O(depth), terminating (a `seen` guard
|
|
57
|
+
* defends against a malformed cycle even though append's cycle-guard already prevents one). Returns
|
|
58
|
+
* `undefined` for an unknown item or one with no workpackage ancestor.
|
|
59
|
+
*/
|
|
60
|
+
export function wpRootId(items, itemId) {
|
|
61
|
+
let highest;
|
|
62
|
+
const seen = new Set();
|
|
63
|
+
let cursor = itemId;
|
|
64
|
+
while (cursor !== undefined && !seen.has(cursor)) {
|
|
65
|
+
seen.add(cursor);
|
|
66
|
+
const item = items.get(cursor);
|
|
67
|
+
if (item === undefined)
|
|
68
|
+
break;
|
|
69
|
+
if (item.role === 'workpackage')
|
|
70
|
+
highest = cursor; // keep climbing; the LAST (topmost) WP wins
|
|
71
|
+
cursor = item.parentId;
|
|
72
|
+
}
|
|
73
|
+
return highest;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* DESIGN R3a — a TRUE leaf-clip of a rolled-up WP forest to ONE workspace. Pure over a computed tree:
|
|
77
|
+
* - keep only the leaves with `leaf.workspace === workspace` (drop foreign leaves — no leak);
|
|
78
|
+
* - keep a node iff ≥1 such leaf remains in its (clipped) subtree, else PRUNE it (closes the ghost-orphan
|
|
79
|
+
* loss the old node-filter caused for W leaves under a V-rooted WP);
|
|
80
|
+
* - RECOMPUTE done/active/dropped/pct from the clipped leaves + surviving children (never the global total);
|
|
81
|
+
* - mark `partial` when the clip excluded any leaf from this node's subtree.
|
|
82
|
+
* Labels are preserved from the source tree (a WP keeps its global identity across per-workspace views).
|
|
83
|
+
* NON-BREAKING: a mono-workspace tree drops nothing ⇒ the output is deep-equal to the input (no `partial`).
|
|
84
|
+
*/
|
|
85
|
+
export function clipWpTreeToWorkspace(tree, workspace) {
|
|
86
|
+
const clipNode = (node) => {
|
|
87
|
+
const leaves = node.leaves.filter((l) => l.workspace === workspace);
|
|
88
|
+
const children = node.children.map(clipNode).filter((c) => c !== null);
|
|
89
|
+
const self = tally(leaves);
|
|
90
|
+
const done = self.done + children.reduce((s, c) => s + c.done, 0);
|
|
91
|
+
const active = self.active + children.reduce((s, c) => s + c.active, 0);
|
|
92
|
+
const dropped = self.dropped + children.reduce((s, c) => s + c.dropped, 0);
|
|
93
|
+
const clippedTotal = active + dropped;
|
|
94
|
+
if (clippedTotal === 0)
|
|
95
|
+
return null; // no W leaf anywhere in this subtree ⇒ prune the node
|
|
96
|
+
const fullTotal = node.active + node.dropped; // the node's true (pre-clip) leaf total
|
|
97
|
+
const partial = clippedTotal < fullTotal;
|
|
98
|
+
return {
|
|
99
|
+
id: node.id,
|
|
100
|
+
title: node.title,
|
|
101
|
+
label: node.label,
|
|
102
|
+
// WP-codes (DESIGN A1) — carry the code across the clip (drop-when-absent ⇒ no-code byte-identical).
|
|
103
|
+
...(node.code !== undefined ? { code: node.code } : {}),
|
|
104
|
+
done,
|
|
105
|
+
active,
|
|
106
|
+
dropped,
|
|
107
|
+
pct: active === 0 ? 'n/a' : Math.round((done / active) * 100),
|
|
108
|
+
leaves,
|
|
109
|
+
children,
|
|
110
|
+
...(partial ? { partial: true } : {}),
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
return tree.map(clipNode).filter((n) => n !== null);
|
|
114
|
+
}
|
|
53
115
|
/** A CONTAINER node (workpackage OR spec-phase) — descended through, never a leaf (Scope §B(a)). */
|
|
54
116
|
function isWp(item) {
|
|
55
117
|
return isRoleContainer(item);
|
|
@@ -123,7 +185,10 @@ export function computeWpTree(state, config) {
|
|
|
123
185
|
for (const child of childrenOf.get(parentId) ?? []) {
|
|
124
186
|
if (isWp(child)) {
|
|
125
187
|
wpOrdinal++;
|
|
126
|
-
|
|
188
|
+
// WP-codes (DESIGN A1) — a coded sub-WP renders its `code` VERBATIM; else the positional dotted
|
|
189
|
+
// label. The ordinal still advances per sub-WP position, so a sibling's dotted label is unchanged
|
|
190
|
+
// (no-code ⇒ byte-identical).
|
|
191
|
+
children.push(build(child, child.code ?? `${label}.${wpOrdinal}`));
|
|
127
192
|
}
|
|
128
193
|
else {
|
|
129
194
|
collectSubWps(child.id); // descend through a non-WP container to find a sub-WP beneath it
|
|
@@ -140,6 +205,8 @@ export function computeWpTree(state, config) {
|
|
|
140
205
|
id: wp.id,
|
|
141
206
|
title: wp.title,
|
|
142
207
|
label,
|
|
208
|
+
// WP-codes (DESIGN A1) — surface the durable code (drop-when-absent ⇒ a no-code node is byte-identical).
|
|
209
|
+
...(wp.code !== undefined ? { code: wp.code } : {}),
|
|
143
210
|
done,
|
|
144
211
|
active,
|
|
145
212
|
dropped,
|
|
@@ -152,6 +219,34 @@ export function computeWpTree(state, config) {
|
|
|
152
219
|
const isWpById = new Map(items.map((i) => [i.id, isWp(i)]));
|
|
153
220
|
const roots = items.filter((i) => isWp(i) && !(i.parentId !== undefined && isWpById.get(i.parentId)));
|
|
154
221
|
roots.sort((a, b) => a.id.localeCompare(b.id));
|
|
155
|
-
|
|
222
|
+
// WP-codes (DESIGN A1, the PRINCIPE PORTEUR) — DECOUPLE stability from numbering. A root with a `code`
|
|
223
|
+
// renders it VERBATIM; a root WITHOUT one takes the next DERIVED `WP<n>` whose ordinal `n` is NOT already
|
|
224
|
+
// claimed by a `^WP\d+$` code on ANY coded container (root OR nested sub-WP — the same display class). The
|
|
225
|
+
// scan spans EVERY role-container, not just roots: a `WP5` code on a SUB-WP renders `WP5` verbatim too, so
|
|
226
|
+
// it must reserve ordinal 5 against the uncoded roots or the two would collide on display (this mirrors the
|
|
227
|
+
// widened `assertCodeUnique` scan in track.ts). ⇒ a no-code roster = `WP1..WPN` BYTE-IDENTICAL (the scan
|
|
228
|
+
// finds nothing); an all-coded roster = its codes exactly; a mixed roster = codes + `WP<n>` filling the
|
|
229
|
+
// gaps WITHOUT collision. Order stays stable by ULID; a code is a display label only (a recode never
|
|
230
|
+
// re-packs the derived sequence, and the derived `WP<n>` can never collide with a code because it skips
|
|
231
|
+
// claimed ordinals).
|
|
232
|
+
const claimed = new Set();
|
|
233
|
+
for (const item of items) {
|
|
234
|
+
if (!isWp(item))
|
|
235
|
+
continue; // only role-containers carry a code; scan ALL of them, not just roots
|
|
236
|
+
const m = /^WP(\d+)$/.exec(item.code ?? '');
|
|
237
|
+
if (m)
|
|
238
|
+
claimed.add(Number(m[1]));
|
|
239
|
+
}
|
|
240
|
+
let counter = 1;
|
|
241
|
+
const rootLabel = (r) => {
|
|
242
|
+
if (r.code !== undefined)
|
|
243
|
+
return r.code; // verbatim; if it matches `^WP\d+$` its ordinal is reserved above
|
|
244
|
+
while (claimed.has(counter))
|
|
245
|
+
counter++; // SKIP every ordinal a code already claimed
|
|
246
|
+
const label = `WP${counter}`;
|
|
247
|
+
counter++;
|
|
248
|
+
return label;
|
|
249
|
+
};
|
|
250
|
+
return roots.map((wp) => build(wp, rootLabel(wp)));
|
|
156
251
|
}
|
|
157
252
|
//# sourceMappingURL=rollup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/report/rollup.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../src/report/rollup.ts"],"names":[],"mappings":"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"}
|
package/dist/state/fold.js
CHANGED
|
@@ -107,6 +107,17 @@ function applyEvent(state, event) {
|
|
|
107
107
|
item.scope = event.payload.scope;
|
|
108
108
|
break;
|
|
109
109
|
}
|
|
110
|
+
case 'item.code-assigned': {
|
|
111
|
+
// WP-codes (DESIGN wp-codes A1) — set/replace the DURABLE display `code` on the EXISTING role-
|
|
112
|
+
// container aggregate (LWW in stream order). Legality (item exists, is a role-container, code
|
|
113
|
+
// non-empty, roster-global uniqueness) is checked at append (Track.assignCode) AND re-asserted under
|
|
114
|
+
// the lock (F2) — NEVER in the fold (the established pattern). DISPLAY-ONLY: touches no realization/
|
|
115
|
+
// bucket/ref logic. An old reader without this case hits `default` and ignores the event (fail-safe).
|
|
116
|
+
const item = state.items.get(event.aggregateId);
|
|
117
|
+
if (item)
|
|
118
|
+
item.code = event.payload.code;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
110
121
|
case 'spec.amended': {
|
|
111
122
|
// M5 (canevas) — append ONE record-only spec amendment to the item's specAmendments[] (in stream
|
|
112
123
|
// order). RECORD-ONLY: mutates NO spec field (specStatus untouched) — the amendment trace IS the
|
package/dist/state/fold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold.js","sourceRoot":"","sources":["../../src/state/fold.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fold.js","sourceRoot":"","sources":["../../src/state/fold.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AA2DhD,SAAS,UAAU;IACjB,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,MAAiC;IACpD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC3D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,MAAc;IAC9D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,KAAY,EAAE,KAAiB;IACjD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAwC,CAAA;YAC9D,MAAM,IAAI,GAAc;gBACtB,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;gBAC9D,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;gBAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxF,4FAA4F;gBAC5F,qFAAqF;gBACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAA;YACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAC9B,MAAK;QACP,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,gGAAgG;YAChG,wGAAwG;YACxG,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAiC,CAAC,QAAQ,CAAA;gBAClE,IAAI,QAAQ,KAAK,SAAS;oBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;;oBAC/C,OAAO,IAAI,CAAC,QAAQ,CAAA;YAC3B,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA4C,CAAA;YAClE,MAAM,QAAQ,GAAkB;gBAC9B,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzF,CAAA;YACD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC1C,MAAK;QACP,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,kGAAkG;YAClG,+FAA+F;YAC/F,kFAAkF;YAClF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,OAAgC,CAAC,KAAK,CAAA;YACpE,MAAK;QACP,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,+FAA+F;YAC/F,8FAA8F;YAC9F,qGAAqG;YACrG,qGAAqG;YACrG,sGAAsG;YACtG,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAI,KAAK,CAAC,OAA4B,CAAC,IAAI,CAAA;YAC9D,MAAK;QACP,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,iGAAiG;YACjG,iGAAiG;YACjG,oGAAoG;YACpG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAsC,CAAA;YAC5D,MAAM,SAAS,GAAkB;gBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAA;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC9C,MAAK;QACP,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAI,KAAK,CAAC,OAA8B,CAAC,EAAE,CAAA;YACpE,MAAK;QACP,CAAC;QAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC3F,IAAI,MAAM;gBAAE,MAAM,CAAC,WAAW,GAAI,KAAK,CAAC,OAA+B,CAAC,EAAE,CAAA;YAC1E,MAAK;QACP,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,qGAAqG;YACrG,sGAAsG;YACtG,kGAAkG;YAClG,uGAAuG;YACvG,kGAAkG;YAClG,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI;gBAAE,IAAI,CAAC,cAAc,GAAI,KAAK,CAAC,OAA8B,CAAC,MAAM,CAAA;YAC5E,MAAK;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACvD,IAAI,CAAC,QAAQ;gBAAE,MAAK;YACpB,MAAM,EAAE,GAAI,KAAK,CAAC,OAA2B,CAAC,EAAE,CAAA;YAChD,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAA,CAAC,uEAAuE;YAC7F,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACxC,IAAI,MAAM;wBAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,CAAA;gBACrE,CAAC;YACH,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAmE,CAAA;YACzF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;YAC9D,MAAK;QACP,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACvD,IAAI,QAAQ;gBAAE,QAAQ,CAAC,OAAO,GAAI,KAAK,CAAC,OAAgC,CAAC,OAAO,CAAA;YAChF,MAAK;QACP,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,+FAA+F;YAC/F,kFAAkF;YAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAyC,CAAC,QAAQ,CAAA;gBAC1E,QAAQ,CAAC,OAAO,GAAG;oBACjB,GAAG,QAAQ,CAAC,OAAO;oBACnB,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC;iBAC7D,CAAA;YACH,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAqD,CAAA;YAC3E,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtC,EAAE,EAAE,OAAO,CAAC,WAAW;gBACvB,MAAM,EAAE,KAAK,CAAC,WAAW;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAKrB,CAAA;YACD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrC,EAAE,EAAE,OAAO,CAAC,UAAU;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,oGAAoG;gBACpG,sGAAsG;gBACtG,wGAAwG;gBACxG,0FAA0F;gBAC1F,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,OAMrB,CAAA;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACvD,iCAAiC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,SAAS,GAAG;oBACnB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,EAAE,EAAE,KAAK,CAAC,EAAE;iBACb,CAAA;YACH,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,6BAA6B,CAAC,CAAC,CAAC;YACnC,mGAAmG;YACnG,4FAA4F;YAC5F,wFAAwF;YACxF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiD,CAAA;YACvE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE;gBACxC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,mGAAmG;gBACnG,wFAAwF;gBACxF,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/F,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA8D,CAAA;YACpF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,MAAM,GAAG;oBACjB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,KAAK,CAAC,EAAE;iBACb,CAAA;YACH,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA0C,CAAA;YAChE,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACvF,MAAM,OAAO,GAAiB;gBAC5B,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE,IAAI;gBACV,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzF,CAAA;YACD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACvC,MAAK;QACP,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,eAAe,GAAG,IAAI,CAAA;gBAC9B,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,CAAA;YAC/B,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAwC,CAAA;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA,CAAC,qDAAqD;YACvF,MAAK;QACP,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,sGAAsG;YACtG,qGAAqG;YACrG,sGAAsG;YACtG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiE,CAAA;YACvF,MAAM,MAAM,GAAgB;gBAC1B,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,QAAQ;gBAChB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAA;YACD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACpC,MAAK;QACP,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,yFAAyF;YACzF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAA;YACxC,MAAK;QACP,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,sGAAsG;YACtG,uGAAuG;YACvG,6BAA6B;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAA;gBACxB,MAAM,OAAO,GAAI,KAAK,CAAC,OAAkC,CAAC,OAAO,CAAA;gBACjE,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;YACrD,CAAC;YACD,MAAK;QACP,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,uGAAuG;YACvG,qGAAqG;YACrG,yFAAyF;YACzF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,KAAK,CAAC,OAIrB,CAAA;gBACD,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAA;gBAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;oBAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;gBACxG,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;gBACpG,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;YACpH,CAAC;YACD,MAAK;QACP,CAAC;QAED;YACE,uFAAuF;YACvF,kFAAkF;YAClF,MAAK;IACT,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAAqB,EAAE,KAA6B;IAClE,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,KAAK,CAAA;IACzC,oGAAoG;IACpG,mGAAmG;IACnG,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9H,6FAA6F;QAC7F,2FAA2F;QAC3F,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,MAAM,CAAA;IACvD,CAAC;IACD,gGAAgG;IAChG,mGAAmG;IACnG,wFAAwF;IACxF,6FAA6F;IAC7F,oGAAoG;IACpG,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/track.d.ts
CHANGED
|
@@ -130,6 +130,20 @@ export declare class Track {
|
|
|
130
130
|
* must not be the item or a transitive descendant of it). Binding-gated at the ingest seam.
|
|
131
131
|
*/
|
|
132
132
|
reparentItem(itemId: ItemId, parentId?: ItemId): void;
|
|
133
|
+
/**
|
|
134
|
+
* Cross-workspace WP reorg (DESIGN R2/C4) — the AUTHORIZED cross-workspace move. A SEPARATE method from
|
|
135
|
+
* `reparentItem` that skips ONLY the cross-workspace guard (track.ts:267) but STILL runs EVERY other guard:
|
|
136
|
+
* the item exists, no self-parent, the parent exists, the role-nesting invariant (276), and the cycle-walk
|
|
137
|
+
* (277-283). We do NOT conditionalize the 267 guard inside the shared `reparentItem` (the riskiest edit —
|
|
138
|
+
* it would turn the ordinary path into a trust boundary). Emits the SAME persisted `item.reparented` event
|
|
139
|
+
* (R6 — fold APPLIES the new parentId; no `item.restructured` event), with an ADDITIVE `planHash` (the
|
|
140
|
+
* authorization scope the apply verifies) + optional `restructureRef`. The CHILD's `workspace` stays
|
|
141
|
+
* IMMUTABLE — only its `parentId` moves. Capability-gated at the ingest seam (default-denied kind
|
|
142
|
+
* `item.restructure` + explicit grant); reachable by a local-user trust root directly (threat model: this
|
|
143
|
+
* defends accidental/automated crossing, NOT a malicious local process). `clientToken`-idempotent via the
|
|
144
|
+
* seam's `withClientToken` (the apply keys it on f(planHash,itemId)).
|
|
145
|
+
*/
|
|
146
|
+
restructureReparent(itemId: ItemId, parentId: ItemId, planHash: string, restructureRef?: string): void;
|
|
133
147
|
/**
|
|
134
148
|
* Scope §B(a) — set/replace the declarative scope (INERT path globs) on a WP/spec-phase. Appends
|
|
135
149
|
* `scope.declared` on the EXISTING item aggregate (next seq, no recreate; existing hashes untouched),
|
|
@@ -139,6 +153,36 @@ export declare class Track {
|
|
|
139
153
|
* Binding-gated (Settles:'always') + workspace-contained at the ingest seam; clientToken via withClientToken.
|
|
140
154
|
*/
|
|
141
155
|
declareScope(itemId: ItemId, scope: ScopeDecl, clientToken?: string): void;
|
|
156
|
+
/**
|
|
157
|
+
* WP-codes (DESIGN A1, KEYSTONE) — assign/replace a DURABLE display `code` on a role-container (WP/
|
|
158
|
+
* spec-phase), on the EXISTING item aggregate (next seq, no recreate; existing hashes untouched),
|
|
159
|
+
* mirroring `scope.declare`→`scope.declared`. Appends `item.code-assigned`, which folds into `item.code`
|
|
160
|
+
* (LWW). The code DECOUPLES stability from the derived `WP<n>` numbering: the rollup renders it VERBATIM
|
|
161
|
+
* instead of the positional label, and the derived counter SKIPS any ordinal a `^WP\d+$` code claims. It
|
|
162
|
+
* is a DISPLAY label ONLY — NEVER an identity/ref (`wpRootId`/`wpRef`/objective-refs stay ULID). Guards
|
|
163
|
+
* (reject with DomainError BEFORE any append): the item exists; it is role∈{workpackage,spec-phase}; the
|
|
164
|
+
* code is a non-empty string; and ROSTER-GLOBAL uniqueness — no OTHER root container in the whole forest
|
|
165
|
+
* already holds this code. The uniqueness scan is NON-PURE (it folds GLOBAL state), so it is ALSO re-
|
|
166
|
+
* asserted UNDER THE LOCK (F2 — the cross-actor race the per-aggregate lock does not cover; calque the
|
|
167
|
+
* demand recheck / reparent cycle): a racing second writer that saw a stale pre-lock state is rejected
|
|
168
|
+
* here rather than appending a colliding code. Re-assignable (LWW) — a code is corrigible WITH TRACE; it
|
|
169
|
+
* just never changes on its own. Binding-gated (Settles:'always') + workspace-contained at the ingest
|
|
170
|
+
* seam; `clientToken` via `withClientToken`.
|
|
171
|
+
*/
|
|
172
|
+
assignCode(itemId: ItemId, code: string, clientToken?: string): void;
|
|
173
|
+
/**
|
|
174
|
+
* WP-codes (DESIGN A1) — roster-GLOBAL code uniqueness: no OTHER role-container (ANY WP/spec-phase across
|
|
175
|
+
* the WHOLE forest — root OR nested sub-node, NOT per-workspace; `computeWpTree` is global then clipped)
|
|
176
|
+
* may already hold `code`. Throws DomainError on a collision. The scan spans ALL coded containers, not only
|
|
177
|
+
* roots: a code on a SUB-WP is just as binding — `assignCode` accepts a code on any role-container and the
|
|
178
|
+
* rollup renders `child.code ?? dotted`, so two sub-nodes (or a root and a sub-node) sharing a code would
|
|
179
|
+
* collide on display; and a `^WP\d+$` code on a sub-WP reserves the ROOT ordinal (rollup's `claimed` set
|
|
180
|
+
* mirrors this widened scan). NON-PURE (folds global state); run BOTH at append (the facade) AND under the
|
|
181
|
+
* lock (F2). The derived `WP<n>` class never collides with a code (the rollup SKIPS any ordinal a code
|
|
182
|
+
* claims), so the only collision to guard is code-vs-code among coded containers. Re-assigning the SAME
|
|
183
|
+
* item is NOT a collision.
|
|
184
|
+
*/
|
|
185
|
+
private assertCodeUnique;
|
|
142
186
|
/**
|
|
143
187
|
* M5 (canevas) — record ONE owner-approved LIVE spec amendment on the EXISTING item aggregate (next
|
|
144
188
|
* seq, no recreate; existing hashes untouched), mirroring `item.reparent`→`item.reparented`. Appends
|
package/dist/track.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAa,YAAY,EAAa,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAClH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIzE,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"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"}
|
package/dist/track.js
CHANGED
|
@@ -8,7 +8,7 @@ import { buildReport, query as runQuery, } from './report/build.js';
|
|
|
8
8
|
import { WSJF_SCHEME_VERSION, wsjfScore, } from './model/priority.js';
|
|
9
9
|
import { assertManualResolve, } from './model/blocker.js';
|
|
10
10
|
import { assertDossierArtifact, assertOutcomeTransition, } from './model/decision.js';
|
|
11
|
-
import { assertRealizationTransition, assertRoleNesting, assertScopeDecl, assertSpecTransition, DomainError, } from './model/item.js';
|
|
11
|
+
import { assertRealizationTransition, assertRoleNesting, assertScopeDecl, assertSpecTransition, DomainError, isRoleContainer, } from './model/item.js';
|
|
12
12
|
import { assertVerificationRun } from './model/verification.js';
|
|
13
13
|
import { assertSpecAmend } from './model/spec-amend.js';
|
|
14
14
|
import { assertDemandRaised, assertDemandTransition, assertDispositionOutcome, } from './model/demand.js';
|
|
@@ -167,6 +167,44 @@ export class Track {
|
|
|
167
167
|
}
|
|
168
168
|
this.emit('item', itemId, 'item.reparented', parentId !== undefined ? { parentId } : {});
|
|
169
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Cross-workspace WP reorg (DESIGN R2/C4) — the AUTHORIZED cross-workspace move. A SEPARATE method from
|
|
172
|
+
* `reparentItem` that skips ONLY the cross-workspace guard (track.ts:267) but STILL runs EVERY other guard:
|
|
173
|
+
* the item exists, no self-parent, the parent exists, the role-nesting invariant (276), and the cycle-walk
|
|
174
|
+
* (277-283). We do NOT conditionalize the 267 guard inside the shared `reparentItem` (the riskiest edit —
|
|
175
|
+
* it would turn the ordinary path into a trust boundary). Emits the SAME persisted `item.reparented` event
|
|
176
|
+
* (R6 — fold APPLIES the new parentId; no `item.restructured` event), with an ADDITIVE `planHash` (the
|
|
177
|
+
* authorization scope the apply verifies) + optional `restructureRef`. The CHILD's `workspace` stays
|
|
178
|
+
* IMMUTABLE — only its `parentId` moves. Capability-gated at the ingest seam (default-denied kind
|
|
179
|
+
* `item.restructure` + explicit grant); reachable by a local-user trust root directly (threat model: this
|
|
180
|
+
* defends accidental/automated crossing, NOT a malicious local process). `clientToken`-idempotent via the
|
|
181
|
+
* seam's `withClientToken` (the apply keys it on f(planHash,itemId)).
|
|
182
|
+
*/
|
|
183
|
+
restructureReparent(itemId, parentId, planHash, restructureRef) {
|
|
184
|
+
const state = this.state();
|
|
185
|
+
const item = state.items.get(itemId);
|
|
186
|
+
if (!item)
|
|
187
|
+
throw new DomainError(`unknown item ${itemId}`);
|
|
188
|
+
if (parentId === itemId)
|
|
189
|
+
throw new DomainError(`cannot reparent item ${itemId} under itself`);
|
|
190
|
+
const parent = state.items.get(parentId);
|
|
191
|
+
if (!parent)
|
|
192
|
+
throw new DomainError(`unknown parent item ${parentId}`);
|
|
193
|
+
// INTENTIONALLY SKIPPED: the cross-workspace guard (track.ts:267). This is the ONLY relaxation — every
|
|
194
|
+
// other reparent guard below runs unchanged. The cross-workspace move is what `item.restructure` exists for.
|
|
195
|
+
assertRoleNesting(item.role, parent.role, itemId, parentId);
|
|
196
|
+
for (let cursor = parentId; cursor !== undefined;) {
|
|
197
|
+
if (cursor === itemId) {
|
|
198
|
+
throw new DomainError(`cannot reparent item ${itemId} under its own descendant ${parentId} (cycle)`);
|
|
199
|
+
}
|
|
200
|
+
cursor = state.items.get(cursor)?.parentId;
|
|
201
|
+
}
|
|
202
|
+
this.emit('item', itemId, 'item.reparented', {
|
|
203
|
+
parentId,
|
|
204
|
+
planHash,
|
|
205
|
+
...(restructureRef !== undefined ? { restructureRef } : {}),
|
|
206
|
+
});
|
|
207
|
+
}
|
|
170
208
|
/**
|
|
171
209
|
* Scope §B(a) — set/replace the declarative scope (INERT path globs) on a WP/spec-phase. Appends
|
|
172
210
|
* `scope.declared` on the EXISTING item aggregate (next seq, no recreate; existing hashes untouched),
|
|
@@ -191,6 +229,72 @@ export class Track {
|
|
|
191
229
|
else
|
|
192
230
|
emit();
|
|
193
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* WP-codes (DESIGN A1, KEYSTONE) — assign/replace a DURABLE display `code` on a role-container (WP/
|
|
234
|
+
* spec-phase), on the EXISTING item aggregate (next seq, no recreate; existing hashes untouched),
|
|
235
|
+
* mirroring `scope.declare`→`scope.declared`. Appends `item.code-assigned`, which folds into `item.code`
|
|
236
|
+
* (LWW). The code DECOUPLES stability from the derived `WP<n>` numbering: the rollup renders it VERBATIM
|
|
237
|
+
* instead of the positional label, and the derived counter SKIPS any ordinal a `^WP\d+$` code claims. It
|
|
238
|
+
* is a DISPLAY label ONLY — NEVER an identity/ref (`wpRootId`/`wpRef`/objective-refs stay ULID). Guards
|
|
239
|
+
* (reject with DomainError BEFORE any append): the item exists; it is role∈{workpackage,spec-phase}; the
|
|
240
|
+
* code is a non-empty string; and ROSTER-GLOBAL uniqueness — no OTHER root container in the whole forest
|
|
241
|
+
* already holds this code. The uniqueness scan is NON-PURE (it folds GLOBAL state), so it is ALSO re-
|
|
242
|
+
* asserted UNDER THE LOCK (F2 — the cross-actor race the per-aggregate lock does not cover; calque the
|
|
243
|
+
* demand recheck / reparent cycle): a racing second writer that saw a stale pre-lock state is rejected
|
|
244
|
+
* here rather than appending a colliding code. Re-assignable (LWW) — a code is corrigible WITH TRACE; it
|
|
245
|
+
* just never changes on its own. Binding-gated (Settles:'always') + workspace-contained at the ingest
|
|
246
|
+
* seam; `clientToken` via `withClientToken`.
|
|
247
|
+
*/
|
|
248
|
+
assignCode(itemId, code, clientToken) {
|
|
249
|
+
const state = this.state();
|
|
250
|
+
const item = state.items.get(itemId);
|
|
251
|
+
if (!item)
|
|
252
|
+
throw new DomainError(`unknown item ${itemId}`);
|
|
253
|
+
if (item.role !== 'workpackage' && item.role !== 'spec-phase') {
|
|
254
|
+
throw new DomainError(`cannot assign a code to item ${itemId}: a code is only assignable to a workpackage or spec-phase (DESIGN wp-codes A1)`);
|
|
255
|
+
}
|
|
256
|
+
if (typeof code !== 'string' || code.length === 0) {
|
|
257
|
+
throw new DomainError('assignCode: code must be a non-empty string');
|
|
258
|
+
}
|
|
259
|
+
this.assertCodeUnique(itemId, code, state);
|
|
260
|
+
// F2 under-lock recheck: re-fold the existing log UNDER THE LOCK and re-assert roster-global uniqueness
|
|
261
|
+
// (the scan is non-pure ⇒ a racing writer that saw stale pre-lock state is caught here, never appended).
|
|
262
|
+
const recheck = (_inputs, existing) => {
|
|
263
|
+
this.assertCodeUnique(itemId, code, fold(existing));
|
|
264
|
+
};
|
|
265
|
+
this.withDemandRecheck(recheck, () => {
|
|
266
|
+
const emit = () => {
|
|
267
|
+
this.emit('item', itemId, 'item.code-assigned', { code });
|
|
268
|
+
};
|
|
269
|
+
if (clientToken !== undefined)
|
|
270
|
+
this.withClientToken(clientToken, emit);
|
|
271
|
+
else
|
|
272
|
+
emit();
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* WP-codes (DESIGN A1) — roster-GLOBAL code uniqueness: no OTHER role-container (ANY WP/spec-phase across
|
|
277
|
+
* the WHOLE forest — root OR nested sub-node, NOT per-workspace; `computeWpTree` is global then clipped)
|
|
278
|
+
* may already hold `code`. Throws DomainError on a collision. The scan spans ALL coded containers, not only
|
|
279
|
+
* roots: a code on a SUB-WP is just as binding — `assignCode` accepts a code on any role-container and the
|
|
280
|
+
* rollup renders `child.code ?? dotted`, so two sub-nodes (or a root and a sub-node) sharing a code would
|
|
281
|
+
* collide on display; and a `^WP\d+$` code on a sub-WP reserves the ROOT ordinal (rollup's `claimed` set
|
|
282
|
+
* mirrors this widened scan). NON-PURE (folds global state); run BOTH at append (the facade) AND under the
|
|
283
|
+
* lock (F2). The derived `WP<n>` class never collides with a code (the rollup SKIPS any ordinal a code
|
|
284
|
+
* claims), so the only collision to guard is code-vs-code among coded containers. Re-assigning the SAME
|
|
285
|
+
* item is NOT a collision.
|
|
286
|
+
*/
|
|
287
|
+
assertCodeUnique(selfId, code, state) {
|
|
288
|
+
for (const other of state.items.values()) {
|
|
289
|
+
if (other.id === selfId)
|
|
290
|
+
continue;
|
|
291
|
+
if (other.code !== code)
|
|
292
|
+
continue;
|
|
293
|
+
if (!isRoleContainer(other))
|
|
294
|
+
continue;
|
|
295
|
+
throw new DomainError(`code "${code}" is already assigned to container ${other.id} — codes are roster-global unique (DESIGN wp-codes A1)`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
194
298
|
/**
|
|
195
299
|
* M5 (canevas) — record ONE owner-approved LIVE spec amendment on the EXISTING item aggregate (next
|
|
196
300
|
* seq, no recreate; existing hashes untouched), mirroring `item.reparent`→`item.reparented`. Appends
|