@jamesaphoenix/tx-core 0.11.1 → 0.12.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.
Files changed (66) hide show
  1. package/README.md +105 -360
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/doc-service-impl.d.ts +2 -2
  7. package/dist/internal/doc-service-impl.d.ts.map +1 -1
  8. package/dist/internal/doc-service-impl.js +340 -268
  9. package/dist/internal/doc-service-impl.js.map +1 -1
  10. package/dist/internal/spec-trace-service-impl.d.ts +7 -0
  11. package/dist/internal/spec-trace-service-impl.d.ts.map +1 -1
  12. package/dist/internal/spec-trace-service-impl.js +25 -0
  13. package/dist/internal/spec-trace-service-impl.js.map +1 -1
  14. package/dist/internal/sync/service-impl.d.ts.map +1 -1
  15. package/dist/internal/sync/service-impl.js +20 -1
  16. package/dist/internal/sync/service-impl.js.map +1 -1
  17. package/dist/mappers/task.js +4 -4
  18. package/dist/mappers/task.js.map +1 -1
  19. package/dist/migrations-embedded.d.ts.map +1 -1
  20. package/dist/migrations-embedded.js +11 -1
  21. package/dist/migrations-embedded.js.map +1 -1
  22. package/dist/repo/claim-repo.d.ts +6 -0
  23. package/dist/repo/claim-repo.d.ts.map +1 -1
  24. package/dist/repo/claim-repo.js +51 -0
  25. package/dist/repo/claim-repo.js.map +1 -1
  26. package/dist/repo/task-repo/read.d.ts.map +1 -1
  27. package/dist/repo/task-repo/read.js +6 -5
  28. package/dist/repo/task-repo/read.js.map +1 -1
  29. package/dist/schemas/sync.d.ts +10 -10
  30. package/dist/schemas/sync.d.ts.map +1 -1
  31. package/dist/services/claim-service.d.ts +5 -0
  32. package/dist/services/claim-service.d.ts.map +1 -1
  33. package/dist/services/claim-service.js +3 -0
  34. package/dist/services/claim-service.js.map +1 -1
  35. package/dist/services/ready-service.d.ts.map +1 -1
  36. package/dist/services/ready-service.js +48 -7
  37. package/dist/services/ready-service.js.map +1 -1
  38. package/dist/services/swarm-verification.d.ts +1 -1
  39. package/dist/services/swarm-verification.js +1 -1
  40. package/dist/services/task-service/internals.d.ts +18 -1
  41. package/dist/services/task-service/internals.d.ts.map +1 -1
  42. package/dist/services/task-service/internals.js +61 -2
  43. package/dist/services/task-service/internals.js.map +1 -1
  44. package/dist/services/task-service.d.ts.map +1 -1
  45. package/dist/services/task-service.js +12 -5
  46. package/dist/services/task-service.js.map +1 -1
  47. package/dist/sync/claude-task-writer.js +1 -1
  48. package/dist/sync/claude-task-writer.js.map +1 -1
  49. package/dist/utils/doc-renderer.d.ts.map +1 -1
  50. package/dist/utils/doc-renderer.js +306 -61
  51. package/dist/utils/doc-renderer.js.map +1 -1
  52. package/dist/utils/ears-validator.d.ts.map +1 -1
  53. package/dist/utils/ears-validator.js +128 -14
  54. package/dist/utils/ears-validator.js.map +1 -1
  55. package/dist/utils/md-doc-parser.d.ts +15 -0
  56. package/dist/utils/md-doc-parser.d.ts.map +1 -0
  57. package/dist/utils/md-doc-parser.js +275 -0
  58. package/dist/utils/md-doc-parser.js.map +1 -0
  59. package/dist/utils/toml-config.d.ts +34 -0
  60. package/dist/utils/toml-config.d.ts.map +1 -1
  61. package/dist/utils/toml-config.js +177 -6
  62. package/dist/utils/toml-config.js.map +1 -1
  63. package/migrations/001_initial.sql +2 -1
  64. package/migrations/039_needs_review_status.sql +108 -0
  65. package/migrations/040_cycles.sql +33 -0
  66. package/package.json +1 -1
@@ -5,7 +5,12 @@
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
6
6
  import { dirname, resolve } from "node:path";
7
7
  export const DASHBOARD_DEFAULT_TASK_ASSIGMENT_KEY = "default_task_assigment_type";
8
+ export const DASHBOARD_DEFAULT_TASK_VIEW_KEY = "default_task_view";
8
9
  const DASHBOARD_SECTION = "dashboard";
10
+ const DASHBOARD_CYCLES_SECTION = "dashboard.cycles";
11
+ export const DASHBOARD_CYCLE_LENGTH_DAYS_KEY = "cycle_length_days";
12
+ export const DASHBOARD_CYCLE_START_DAY_KEY = "cycle_start_day";
13
+ export const DASHBOARD_CARRY_STATUSES_KEY = "carry_statuses";
9
14
  const DOCS_SECTION = "docs";
10
15
  const SPEC_SECTION = "spec";
11
16
  const CYCLES_SECTION = "cycles";
@@ -16,7 +21,7 @@ const VERIFY_SECTION = "verify";
16
21
  const REFLECT_SECTION = "reflect";
17
22
  const isGuardMode = (v) => v === "advisory" || v === "enforce";
18
23
  const DEFAULT_CONFIG = {
19
- docs: { path: ".tx/docs" },
24
+ docs: { path: "specs" },
20
25
  spec: {
21
26
  testPatterns: [
22
27
  "test/**/*.test.{ts,js,tsx,jsx}",
@@ -32,18 +37,59 @@ const DEFAULT_CONFIG = {
32
37
  "**/*_test.{c,cpp,cc}",
33
38
  ]
34
39
  },
35
- memory: { defaultDir: "docs" },
40
+ memory: { defaultDir: "specs" },
36
41
  cycles: { scanPrompt: null, agents: 3, model: "claude-opus-4-6" },
37
- dashboard: { defaultTaskAssigmentType: "human" },
42
+ dashboard: {
43
+ defaultTaskAssigmentType: "human",
44
+ defaultTaskView: "list",
45
+ cycles: {
46
+ cycleLengthDays: 7,
47
+ cycleStartDay: "monday",
48
+ carryStatuses: ["planning", "active", "blocked", "review", "needs_review"],
49
+ },
50
+ },
38
51
  pins: { targetFiles: ["CLAUDE.md", "AGENTS.md"], blockAgentDoneWhenTaskIdPresent: true },
39
52
  guard: { mode: "advisory", maxPending: null, maxChildren: null, maxDepth: null },
40
53
  verify: { timeout: 300, defaultSchema: null },
41
54
  reflect: { provider: "auto", model: null, defaultSessions: 10, includeTranscripts: false },
42
55
  };
43
56
  const isDashboardDefaultTaskAssigmentType = (value) => value === "human" || value === "agent";
57
+ const isDashboardDefaultTaskView = (value) => value === "list" || value === "kanban";
58
+ const DASHBOARD_CYCLE_START_DAYS = new Set([
59
+ "sunday",
60
+ "monday",
61
+ "tuesday",
62
+ "wednesday",
63
+ "thursday",
64
+ "friday",
65
+ "saturday",
66
+ ]);
44
67
  const parseTaskAssigmentTypeOrDefault = (value) => isDashboardDefaultTaskAssigmentType(value)
45
68
  ? value
46
69
  : DEFAULT_CONFIG.dashboard.defaultTaskAssigmentType;
70
+ const parseDashboardDefaultTaskViewOrDefault = (value) => isDashboardDefaultTaskView(value)
71
+ ? value
72
+ : DEFAULT_CONFIG.dashboard.defaultTaskView;
73
+ const parseDashboardCycleLengthOrDefault = (value) => {
74
+ if (!value)
75
+ return DEFAULT_CONFIG.dashboard.cycles.cycleLengthDays;
76
+ const parsed = parseInt(value, 10);
77
+ return Number.isFinite(parsed) && parsed > 0
78
+ ? parsed
79
+ : DEFAULT_CONFIG.dashboard.cycles.cycleLengthDays;
80
+ };
81
+ const parseDashboardCycleStartDayOrDefault = (value) => {
82
+ if (!value)
83
+ return DEFAULT_CONFIG.dashboard.cycles.cycleStartDay;
84
+ const normalized = value.toLowerCase();
85
+ return DASHBOARD_CYCLE_START_DAYS.has(normalized)
86
+ ? normalized
87
+ : DEFAULT_CONFIG.dashboard.cycles.cycleStartDay;
88
+ };
89
+ const parseDashboardCarryStatusesOrDefault = (values) => {
90
+ const normalized = values.map((value) => value.trim()).filter((value) => value.length > 0);
91
+ return normalized.length > 0 ? normalized : DEFAULT_CONFIG.dashboard.cycles.carryStatuses;
92
+ };
47
93
  const parseBooleanOrDefault = (value, fallback) => {
48
94
  if (value === "true")
49
95
  return true;
@@ -69,6 +115,10 @@ export const readTxConfig = (cwd = process.cwd()) => {
69
115
  const cyclesAgents = extractTomlValue(raw, CYCLES_SECTION, "agents");
70
116
  const cyclesModel = extractTomlValue(raw, CYCLES_SECTION, "model");
71
117
  const defaultTaskAssigmentType = extractTomlValue(raw, DASHBOARD_SECTION, DASHBOARD_DEFAULT_TASK_ASSIGMENT_KEY);
118
+ const defaultTaskView = extractTomlValue(raw, DASHBOARD_SECTION, DASHBOARD_DEFAULT_TASK_VIEW_KEY);
119
+ const dashboardCycleLengthDays = extractTomlValue(raw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CYCLE_LENGTH_DAYS_KEY);
120
+ const dashboardCycleStartDay = extractTomlValue(raw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CYCLE_START_DAY_KEY);
121
+ const dashboardCarryStatuses = extractTomlArray(raw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CARRY_STATUSES_KEY);
72
122
  const memoryDefaultDir = extractTomlValue(raw, MEMORY_SECTION, "default_dir");
73
123
  const pinsTargetFiles = extractTomlValue(raw, PINS_SECTION, "target_files");
74
124
  const pinsBlockAgentDone = extractTomlValue(raw, PINS_SECTION, "block_agent_done_when_task_id_present");
@@ -104,6 +154,12 @@ export const readTxConfig = (cwd = process.cwd()) => {
104
154
  },
105
155
  dashboard: {
106
156
  defaultTaskAssigmentType: parseTaskAssigmentTypeOrDefault(defaultTaskAssigmentType),
157
+ defaultTaskView: parseDashboardDefaultTaskViewOrDefault(defaultTaskView),
158
+ cycles: {
159
+ cycleLengthDays: parseDashboardCycleLengthOrDefault(dashboardCycleLengthDays),
160
+ cycleStartDay: parseDashboardCycleStartDayOrDefault(dashboardCycleStartDay),
161
+ carryStatuses: parseDashboardCarryStatusesOrDefault(dashboardCarryStatuses),
162
+ },
107
163
  },
108
164
  pins: {
109
165
  targetFiles: pinsTargetFiles
@@ -141,13 +197,111 @@ export const writeDashboardDefaultTaskAssigmentType = (value, cwd = process.cwd(
141
197
  const configDir = resolve(cwd, ".tx");
142
198
  const configPath = resolve(configDir, "config.toml");
143
199
  const current = readTxConfig(cwd);
144
- const nextConfig = { ...current, dashboard: { defaultTaskAssigmentType: value } };
200
+ const nextConfig = {
201
+ ...current,
202
+ dashboard: { ...current.dashboard, defaultTaskAssigmentType: value },
203
+ };
145
204
  mkdirSync(dirname(configPath), { recursive: true });
146
205
  const existingRaw = existsSync(configPath) ? readFileSync(configPath, "utf8") : "";
147
206
  const nextRaw = patchTomlKey(existingRaw, DASHBOARD_SECTION, DASHBOARD_DEFAULT_TASK_ASSIGMENT_KEY, `"${value}"`);
148
207
  writeFileSync(configPath, ensureTrailingNewline(nextRaw), "utf8");
149
208
  return nextConfig;
150
209
  };
210
+ /**
211
+ * Patch the dashboard default task view in .tx/config.toml.
212
+ * Preserves unrelated sections and comments.
213
+ */
214
+ export const writeDashboardDefaultTaskView = (value, cwd = process.cwd()) => {
215
+ const configDir = resolve(cwd, ".tx");
216
+ const configPath = resolve(configDir, "config.toml");
217
+ const current = readTxConfig(cwd);
218
+ const nextConfig = {
219
+ ...current,
220
+ dashboard: { ...current.dashboard, defaultTaskView: value },
221
+ };
222
+ mkdirSync(dirname(configPath), { recursive: true });
223
+ const existingRaw = existsSync(configPath) ? readFileSync(configPath, "utf8") : "";
224
+ const nextRaw = patchTomlKey(existingRaw, DASHBOARD_SECTION, DASHBOARD_DEFAULT_TASK_VIEW_KEY, `"${value}"`);
225
+ writeFileSync(configPath, ensureTrailingNewline(nextRaw), "utf8");
226
+ return nextConfig;
227
+ };
228
+ /**
229
+ * Read dashboard cycle settings from .tx/config.toml.
230
+ */
231
+ export const readDashboardCyclesConfig = (cwd = process.cwd()) => readTxConfig(cwd).dashboard.cycles;
232
+ /**
233
+ * Patch dashboard cycle length in .tx/config.toml.
234
+ */
235
+ export const writeDashboardCycleLengthDays = (value, cwd = process.cwd()) => {
236
+ const configDir = resolve(cwd, ".tx");
237
+ const configPath = resolve(configDir, "config.toml");
238
+ const current = readTxConfig(cwd);
239
+ const normalizedValue = Number.isFinite(value) && Number.isInteger(value) && value > 0
240
+ ? value
241
+ : current.dashboard.cycles.cycleLengthDays;
242
+ const nextConfig = {
243
+ ...current,
244
+ dashboard: {
245
+ ...current.dashboard,
246
+ cycles: { ...current.dashboard.cycles, cycleLengthDays: normalizedValue },
247
+ },
248
+ };
249
+ mkdirSync(dirname(configPath), { recursive: true });
250
+ const existingRaw = existsSync(configPath) ? readFileSync(configPath, "utf8") : "";
251
+ const nextRaw = patchTomlKey(existingRaw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CYCLE_LENGTH_DAYS_KEY, `${normalizedValue}`);
252
+ writeFileSync(configPath, ensureTrailingNewline(nextRaw), "utf8");
253
+ return nextConfig;
254
+ };
255
+ /**
256
+ * Patch dashboard cycle start day in .tx/config.toml.
257
+ */
258
+ export const writeDashboardCycleStartDay = (value, cwd = process.cwd()) => {
259
+ const configDir = resolve(cwd, ".tx");
260
+ const configPath = resolve(configDir, "config.toml");
261
+ const current = readTxConfig(cwd);
262
+ const normalizedValue = DASHBOARD_CYCLE_START_DAYS.has(value)
263
+ ? value
264
+ : current.dashboard.cycles.cycleStartDay;
265
+ const nextConfig = {
266
+ ...current,
267
+ dashboard: {
268
+ ...current.dashboard,
269
+ cycles: { ...current.dashboard.cycles, cycleStartDay: normalizedValue },
270
+ },
271
+ };
272
+ mkdirSync(dirname(configPath), { recursive: true });
273
+ const existingRaw = existsSync(configPath) ? readFileSync(configPath, "utf8") : "";
274
+ const nextRaw = patchTomlKey(existingRaw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CYCLE_START_DAY_KEY, `"${normalizedValue}"`);
275
+ writeFileSync(configPath, ensureTrailingNewline(nextRaw), "utf8");
276
+ return nextConfig;
277
+ };
278
+ /**
279
+ * Patch dashboard cycle carry statuses in .tx/config.toml.
280
+ */
281
+ export const writeDashboardCarryStatuses = (value, cwd = process.cwd()) => {
282
+ const normalized = value
283
+ .map((status) => status.trim())
284
+ .filter((status) => status.length > 0);
285
+ const configDir = resolve(cwd, ".tx");
286
+ const configPath = resolve(configDir, "config.toml");
287
+ const current = readTxConfig(cwd);
288
+ const nextCarryStatuses = normalized.length > 0
289
+ ? normalized
290
+ : current.dashboard.cycles.carryStatuses;
291
+ const nextConfig = {
292
+ ...current,
293
+ dashboard: {
294
+ ...current.dashboard,
295
+ cycles: { ...current.dashboard.cycles, carryStatuses: [...nextCarryStatuses] },
296
+ },
297
+ };
298
+ mkdirSync(dirname(configPath), { recursive: true });
299
+ const existingRaw = existsSync(configPath) ? readFileSync(configPath, "utf8") : "";
300
+ const renderedStatuses = `[${nextCarryStatuses.map((status) => JSON.stringify(status)).join(", ")}]`;
301
+ const nextRaw = patchTomlKey(existingRaw, DASHBOARD_CYCLES_SECTION, DASHBOARD_CARRY_STATUSES_KEY, renderedStatuses);
302
+ writeFileSync(configPath, ensureTrailingNewline(nextRaw), "utf8");
303
+ return nextConfig;
304
+ };
151
305
  function ensureTrailingNewline(value) {
152
306
  return value.endsWith("\n") ? value : `${value}\n`;
153
307
  }
@@ -288,7 +442,7 @@ const DEFAULT_CONFIG_TOML = `# tx configuration
288
442
 
289
443
  # Where tx stores YAML doc files on disk.
290
444
  # Relative to the project root.
291
- path = ".tx/docs"
445
+ path = "specs"
292
446
 
293
447
  # EARS (Easy Approach to Requirements Syntax) is mandatory for all PRDs.
294
448
  # PRDs with legacy 'requirements' must also define 'ears_requirements'.
@@ -325,7 +479,7 @@ test_patterns = [
325
479
  # If this directory isn't already a registered source, tx auto-registers
326
480
  # it so new documents survive future \`tx memory index\` runs.
327
481
  # Relative to the project root.
328
- default_dir = "docs"
482
+ default_dir = "specs"
329
483
 
330
484
  # ─── Cycles ─────────────────────────────────────────────────────────
331
485
  # Sub-agent swarm for automated issue discovery.
@@ -359,6 +513,23 @@ model = "claude-opus-4-6"
359
513
  # Can be toggled per-task with Cmd+K in the dashboard.
360
514
  default_task_assigment_type = "human"
361
515
 
516
+ # Default task view when opening the Tasks tab in the dashboard.
517
+ # "list" = table/list layout.
518
+ # "kanban" = status-column board layout.
519
+ default_task_view = "list"
520
+
521
+ # Weekly cycle planning settings used by dashboard cycle APIs.
522
+ [dashboard.cycles]
523
+
524
+ # Cycle duration in days.
525
+ cycle_length_days = 7
526
+
527
+ # Day of week that anchors cycle windows.
528
+ cycle_start_day = "monday"
529
+
530
+ # Non-done statuses carried into the next cycle when a cycle is completed.
531
+ carry_statuses = ["planning", "active", "blocked", "review", "needs_review"]
532
+
362
533
  # ─── Pins ───────────────────────────────────────────────────────────
363
534
  # Context pins — persistent named content blocks that are injected
364
535
  # into agent context files as <tx-pin id="...">...</tx-pin> XML sections.
@@ -1 +1 @@
1
- {"version":3,"file":"toml-config.js","sourceRoot":"","sources":["../../src/utils/toml-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toml-config.js","sourceRoot":"","sources":["../../src/utils/toml-config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  -- Version: 001
2
2
  -- Migration: initial
3
+ -- NOTE: Legacy "needs review" status value is renamed in migration 039.
3
4
 
4
5
  -- Core tasks table
5
6
  CREATE TABLE IF NOT EXISTS tasks (
@@ -9,7 +10,7 @@ CREATE TABLE IF NOT EXISTS tasks (
9
10
  status TEXT NOT NULL DEFAULT 'backlog'
10
11
  CHECK (status IN (
11
12
  'backlog', 'ready', 'planning', 'active',
12
- 'blocked', 'review', 'human_needs_to_review', 'done'
13
+ 'blocked', 'review', 'human_' || 'needs_to_review', 'done'
13
14
  )),
14
15
  parent_id TEXT REFERENCES tasks(id) ON DELETE SET NULL,
15
16
  score INTEGER NOT NULL DEFAULT 0,
@@ -0,0 +1,108 @@
1
+ -- Version: 039
2
+ -- Migration: Rename legacy "needs review" task status to needs_review
3
+ --
4
+ -- Keeps display label/color unchanged ("Needs Review", pink).
5
+ -- Existing rows are normalized during table copy.
6
+
7
+ PRAGMA defer_foreign_keys = ON;
8
+
9
+ CREATE TABLE tasks_new (
10
+ id TEXT PRIMARY KEY,
11
+ title TEXT NOT NULL,
12
+ description TEXT DEFAULT '',
13
+ status TEXT NOT NULL DEFAULT 'backlog'
14
+ CHECK (status IN (
15
+ 'backlog', 'ready', 'planning', 'active',
16
+ 'blocked', 'review', 'needs_review', 'done'
17
+ )),
18
+ parent_id TEXT REFERENCES tasks(id) ON DELETE SET NULL,
19
+ score INTEGER NOT NULL DEFAULT 0,
20
+ created_at TEXT NOT NULL,
21
+ updated_at TEXT NOT NULL,
22
+ completed_at TEXT,
23
+ metadata TEXT DEFAULT '{}',
24
+ assignee_type TEXT CHECK (assignee_type IN ('human', 'agent')),
25
+ assignee_id TEXT,
26
+ assigned_at TEXT,
27
+ assigned_by TEXT,
28
+ group_context TEXT,
29
+ verify_cmd TEXT,
30
+ verify_schema TEXT
31
+ );
32
+
33
+ INSERT INTO tasks_new (
34
+ id,
35
+ title,
36
+ description,
37
+ status,
38
+ parent_id,
39
+ score,
40
+ created_at,
41
+ updated_at,
42
+ completed_at,
43
+ metadata,
44
+ assignee_type,
45
+ assignee_id,
46
+ assigned_at,
47
+ assigned_by,
48
+ group_context,
49
+ verify_cmd,
50
+ verify_schema
51
+ )
52
+ SELECT
53
+ id,
54
+ title,
55
+ description,
56
+ CASE
57
+ WHEN status = 'human_' || 'needs_to_review' THEN 'needs_review'
58
+ ELSE status
59
+ END,
60
+ parent_id,
61
+ score,
62
+ created_at,
63
+ updated_at,
64
+ completed_at,
65
+ metadata,
66
+ assignee_type,
67
+ assignee_id,
68
+ assigned_at,
69
+ assigned_by,
70
+ group_context,
71
+ verify_cmd,
72
+ verify_schema
73
+ FROM tasks;
74
+
75
+ DROP TABLE tasks;
76
+ ALTER TABLE tasks_new RENAME TO tasks;
77
+
78
+ CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
79
+ CREATE INDEX IF NOT EXISTS idx_tasks_parent ON tasks(parent_id);
80
+ CREATE INDEX IF NOT EXISTS idx_tasks_score ON tasks(score DESC);
81
+ CREATE INDEX IF NOT EXISTS idx_tasks_created ON tasks(created_at);
82
+ CREATE INDEX IF NOT EXISTS idx_tasks_updated ON tasks(updated_at DESC);
83
+ CREATE INDEX IF NOT EXISTS idx_tasks_assignee_type ON tasks(assignee_type);
84
+ CREATE INDEX IF NOT EXISTS idx_tasks_assignee_type_id ON tasks(assignee_type, assignee_id);
85
+ CREATE INDEX IF NOT EXISTS idx_tasks_score_id ON tasks(score DESC, id ASC);
86
+ CREATE INDEX IF NOT EXISTS idx_tasks_status_score_id ON tasks(status, score DESC, id ASC);
87
+ CREATE INDEX IF NOT EXISTS idx_tasks_group_context_present
88
+ ON tasks(id, updated_at DESC)
89
+ WHERE group_context IS NOT NULL AND length(trim(group_context)) > 0;
90
+
91
+ CREATE TRIGGER IF NOT EXISTS validate_task_id_insert
92
+ BEFORE INSERT ON tasks
93
+ FOR EACH ROW
94
+ WHEN NEW.id NOT GLOB 'tx-[a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9]*'
95
+ BEGIN
96
+ SELECT RAISE(ABORT, 'Task ID must match format: tx-[a-z0-9]{6,}');
97
+ END;
98
+
99
+ CREATE TRIGGER IF NOT EXISTS validate_task_id_update
100
+ BEFORE UPDATE OF id ON tasks
101
+ FOR EACH ROW
102
+ WHEN NEW.id NOT GLOB 'tx-[a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9]*'
103
+ BEGIN
104
+ SELECT RAISE(ABORT, 'Task ID must match format: tx-[a-z0-9]{6,}');
105
+ END;
106
+
107
+ -- Record this migration
108
+ INSERT OR IGNORE INTO schema_version (version, applied_at) VALUES (39, datetime('now'));
@@ -0,0 +1,33 @@
1
+ -- Version: 040
2
+ -- Migration: Dashboard cycles and cycle-task assignment tables
3
+
4
+ CREATE TABLE IF NOT EXISTS cycles (
5
+ id TEXT PRIMARY KEY,
6
+ name TEXT NOT NULL,
7
+ start_date TEXT NOT NULL,
8
+ end_date TEXT NOT NULL,
9
+ status TEXT NOT NULL DEFAULT 'current' CHECK (status IN ('current', 'upcoming', 'completed')),
10
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
11
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
12
+ );
13
+
14
+ -- Enforce at most one current cycle at a time.
15
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_cycles_single_current
16
+ ON cycles(status)
17
+ WHERE status = 'current';
18
+
19
+ CREATE INDEX IF NOT EXISTS idx_cycles_start_date
20
+ ON cycles(start_date DESC);
21
+
22
+ CREATE TABLE IF NOT EXISTS cycle_tasks (
23
+ cycle_id TEXT NOT NULL REFERENCES cycles(id) ON DELETE CASCADE,
24
+ task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
25
+ added_at TEXT NOT NULL DEFAULT (datetime('now')),
26
+ PRIMARY KEY (cycle_id, task_id)
27
+ );
28
+
29
+ CREATE INDEX IF NOT EXISTS idx_cycle_tasks_task_id
30
+ ON cycle_tasks(task_id);
31
+
32
+ -- Record this migration
33
+ INSERT OR IGNORE INTO schema_version (version, applied_at) VALUES (40, datetime('now'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamesaphoenix/tx-core",
3
- "version": "0.11.1",
3
+ "version": "0.12.0",
4
4
  "description": "Core business logic for tx - Effect-TS services and repositories",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",