@shardworks/nexus-core 0.1.82 → 0.1.83

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,39 +1,37 @@
1
1
  /**
2
- * Commission worktree management — creates isolated git worktrees for
3
- * commission sessions.
2
+ * Writ worktree management — creates isolated git worktrees for
3
+ * writ sessions.
4
4
  *
5
- * When an anima is dispatched to work on a commission, this module:
6
- * 1. Creates a new git branch for the commission
5
+ * When an anima is dispatched to work on a writ, this module:
6
+ * 1. Creates a new git branch for the writ
7
7
  * 2. Sets up a git worktree pointing at that branch
8
8
  * 3. Returns the worktree path so the session can launch in the correct cwd
9
9
  *
10
- * Worktrees provide isolation — each commission gets its own working copy
10
+ * Worktrees provide isolation — each writ gets its own working copy
11
11
  * of the repo, so multiple animas can work concurrently without conflicts
12
12
  * in the working directory.
13
13
  *
14
- * Absorbed from the former `engine-worktree-setup` package.
15
- *
16
14
  * ## Directory layout
17
15
  *
18
- * Commission worktrees are created from workshop bare clones:
16
+ * Writ worktrees are created from workshop bare clones:
19
17
  *
20
18
  * GUILD_ROOT/
21
19
  * .nexus/
22
20
  * workshops/
23
- * workshop-a.git/ bare clone (source for worktrees)
21
+ * workshop-a.git/ <- bare clone (source for worktrees)
24
22
  * worktrees/
25
23
  * workshop-a/
26
- * commission-42/ worktree for commission #42
24
+ * writ-42/ <- worktree for writ #42
27
25
  * workshop-b/
28
- * commission-17/ worktree for commission #17
26
+ * writ-17/ <- worktree for writ #17
29
27
  */
30
28
  export interface WorktreeConfig {
31
29
  /** Absolute path to the guild root. */
32
30
  home: string;
33
31
  /** Workshop name — the bare clone source for the worktree. */
34
32
  workshop: string;
35
- /** Commission ID — used to derive branch name and worktree directory. */
36
- commissionId: string;
33
+ /** Writ ID — used to derive branch name and worktree directory. */
34
+ writId: string;
37
35
  /** Base branch to create the worktree from (default: 'main'). */
38
36
  baseBranch?: string;
39
37
  }
@@ -42,28 +40,28 @@ export interface WorktreeResult {
42
40
  path: string;
43
41
  /** Branch name created for the worktree. */
44
42
  branch: string;
45
- /** Commission ID this worktree serves. */
46
- commissionId: string;
43
+ /** Writ ID this worktree serves. */
44
+ writId: string;
47
45
  }
48
46
  /**
49
- * Create a git worktree for a commission session.
47
+ * Create a git worktree for a writ session.
50
48
  *
51
49
  * Creates a new branch from the base branch and sets up a worktree in
52
- * .nexus/worktrees/{workshop}/commission-{id}/.
50
+ * .nexus/worktrees/{workshop}/writ-{id}/.
53
51
  *
54
52
  * @throws If the worktree or branch already exists.
55
53
  */
56
54
  export declare function setupWorktree(config: WorktreeConfig): WorktreeResult;
57
55
  /**
58
- * Remove a worktree after a commission session completes.
56
+ * Remove a worktree after a writ session completes.
59
57
  *
60
58
  * Removes the worktree directory and prunes it from git's tracking.
61
59
  * Does NOT delete the branch — the branch should be kept for history
62
60
  * until explicitly merged or pruned.
63
61
  */
64
- export declare function teardownWorktree(home: string, workshop: string, commissionId: string): void;
62
+ export declare function teardownWorktree(home: string, workshop: string, writId: string): void;
65
63
  /**
66
- * List active commission worktrees.
64
+ * List active writ worktrees.
67
65
  */
68
66
  export declare function listWorktrees(home: string, workshop?: string): WorktreeResult[];
69
67
  //# sourceMappingURL=worktree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAqBpE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAmB3F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAiC/E"}
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAqBpE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBrF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAoC/E"}
package/dist/worktree.js CHANGED
@@ -1,31 +1,29 @@
1
1
  /**
2
- * Commission worktree management — creates isolated git worktrees for
3
- * commission sessions.
2
+ * Writ worktree management — creates isolated git worktrees for
3
+ * writ sessions.
4
4
  *
5
- * When an anima is dispatched to work on a commission, this module:
6
- * 1. Creates a new git branch for the commission
5
+ * When an anima is dispatched to work on a writ, this module:
6
+ * 1. Creates a new git branch for the writ
7
7
  * 2. Sets up a git worktree pointing at that branch
8
8
  * 3. Returns the worktree path so the session can launch in the correct cwd
9
9
  *
10
- * Worktrees provide isolation — each commission gets its own working copy
10
+ * Worktrees provide isolation — each writ gets its own working copy
11
11
  * of the repo, so multiple animas can work concurrently without conflicts
12
12
  * in the working directory.
13
13
  *
14
- * Absorbed from the former `engine-worktree-setup` package.
15
- *
16
14
  * ## Directory layout
17
15
  *
18
- * Commission worktrees are created from workshop bare clones:
16
+ * Writ worktrees are created from workshop bare clones:
19
17
  *
20
18
  * GUILD_ROOT/
21
19
  * .nexus/
22
20
  * workshops/
23
- * workshop-a.git/ bare clone (source for worktrees)
21
+ * workshop-a.git/ <- bare clone (source for worktrees)
24
22
  * worktrees/
25
23
  * workshop-a/
26
- * commission-42/ worktree for commission #42
24
+ * writ-42/ <- worktree for writ #42
27
25
  * workshop-b/
28
- * commission-17/ worktree for commission #17
26
+ * writ-17/ <- worktree for writ #17
29
27
  */
30
28
  import { execFileSync } from 'node:child_process';
31
29
  import fs from 'node:fs';
@@ -35,42 +33,42 @@ function git(args, cwd) {
35
33
  return execFileSync('git', args, { cwd, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
36
34
  }
37
35
  /**
38
- * Create a git worktree for a commission session.
36
+ * Create a git worktree for a writ session.
39
37
  *
40
38
  * Creates a new branch from the base branch and sets up a worktree in
41
- * .nexus/worktrees/{workshop}/commission-{id}/.
39
+ * .nexus/worktrees/{workshop}/writ-{id}/.
42
40
  *
43
41
  * @throws If the worktree or branch already exists.
44
42
  */
45
43
  export function setupWorktree(config) {
46
- const { home, workshop, commissionId, baseBranch = 'main' } = config;
44
+ const { home, workshop, writId, baseBranch = 'main' } = config;
47
45
  const bareRepo = workshopBarePath(home, workshop);
48
- const branch = `commission-${commissionId}`;
46
+ const branch = `writ-${writId}`;
49
47
  const worktreeDir = path.join(worktreesPath(home), workshop, branch);
50
48
  if (fs.existsSync(worktreeDir)) {
51
49
  throw new Error(`Worktree directory already exists: ${worktreeDir}. ` +
52
- `Commission ${commissionId} may already have an active worktree.`);
50
+ `Writ ${writId} may already have an active worktree.`);
53
51
  }
54
52
  // Create parent directory
55
53
  fs.mkdirSync(path.dirname(worktreeDir), { recursive: true });
56
54
  // Create branch and worktree in one operation
57
55
  // git worktree add -b <branch> <path> <base>
58
56
  git(['worktree', 'add', '-b', branch, worktreeDir, baseBranch], bareRepo);
59
- return { path: worktreeDir, branch, commissionId };
57
+ return { path: worktreeDir, branch, writId };
60
58
  }
61
59
  /**
62
- * Remove a worktree after a commission session completes.
60
+ * Remove a worktree after a writ session completes.
63
61
  *
64
62
  * Removes the worktree directory and prunes it from git's tracking.
65
63
  * Does NOT delete the branch — the branch should be kept for history
66
64
  * until explicitly merged or pruned.
67
65
  */
68
- export function teardownWorktree(home, workshop, commissionId) {
66
+ export function teardownWorktree(home, workshop, writId) {
69
67
  const bareRepo = workshopBarePath(home, workshop);
70
- const branch = `commission-${commissionId}`;
68
+ const branch = `writ-${writId}`;
71
69
  const worktreeDir = path.join(worktreesPath(home), workshop, branch);
72
70
  if (!fs.existsSync(worktreeDir)) {
73
- throw new Error(`Worktree not found: ${worktreeDir}. Commission ${commissionId} may not have an active worktree.`);
71
+ throw new Error(`Worktree not found: ${worktreeDir}. Writ ${writId} may not have an active worktree.`);
74
72
  }
75
73
  // Remove the worktree (--force handles untracked/modified files left by agents)
76
74
  git(['worktree', 'remove', '--force', worktreeDir], bareRepo);
@@ -81,7 +79,7 @@ export function teardownWorktree(home, workshop, commissionId) {
81
79
  }
82
80
  }
83
81
  /**
84
- * List active commission worktrees.
82
+ * List active writ worktrees.
85
83
  */
86
84
  export function listWorktrees(home, workshop) {
87
85
  const wtRoot = worktreesPath(home);
@@ -101,13 +99,16 @@ export function listWorktrees(home, workshop) {
101
99
  for (const entry of fs.readdirSync(wsDir, { withFileTypes: true })) {
102
100
  if (!entry.isDirectory())
103
101
  continue;
104
- const match = entry.name.match(/^commission-(.+)$/);
102
+ // Match both new writ- and legacy commission- prefixes
103
+ const writMatch = entry.name.match(/^writ-(.+)$/);
104
+ const legacyMatch = entry.name.match(/^commission-(.+)$/);
105
+ const match = writMatch ?? legacyMatch;
105
106
  if (!match)
106
107
  continue;
107
108
  results.push({
108
109
  path: path.join(wsDir, entry.name),
109
110
  branch: entry.name,
110
- commissionId: match[1],
111
+ writId: match[1],
111
112
  });
112
113
  }
113
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
package/dist/writ.d.ts CHANGED
@@ -7,19 +7,26 @@ export interface WritRecord {
7
7
  status: WritStatus;
8
8
  parentId: string | null;
9
9
  sessionId: string | null;
10
+ workshop: string | null;
11
+ sourceType: 'patron' | 'anima' | 'engine';
12
+ sourceId: string | null;
10
13
  createdAt: string;
11
14
  updatedAt: string;
12
15
  }
13
16
  export interface CreateWritOptions {
14
- type: string;
17
+ type?: string;
15
18
  title: string;
16
19
  description?: string;
17
20
  parentId?: string;
21
+ workshop?: string;
22
+ sourceType?: 'patron' | 'anima' | 'engine';
23
+ sourceId?: string;
18
24
  }
19
25
  export interface ListWritsOptions {
20
26
  parentId?: string;
21
27
  type?: string;
22
28
  status?: WritStatus;
29
+ workshop?: string;
23
30
  }
24
31
  export interface WritChildSummary {
25
32
  id: string;
@@ -29,8 +36,12 @@ export interface WritChildSummary {
29
36
  childCount: number;
30
37
  completedCount: number;
31
38
  }
32
- /** Built-in writ types that don't need guild.json declaration. */
33
- export declare const BUILTIN_WRIT_TYPES: readonly ["mandate", "summon"];
39
+ /**
40
+ * Built-in writ types that don't need guild.json declaration.
41
+ * - 'writ' — the universal default for patron-posted and anima-created work
42
+ * - 'summon' — internal tracking type for engine-synthesized sessions
43
+ */
44
+ export declare const BUILTIN_WRIT_TYPES: readonly ["writ", "summon"];
34
45
  /**
35
46
  * Validate that a writ type is declared in guild.json or is a built-in type.
36
47
  * Throws if the type is unknown.
@@ -38,6 +49,13 @@ export declare const BUILTIN_WRIT_TYPES: readonly ["mandate", "summon"];
38
49
  export declare function validateWritType(home: string, type: string): void;
39
50
  /**
40
51
  * Create a writ. Validates type against guild.json. Fires `<type>.ready`.
52
+ *
53
+ * Type defaults to `'writ'` if omitted — the universal builtin type.
54
+ *
55
+ * Workshop inheritance: if `workshop` is omitted and `parentId` is provided,
56
+ * the parent's workshop is copied. If both are omitted, workshop is null.
57
+ *
58
+ * Source defaults: `sourceType` defaults to `'engine'` if not provided.
41
59
  */
42
60
  export declare function createWrit(home: string, opts: CreateWritOptions): WritRecord;
43
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"writ.d.ts","sourceRoot":"","sources":["../src/writ.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writ.d.ts","sourceRoot":"","sources":["../src/writ.ts"],"names":[],"mappings":"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"}
package/dist/writ.js CHANGED
@@ -19,8 +19,12 @@ import { readGuildConfig } from "./guild-config.js";
19
19
  import { generateId } from "./id.js";
20
20
  import { signalEvent } from "./events.js";
21
21
  // ── Constants ──────────────────────────────────────────────────────────
22
- /** Built-in writ types that don't need guild.json declaration. */
23
- export const BUILTIN_WRIT_TYPES = ['mandate', 'summon'];
22
+ /**
23
+ * Built-in writ types that don't need guild.json declaration.
24
+ * - 'writ' — the universal default for patron-posted and anima-created work
25
+ * - 'summon' — internal tracking type for engine-synthesized sessions
26
+ */
27
+ export const BUILTIN_WRIT_TYPES = ['writ', 'summon'];
24
28
  function rowToRecord(row) {
25
29
  return {
26
30
  id: row.id,
@@ -30,11 +34,14 @@ function rowToRecord(row) {
30
34
  status: row.status,
31
35
  parentId: row.parent_id,
32
36
  sessionId: row.session_id,
37
+ workshop: row.workshop,
38
+ sourceType: row.source_type,
39
+ sourceId: row.source_id,
33
40
  createdAt: row.created_at,
34
41
  updatedAt: row.updated_at,
35
42
  };
36
43
  }
37
- const SELECT_COLS = `id, type, title, description, status, parent_id, session_id, created_at, updated_at`;
44
+ const SELECT_COLS = `id, type, title, description, status, parent_id, session_id, workshop, source_type, source_id, created_at, updated_at`;
38
45
  function readWritById(db, writId) {
39
46
  const row = db.prepare(`SELECT ${SELECT_COLS} FROM writs WHERE id = ?`).get(writId);
40
47
  return row ? rowToRecord(row) : null;
@@ -61,20 +68,37 @@ export function validateWritType(home, type) {
61
68
  // ── CRUD ───────────────────────────────────────────────────────────────
62
69
  /**
63
70
  * Create a writ. Validates type against guild.json. Fires `<type>.ready`.
71
+ *
72
+ * Type defaults to `'writ'` if omitted — the universal builtin type.
73
+ *
74
+ * Workshop inheritance: if `workshop` is omitted and `parentId` is provided,
75
+ * the parent's workshop is copied. If both are omitted, workshop is null.
76
+ *
77
+ * Source defaults: `sourceType` defaults to `'engine'` if not provided.
64
78
  */
65
79
  export function createWrit(home, opts) {
66
- validateWritType(home, opts.type);
80
+ const type = opts.type ?? 'writ';
81
+ validateWritType(home, type);
67
82
  const db = new Database(booksPath(home));
68
83
  db.pragma('foreign_keys = ON');
69
84
  try {
70
85
  const id = generateId('wrt');
71
- db.prepare(`INSERT INTO writs (id, type, title, description, parent_id) VALUES (?, ?, ?, ?, ?)`).run(id, opts.type, opts.title, opts.description ?? null, opts.parentId ?? null);
86
+ // Resolve workshop: explicit > inherit from parent > null
87
+ let workshop = opts.workshop ?? null;
88
+ if (workshop === null && opts.parentId) {
89
+ const parent = readWritById(db, opts.parentId);
90
+ if (parent)
91
+ workshop = parent.workshop;
92
+ }
93
+ const sourceType = opts.sourceType ?? 'engine';
94
+ const sourceId = opts.sourceId ?? null;
95
+ db.prepare(`INSERT INTO writs (id, type, title, description, parent_id, workshop, source_type, source_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(id, type, opts.title, opts.description ?? null, opts.parentId ?? null, workshop, sourceType, sourceId);
72
96
  db.prepare(`INSERT INTO audit_log (id, actor, action, target_type, target_id, detail) VALUES (?, ?, ?, ?, ?, ?)`).run(generateId('aud'), 'framework', 'writ_created', 'writ', id, JSON.stringify(opts));
73
97
  const record = readWritById(db, id);
74
- signalEvent(home, `${opts.type}.ready`, {
98
+ signalEvent(home, `${type}.ready`, {
75
99
  writId: id,
76
100
  parentId: opts.parentId ?? null,
77
- type: opts.type,
101
+ type,
78
102
  }, 'framework');
79
103
  return record;
80
104
  }
@@ -122,6 +146,15 @@ export function listWrits(home, opts = {}) {
122
146
  conditions.push(`status = ?`);
123
147
  params.push(opts.status);
124
148
  }
149
+ if (opts.workshop !== undefined) {
150
+ if (opts.workshop === null) {
151
+ conditions.push(`workshop IS NULL`);
152
+ }
153
+ else {
154
+ conditions.push(`workshop = ?`);
155
+ params.push(opts.workshop);
156
+ }
157
+ }
125
158
  if (conditions.length > 0)
126
159
  query += ` WHERE ${conditions.join(' AND ')}`;
127
160
  query += ` ORDER BY created_at DESC`;
@@ -181,16 +214,20 @@ export function completeWrit(home, writId) {
181
214
  // No children or all complete → completed
182
215
  db.prepare(`UPDATE writs SET status = 'completed', session_id = NULL, updated_at = datetime('now') WHERE id = ?`).run(writId);
183
216
  db.prepare(`INSERT INTO audit_log (id, actor, action, target_type, target_id, detail) VALUES (?, ?, ?, ?, ?, ?)`).run(generateId('aud'), 'framework', 'writ_completed', 'writ', writId, null);
184
- // Fire completion event
217
+ // Fire type-specific completion event
185
218
  signalEvent(home, `${current.type}.completed`, {
186
219
  writId,
187
220
  parentId: current.parentId,
188
221
  type: current.type,
222
+ workshop: current.workshop,
223
+ }, 'framework');
224
+ // Fire generic writ.completed event (used by workshop-merge and other cross-type handlers)
225
+ signalEvent(home, 'writ.completed', {
226
+ writId,
227
+ parentId: current.parentId,
228
+ type: current.type,
229
+ workshop: current.workshop,
189
230
  }, 'framework');
190
- // Handle mandate → commission completion
191
- if (current.type === 'mandate') {
192
- completeMandateCommission(db, home, writId);
193
- }
194
231
  // Trigger rollup on parent
195
232
  if (current.parentId) {
196
233
  rollupParent(home, current.parentId);
@@ -221,11 +258,8 @@ export function failWrit(home, writId) {
221
258
  writId,
222
259
  parentId: current.parentId,
223
260
  type: current.type,
261
+ workshop: current.workshop,
224
262
  }, 'framework');
225
- // Handle mandate → commission failure
226
- if (current.type === 'mandate') {
227
- failMandateCommission(db, home, writId);
228
- }
229
263
  // Cascade: cancel incomplete children (not active ones — let them finish)
230
264
  cascadeCancelChildren(db, home, writId);
231
265
  return readWritById(db, writId);
@@ -332,11 +366,14 @@ export function rollupParent(home, parentId) {
332
366
  writId: parentId,
333
367
  parentId: parent.parentId,
334
368
  type: parent.type,
369
+ workshop: parent.workshop,
370
+ }, 'framework');
371
+ signalEvent(home, 'writ.completed', {
372
+ writId: parentId,
373
+ parentId: parent.parentId,
374
+ type: parent.type,
375
+ workshop: parent.workshop,
335
376
  }, 'framework');
336
- // Handle mandate → commission completion
337
- if (parent.type === 'mandate') {
338
- completeMandateCommission(db, home, parentId);
339
- }
340
377
  // Continue rollup up the tree
341
378
  if (parent.parentId) {
342
379
  // Close this db before recursing (avoids holding multiple connections)
@@ -479,27 +516,4 @@ function cascadeCancelChildren(db, home, parentId) {
479
516
  cascadeCancelChildren(db, home, child.id);
480
517
  }
481
518
  }
482
- /**
483
- * When a mandate writ completes, mark its commission as completed.
484
- */
485
- function completeMandateCommission(db, home, writId) {
486
- const row = db.prepare(`SELECT id FROM commissions WHERE writ_id = ?`).get(writId);
487
- if (row) {
488
- db.prepare(`UPDATE commissions SET status = 'completed', status_reason = 'mandate completed', updated_at = datetime('now') WHERE id = ?`).run(row.id);
489
- db.prepare(`INSERT INTO audit_log (id, actor, action, target_type, target_id, detail) VALUES (?, ?, ?, ?, ?, ?)`).run(generateId('aud'), 'framework', 'commission_completed', 'commission', row.id, JSON.stringify({ mandateWritId: writId }));
490
- signalEvent(home, 'commission.completed', { commissionId: row.id }, 'framework');
491
- }
492
- }
493
- /**
494
- * When a mandate writ fails, mark its commission as failed.
495
- * Mirror of completeMandateCommission.
496
- */
497
- function failMandateCommission(db, home, writId) {
498
- const row = db.prepare(`SELECT id FROM commissions WHERE writ_id = ?`).get(writId);
499
- if (row) {
500
- db.prepare(`UPDATE commissions SET status = 'failed', status_reason = 'mandate failed', updated_at = datetime('now') WHERE id = ?`).run(row.id);
501
- db.prepare(`INSERT INTO audit_log (id, actor, action, target_type, target_id, detail) VALUES (?, ?, ?, ?, ?, ?)`).run(generateId('aud'), 'framework', 'commission_failed', 'commission', row.id, JSON.stringify({ mandateWritId: writId }));
502
- signalEvent(home, 'commission.failed', { commissionId: row.id }, 'framework');
503
- }
504
- }
505
519
  //# sourceMappingURL=writ.js.map
package/dist/writ.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"writ.js","sourceRoot":"","sources":["../src/writ.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writ.js","sourceRoot":"","sources":["../src/writ.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ -- Remove commissions — writs become the sole work primitive.
2
+ --
3
+ -- Adds workshop, source_type, source_id to writs. Drops commission tables
4
+ -- and the commission linkage columns. Existing commission/mandate data need
5
+ -- not be preserved; active guilds should be treated as starting fresh.
6
+
7
+ -- ════════════════════════════════════════════════════════════════════════
8
+ -- Enrich writs with workshop and source tracking
9
+ -- ════════════════════════════════════════════════════════════════════════
10
+
11
+ ALTER TABLE writs ADD COLUMN workshop TEXT;
12
+ ALTER TABLE writs ADD COLUMN source_type TEXT NOT NULL DEFAULT 'engine'
13
+ CHECK(source_type IN ('patron', 'anima', 'engine'));
14
+ ALTER TABLE writs ADD COLUMN source_id TEXT;
15
+
16
+ CREATE INDEX idx_writs_workshop ON writs(workshop);
17
+
18
+ -- ════════════════════════════════════════════════════════════════════════
19
+ -- Drop commission tables and linkage
20
+ -- ════════════════════════════════════════════════════════════════════════
21
+
22
+ DROP TABLE IF EXISTS commission_sessions;
23
+ DROP TABLE IF EXISTS commission_assignments;
24
+ DROP TABLE IF EXISTS commissions;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@shardworks/nexus-core",
3
- "version": "0.1.82",
3
+ "version": "0.1.83",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/shardworks/nexus-mk2",
7
+ "url": "https://github.com/shardworks/nexus",
8
8
  "directory": "packages/core"
9
9
  },
10
10
  "description": "Nexus core library — shared infrastructure for the guild system",