@straiffi/archon 1.5.0 → 1.6.1

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 (112) hide show
  1. package/dist/client/assets/GitHubActionsDialog-BLJ3yCeK.js +1 -0
  2. package/dist/client/assets/TestsDialog-ar_RUzA3.js +4 -0
  3. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BG4rc0pD.js → architectureDiagram-3BPJPVTR-cWqD9YRv.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-GPEHLZMM-BifkewDx.js → blockDiagram-GPEHLZMM-B8yyMr1c.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-AAUBKEIU-DEYVUDCs.js → c4Diagram-AAUBKEIU-B_yL8Tbe.js} +1 -1
  6. package/dist/client/assets/channel-1Ezn2R-x.js +1 -0
  7. package/dist/client/assets/{chunk-2J33WTMH-DD50YIcA.js → chunk-2J33WTMH-BF8hfYEU.js} +1 -1
  8. package/dist/client/assets/{chunk-3OPIFGDE-DLbwwbdv.js → chunk-3OPIFGDE-BPDdyRDK.js} +1 -1
  9. package/dist/client/assets/{chunk-5ZQYHXKU-BW-r3gXJ.js → chunk-5ZQYHXKU-DEi4bnIa.js} +1 -1
  10. package/dist/client/assets/{chunk-727SXJPM-B5C_ENX7.js → chunk-727SXJPM-BTXHOTJi.js} +1 -1
  11. package/dist/client/assets/{chunk-AQP2D5EJ-BUT3wmDg.js → chunk-AQP2D5EJ-D2TAJwxM.js} +1 -1
  12. package/dist/client/assets/{chunk-CSCIHK7Q-BO7wWVh_.js → chunk-CSCIHK7Q-Bdgg7p9T.js} +1 -1
  13. package/dist/client/assets/{chunk-KSCS5N6A-DUNFfKB2.js → chunk-KSCS5N6A-Cey3fOI1.js} +1 -1
  14. package/dist/client/assets/{chunk-L5ZTLDWV-SYJQkU8_.js → chunk-L5ZTLDWV-BSNGBgBH.js} +1 -1
  15. package/dist/client/assets/{chunk-LZXEDZCA-DSVJIylK.js → chunk-LZXEDZCA-B8qP34jM.js} +2 -2
  16. package/dist/client/assets/{chunk-ND2GUHAM-CxL5ue9A.js → chunk-ND2GUHAM-COde7fTi.js} +1 -1
  17. package/dist/client/assets/{chunk-NZK2D7GU-BwxeYeqR.js → chunk-NZK2D7GU-C62VVWrt.js} +1 -1
  18. package/dist/client/assets/{chunk-O5CBEL6O-Covi8YcB.js → chunk-O5CBEL6O-_20MzuKm.js} +1 -1
  19. package/dist/client/assets/{chunk-WU5MYG2G-DlQoHSB3.js → chunk-WU5MYG2G-C4G-J1jx.js} +1 -1
  20. package/dist/client/assets/classDiagram-4FO5ZUOK-DrjiwEWN.js +1 -0
  21. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DWHyuysv.js +1 -0
  22. package/dist/client/assets/{dagre-BM42HDAG-CuNExSrh.js → dagre-BM42HDAG-jLUWHvr3.js} +1 -1
  23. package/dist/client/assets/{diagram-2AECGRRQ-Bk7EYe6Z.js → diagram-2AECGRRQ-B6D2TKLb.js} +1 -1
  24. package/dist/client/assets/{diagram-5GNKFQAL-koHJCfAk.js → diagram-5GNKFQAL-bFJLLDWx.js} +1 -1
  25. package/dist/client/assets/{diagram-KO2AKTUF-DI1Ecx54.js → diagram-KO2AKTUF-Bp01SL5f.js} +1 -1
  26. package/dist/client/assets/{diagram-LMA3HP47-CmFk1MNf.js → diagram-LMA3HP47-DwoeZFg9.js} +1 -1
  27. package/dist/client/assets/{diagram-OG6HWLK6-YTiDn39n.js → diagram-OG6HWLK6-CjRd_tge.js} +1 -1
  28. package/dist/client/assets/{erDiagram-TEJ5UH35-DyWU43DX.js → erDiagram-TEJ5UH35-DzfIVd9j.js} +1 -1
  29. package/dist/client/assets/{flowDiagram-I6XJVG4X-DgbU15ZJ.js → flowDiagram-I6XJVG4X-Dq04zf9A.js} +1 -1
  30. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CT39xvdk.js → ganttDiagram-6RSMTGT7-D5f16YYP.js} +1 -1
  31. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DfK_1xRj.js → gitGraphDiagram-PVQCEYII-CCD1CXBG.js} +1 -1
  32. package/dist/client/assets/index-DI9Vi2-3.js +265 -0
  33. package/dist/client/assets/index-DSap5tSX.css +2 -0
  34. package/dist/client/assets/{infoDiagram-5YYISTIA-C7z_7194.js → infoDiagram-5YYISTIA-Bde4Z0o8.js} +1 -1
  35. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DhJ7h17n.js → ishikawaDiagram-YF4QCWOH-CJ89ymGL.js} +1 -1
  36. package/dist/client/assets/{journeyDiagram-JHISSGLW-CtkhoMAA.js → journeyDiagram-JHISSGLW-Dw_sScmo.js} +1 -1
  37. package/dist/client/assets/{kanban-definition-UN3LZRKU-Bcas7cg9.js → kanban-definition-UN3LZRKU-DfWOcnxV.js} +1 -1
  38. package/dist/client/assets/{line-WO_ReaCl.js → line-CUQIbS7r.js} +1 -1
  39. package/dist/client/assets/{mermaid-parser.core-WmRuf19A.js → mermaid-parser.core-d287AjoM.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-BMdju4xN.js → mermaid.core-QqY2ZNMl.js} +3 -3
  41. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DLxsUQmn.js → mindmap-definition-RKZ34NQL-Bz3Yc70v.js} +1 -1
  42. package/dist/client/assets/{pieDiagram-4H26LBE5-D-oaWpEg.js → pieDiagram-4H26LBE5-BjMDHR6y.js} +1 -1
  43. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-B9krq8I-.js → quadrantDiagram-W4KKPZXB-BWDqf0X1.js} +1 -1
  44. package/dist/client/assets/{requirementDiagram-4Y6WPE33-m2VnH3vv.js → requirementDiagram-4Y6WPE33-kspE4S60.js} +1 -1
  45. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-bCF9Ot9-.js → sankeyDiagram-5OEKKPKP-EuLhHbDR.js} +1 -1
  46. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C-4zDJcn.js → sequenceDiagram-3UESZ5HK-BvXG3DJh.js} +1 -1
  47. package/dist/client/assets/{stateDiagram-AJRCARHV-CksbJK59.js → stateDiagram-AJRCARHV-B-D0PYkH.js} +1 -1
  48. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-f36jgr8A.js +1 -0
  49. package/dist/client/assets/{timeline-definition-PNZ67QCA-DDxpdMfo.js → timeline-definition-PNZ67QCA-CJnod6Jh.js} +1 -1
  50. package/dist/client/assets/{vennDiagram-CIIHVFJN-BfQM7_zD.js → vennDiagram-CIIHVFJN-CBh3tqZu.js} +1 -1
  51. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CuixXlAX.js → wardleyDiagram-YWT4CUSO-BBQOjYBd.js} +1 -1
  52. package/dist/client/assets/{xychartDiagram-2RQKCTM6-53YB-tf6.js → xychartDiagram-2RQKCTM6-C8gU1LNj.js} +1 -1
  53. package/dist/client/index.html +2 -2
  54. package/dist/server/db.js +288 -3
  55. package/dist/server/db.js.map +1 -1
  56. package/dist/server/index.js +323 -97
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/server/lib/git.js +18 -0
  59. package/dist/server/lib/git.js.map +1 -1
  60. package/dist/server/lib/models.js +2 -38
  61. package/dist/server/lib/models.js.map +1 -1
  62. package/dist/server/lib/projectMemory.js +1073 -276
  63. package/dist/server/lib/projectMemory.js.map +1 -1
  64. package/dist/server/lib/projectMemoryCursor.js +27 -0
  65. package/dist/server/lib/projectMemoryCursor.js.map +1 -0
  66. package/dist/server/lib/projectMemoryEvents.js +24 -0
  67. package/dist/server/lib/projectMemoryEvents.js.map +1 -0
  68. package/dist/server/lib/projectMemoryLimits.js +61 -0
  69. package/dist/server/lib/projectMemoryLimits.js.map +1 -0
  70. package/dist/server/lib/projectMemoryPrompt.js +299 -110
  71. package/dist/server/lib/projectMemoryPrompt.js.map +1 -1
  72. package/dist/server/lib/projectMemoryScan.js +461 -493
  73. package/dist/server/lib/projectMemoryScan.js.map +1 -1
  74. package/dist/server/lib/projectMemorySelections.js +97 -0
  75. package/dist/server/lib/projectMemorySelections.js.map +1 -0
  76. package/dist/server/lib/projectMemorySuggestions.js +19 -4
  77. package/dist/server/lib/projectMemorySuggestions.js.map +1 -1
  78. package/dist/server/lib/projectMemoryTransfer.js +635 -83
  79. package/dist/server/lib/projectMemoryTransfer.js.map +1 -1
  80. package/dist/server/lib/projectPathGlob.js +40 -0
  81. package/dist/server/lib/projectPathGlob.js.map +1 -0
  82. package/dist/server/lib/projects.js +50 -0
  83. package/dist/server/lib/projects.js.map +1 -1
  84. package/dist/server/lib/specReviewContext.js +2 -1
  85. package/dist/server/lib/specReviewContext.js.map +1 -1
  86. package/dist/server/lib/tickets.js +6 -0
  87. package/dist/server/lib/tickets.js.map +1 -1
  88. package/dist/server/workers/build.js +6 -2
  89. package/dist/server/workers/build.js.map +1 -1
  90. package/dist/server/workers/chat.js +9 -6
  91. package/dist/server/workers/chat.js.map +1 -1
  92. package/dist/server/workers/followUp.js +15 -8
  93. package/dist/server/workers/followUp.js.map +1 -1
  94. package/dist/server/workers/plan.js +61 -11
  95. package/dist/server/workers/plan.js.map +1 -1
  96. package/dist/server/workers/planFollowUp.js +3 -0
  97. package/dist/server/workers/planFollowUp.js.map +1 -1
  98. package/dist/server/workers/review.js +26 -11
  99. package/dist/server/workers/review.js.map +1 -1
  100. package/dist/server/workers/specReview.js +10 -0
  101. package/dist/server/workers/specReview.js.map +1 -1
  102. package/dist/server/workers/specSession.js +5 -2
  103. package/dist/server/workers/specSession.js.map +1 -1
  104. package/package.json +1 -1
  105. package/dist/client/assets/GitHubActionsDialog-CQMqcAiI.js +0 -1
  106. package/dist/client/assets/TestsDialog-iGukzvw2.js +0 -5
  107. package/dist/client/assets/channel-gy-JdvF3.js +0 -1
  108. package/dist/client/assets/classDiagram-4FO5ZUOK-B1Xs78Ge.js +0 -1
  109. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BU_Soq1k.js +0 -1
  110. package/dist/client/assets/index-BCqJfUGA.css +0 -2
  111. package/dist/client/assets/index-C_XaTJyb.js +0 -261
  112. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BvbN4CmJ.js +0 -1
package/dist/server/db.js CHANGED
@@ -62,6 +62,8 @@ db.exec(`
62
62
  commit_message_rules TEXT,
63
63
  auto_park_stale_tickets INTEGER NOT NULL DEFAULT 0,
64
64
  memory_enabled INTEGER NOT NULL DEFAULT 0,
65
+ scan_include_globs_json TEXT,
66
+ scan_exclude_globs_json TEXT,
65
67
  worktree_sync TEXT,
66
68
  spec_aware_code_review_enabled INTEGER NOT NULL DEFAULT 0,
67
69
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
@@ -128,6 +130,8 @@ ensureColumn('projects', 'preview_path', 'TEXT');
128
130
  ensureColumn('projects', 'preview_capability_mode', 'TEXT');
129
131
  ensureColumn('projects', 'auto_park_stale_tickets', 'INTEGER NOT NULL DEFAULT 0');
130
132
  ensureColumn('projects', 'memory_enabled', 'INTEGER NOT NULL DEFAULT 0');
133
+ ensureColumn('projects', 'scan_include_globs_json', 'TEXT');
134
+ ensureColumn('projects', 'scan_exclude_globs_json', 'TEXT');
131
135
  ensureColumn('projects', 'spec_aware_code_review_enabled', 'INTEGER NOT NULL DEFAULT 0');
132
136
  ensureColumn('worktree_bases', 'repo_path', 'TEXT');
133
137
  ensureColumn('worktree_bases', 'base_branch', 'TEXT');
@@ -291,12 +295,19 @@ db.exec(`
291
295
  instruction TEXT NOT NULL,
292
296
  rationale TEXT,
293
297
  stages_json TEXT,
298
+ path_globs_json TEXT,
299
+ component_tags_json TEXT,
294
300
  priority TEXT NOT NULL DEFAULT 'normal',
295
301
  injection_mode TEXT NOT NULL DEFAULT 'relevant',
296
302
  status TEXT NOT NULL DEFAULT 'active',
303
+ source_suggestion_id TEXT,
304
+ origin_json TEXT,
297
305
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
298
306
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
299
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
307
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
308
+ CHECK (priority IN ('critical', 'normal', 'low')),
309
+ CHECK (injection_mode IN ('always', 'relevant')),
310
+ CHECK (status IN ('active', 'archived'))
300
311
  )
301
312
  `);
302
313
  ensureColumn('project_conventions', 'injection_mode', "TEXT NOT NULL DEFAULT 'relevant'");
@@ -309,11 +320,19 @@ db.exec(`
309
320
  decision TEXT NOT NULL,
310
321
  rationale TEXT,
311
322
  implications_json TEXT,
323
+ stages_json TEXT,
324
+ path_globs_json TEXT,
325
+ component_tags_json TEXT,
312
326
  status TEXT NOT NULL DEFAULT 'accepted',
327
+ superseded_by_decision_id TEXT,
313
328
  source_ticket_id TEXT,
329
+ source_suggestion_id TEXT,
330
+ origin_json TEXT,
314
331
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
315
332
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
316
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
333
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
334
+ FOREIGN KEY (superseded_by_decision_id) REFERENCES project_decisions(id) ON DELETE SET NULL,
335
+ CHECK (status IN ('accepted', 'archived', 'superseded'))
317
336
  )
318
337
  `);
319
338
  db.exec('CREATE INDEX IF NOT EXISTS idx_project_conventions_project_status ON project_conventions(project_id, status)');
@@ -336,13 +355,23 @@ db.exec(`
336
355
  duplicate_target_id TEXT,
337
356
  status TEXT NOT NULL DEFAULT 'pending',
338
357
  resolved_memory_id TEXT,
358
+ dismissal_reason TEXT,
359
+ dedupe_fingerprint TEXT,
339
360
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
340
361
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
341
362
  FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
342
363
  FOREIGN KEY (ticket_id) REFERENCES tickets(id) ON DELETE CASCADE,
343
364
  FOREIGN KEY (chat_session_id) REFERENCES chat_sessions(id) ON DELETE CASCADE,
344
365
  FOREIGN KEY (spec_session_id) REFERENCES spec_sessions(id) ON DELETE CASCADE,
345
- CHECK (ticket_id IS NOT NULL OR chat_session_id IS NOT NULL OR spec_session_id IS NOT NULL)
366
+ CHECK (source_stage IN ('plan', 'build', 'review', 'follow_up', 'plan_follow_up', 'chat')),
367
+ CHECK (kind IN ('decision', 'convention')),
368
+ CHECK (duplicate_kind IN ('none', 'near_duplicate')),
369
+ CHECK (status IN ('pending', 'accepted', 'dismissed', 'applied_to_existing')),
370
+ CHECK (
371
+ (CASE WHEN ticket_id IS NULL THEN 0 ELSE 1 END)
372
+ + (CASE WHEN chat_session_id IS NULL THEN 0 ELSE 1 END)
373
+ + (CASE WHEN spec_session_id IS NULL THEN 0 ELSE 1 END) = 1
374
+ )
346
375
  )
347
376
  `);
348
377
  db.exec(`
@@ -355,6 +384,12 @@ db.exec(`
355
384
  scanner_tool TEXT,
356
385
  scanner_model TEXT,
357
386
  scanner_variant TEXT,
387
+ scanner_provider TEXT,
388
+ origin TEXT NOT NULL DEFAULT 'local_scan',
389
+ scanned_at DATETIME,
390
+ completed_at DATETIME,
391
+ working_tree_dirty INTEGER,
392
+ manifest_json TEXT,
358
393
  summary_markdown TEXT,
359
394
  error TEXT,
360
395
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
@@ -362,6 +397,18 @@ db.exec(`
362
397
  FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
363
398
  )
364
399
  `);
400
+ ensureColumn('project_context_scans', 'scanner_provider', 'TEXT');
401
+ ensureColumn('project_context_scans', 'origin', "TEXT NOT NULL DEFAULT 'local_scan'");
402
+ ensureColumn('project_context_scans', 'scanned_at', 'DATETIME');
403
+ ensureColumn('project_context_scans', 'completed_at', 'DATETIME');
404
+ ensureColumn('project_context_scans', 'working_tree_dirty', 'INTEGER');
405
+ ensureColumn('project_context_scans', 'manifest_json', 'TEXT');
406
+ db.exec(`
407
+ UPDATE project_context_scans
408
+ SET scanned_at = COALESCE(scanned_at, created_at),
409
+ completed_at = CASE WHEN status = 'done' THEN COALESCE(completed_at, updated_at) ELSE completed_at END,
410
+ origin = CASE WHEN origin IN ('local_scan', 'archive_import') THEN origin ELSE 'local_scan' END
411
+ `);
365
412
  db.exec(`
366
413
  CREATE TABLE IF NOT EXISTS project_context_artifacts (
367
414
  id TEXT PRIMARY KEY,
@@ -933,6 +980,219 @@ const migrateProjectMemorySuggestionsTable = () => {
933
980
  db.exec('ALTER TABLE project_memory_suggestions_v2 RENAME TO project_memory_suggestions');
934
981
  };
935
982
  migrateProjectMemorySuggestionsTable();
983
+ const migrateProjectMemoryLifecycleConstraints = () => {
984
+ const getTableSql = (tableName) => {
985
+ const row = db.prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get(tableName);
986
+ return row?.sql?.toLowerCase().replace(/\s+/g, ' ') ?? '';
987
+ };
988
+ const hasConstraint = (tableName, fragment) => getTableSql(tableName).includes(fragment);
989
+ const conventionColumns = db.prepare('PRAGMA table_info(project_conventions)').all();
990
+ const decisionColumns = db.prepare('PRAGMA table_info(project_decisions)').all();
991
+ const suggestionColumns = db.prepare('PRAGMA table_info(project_memory_suggestions)').all();
992
+ const needsMigration = !hasConstraint('project_conventions', "check (priority in ('critical', 'normal', 'low'))")
993
+ || !hasConstraint('project_conventions', "check (injection_mode in ('always', 'relevant'))")
994
+ || !hasConstraint('project_conventions', "check (status in ('active', 'archived'))")
995
+ || !hasConstraint('project_decisions', "check (status in ('accepted', 'archived', 'superseded'))")
996
+ || !hasConstraint('project_memory_suggestions', "check (source_stage in ('plan', 'build', 'review', 'follow_up', 'plan_follow_up', 'chat'))")
997
+ || !hasConstraint('project_memory_suggestions', "check (kind in ('decision', 'convention'))")
998
+ || !hasConstraint('project_memory_suggestions', "check (duplicate_kind in ('none', 'near_duplicate'))")
999
+ || !hasConstraint('project_memory_suggestions', "check (status in ('pending', 'accepted', 'dismissed', 'applied_to_existing'))")
1000
+ || !hasConstraint('project_memory_suggestions', 'case when ticket_id is null then 0 else 1 end');
1001
+ if (!needsMigration) {
1002
+ return;
1003
+ }
1004
+ const hasConventionInjectionMode = conventionColumns.some(column => column.name === 'injection_mode');
1005
+ const hasDecisionSourceTicketId = decisionColumns.some(column => column.name === 'source_ticket_id');
1006
+ const hasSpecSessionId = suggestionColumns.some(column => column.name === 'spec_session_id');
1007
+ db.exec('PRAGMA foreign_keys = OFF');
1008
+ try {
1009
+ db.exec('BEGIN');
1010
+ db.exec(`
1011
+ CREATE TABLE project_conventions_v3 (
1012
+ id TEXT PRIMARY KEY,
1013
+ project_id TEXT NOT NULL,
1014
+ title TEXT NOT NULL,
1015
+ scope TEXT,
1016
+ instruction TEXT NOT NULL,
1017
+ rationale TEXT,
1018
+ stages_json TEXT,
1019
+ priority TEXT NOT NULL DEFAULT 'normal',
1020
+ injection_mode TEXT NOT NULL DEFAULT 'relevant',
1021
+ status TEXT NOT NULL DEFAULT 'active',
1022
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1023
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1024
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
1025
+ CHECK (priority IN ('critical', 'normal', 'low')),
1026
+ CHECK (injection_mode IN ('always', 'relevant')),
1027
+ CHECK (status IN ('active', 'archived'))
1028
+ )
1029
+ `);
1030
+ db.exec(`
1031
+ INSERT INTO project_conventions_v3 (
1032
+ id, project_id, title, scope, instruction, rationale, stages_json, priority,
1033
+ injection_mode, status, created_at, updated_at
1034
+ )
1035
+ SELECT
1036
+ id, project_id, title, scope, instruction, rationale, stages_json,
1037
+ CASE WHEN priority IN ('critical', 'normal', 'low') THEN priority ELSE 'normal' END,
1038
+ ${hasConventionInjectionMode ? "CASE WHEN injection_mode IN ('always', 'relevant') THEN injection_mode ELSE 'relevant' END" : "'relevant'"},
1039
+ CASE WHEN status = 'active' THEN 'active' ELSE 'archived' END,
1040
+ created_at, updated_at
1041
+ FROM project_conventions
1042
+ `);
1043
+ db.exec(`
1044
+ CREATE TABLE project_decisions_v3 (
1045
+ id TEXT PRIMARY KEY,
1046
+ project_id TEXT NOT NULL,
1047
+ title TEXT NOT NULL,
1048
+ scope TEXT,
1049
+ decision TEXT NOT NULL,
1050
+ rationale TEXT,
1051
+ implications_json TEXT,
1052
+ status TEXT NOT NULL DEFAULT 'accepted',
1053
+ source_ticket_id TEXT,
1054
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1055
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1056
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
1057
+ CHECK (status IN ('accepted', 'archived', 'superseded'))
1058
+ )
1059
+ `);
1060
+ db.exec(`
1061
+ INSERT INTO project_decisions_v3 (
1062
+ id, project_id, title, scope, decision, rationale, implications_json, status,
1063
+ source_ticket_id, created_at, updated_at
1064
+ )
1065
+ SELECT
1066
+ id, project_id, title, scope, decision, rationale, implications_json,
1067
+ CASE WHEN status IN ('accepted', 'archived', 'superseded') THEN status ELSE 'archived' END,
1068
+ ${hasDecisionSourceTicketId ? 'source_ticket_id' : 'NULL'},
1069
+ created_at, updated_at
1070
+ FROM project_decisions
1071
+ `);
1072
+ db.exec(`
1073
+ CREATE TABLE project_memory_suggestions_v3 (
1074
+ id TEXT PRIMARY KEY,
1075
+ project_id TEXT NOT NULL,
1076
+ ticket_id TEXT,
1077
+ chat_session_id TEXT,
1078
+ spec_session_id TEXT,
1079
+ source_stage TEXT NOT NULL,
1080
+ kind TEXT NOT NULL,
1081
+ title TEXT NOT NULL,
1082
+ scope TEXT,
1083
+ content_text TEXT NOT NULL,
1084
+ rationale TEXT,
1085
+ details_json TEXT,
1086
+ duplicate_kind TEXT NOT NULL DEFAULT 'none',
1087
+ duplicate_target_id TEXT,
1088
+ status TEXT NOT NULL DEFAULT 'pending',
1089
+ resolved_memory_id TEXT,
1090
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1091
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1092
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
1093
+ FOREIGN KEY (ticket_id) REFERENCES tickets(id) ON DELETE CASCADE,
1094
+ FOREIGN KEY (chat_session_id) REFERENCES chat_sessions(id) ON DELETE CASCADE,
1095
+ FOREIGN KEY (spec_session_id) REFERENCES spec_sessions(id) ON DELETE CASCADE,
1096
+ CHECK (source_stage IN ('plan', 'build', 'review', 'follow_up', 'plan_follow_up', 'chat')),
1097
+ CHECK (kind IN ('decision', 'convention')),
1098
+ CHECK (duplicate_kind IN ('none', 'near_duplicate')),
1099
+ CHECK (status IN ('pending', 'accepted', 'dismissed', 'applied_to_existing')),
1100
+ CHECK (
1101
+ (CASE WHEN ticket_id IS NULL THEN 0 ELSE 1 END)
1102
+ + (CASE WHEN chat_session_id IS NULL THEN 0 ELSE 1 END)
1103
+ + (CASE WHEN spec_session_id IS NULL THEN 0 ELSE 1 END) = 1
1104
+ )
1105
+ )
1106
+ `);
1107
+ db.exec(`
1108
+ INSERT INTO project_memory_suggestions_v3 (
1109
+ id, project_id, ticket_id, chat_session_id, spec_session_id, source_stage,
1110
+ kind, title, scope, content_text, rationale, details_json, duplicate_kind,
1111
+ duplicate_target_id, status, resolved_memory_id, created_at, updated_at
1112
+ )
1113
+ SELECT
1114
+ id, project_id,
1115
+ CASE WHEN ticket_id IS NOT NULL THEN ticket_id ELSE NULL END,
1116
+ CASE WHEN ticket_id IS NULL AND chat_session_id IS NOT NULL THEN chat_session_id ELSE NULL END,
1117
+ CASE WHEN ticket_id IS NULL AND chat_session_id IS NULL AND ${hasSpecSessionId ? 'spec_session_id IS NOT NULL' : '0'} THEN ${hasSpecSessionId ? 'spec_session_id' : 'NULL'} ELSE NULL END,
1118
+ CASE WHEN source_stage IN ('plan', 'build', 'review', 'follow_up', 'plan_follow_up', 'chat') THEN source_stage ELSE 'chat' END,
1119
+ CASE WHEN kind IN ('decision', 'convention') THEN kind ELSE 'decision' END,
1120
+ title, scope, content_text, rationale, details_json,
1121
+ CASE WHEN duplicate_kind IN ('none', 'near_duplicate') THEN duplicate_kind ELSE 'none' END,
1122
+ duplicate_target_id,
1123
+ CASE WHEN status IN ('pending', 'accepted', 'dismissed', 'applied_to_existing') THEN status ELSE 'dismissed' END,
1124
+ resolved_memory_id, created_at, updated_at
1125
+ FROM project_memory_suggestions
1126
+ WHERE ticket_id IS NOT NULL
1127
+ OR chat_session_id IS NOT NULL
1128
+ ${hasSpecSessionId ? 'OR spec_session_id IS NOT NULL' : ''}
1129
+ `);
1130
+ db.exec('DROP TABLE project_memory_suggestions');
1131
+ db.exec('DROP TABLE project_conventions');
1132
+ db.exec('DROP TABLE project_decisions');
1133
+ db.exec('ALTER TABLE project_conventions_v3 RENAME TO project_conventions');
1134
+ db.exec('ALTER TABLE project_decisions_v3 RENAME TO project_decisions');
1135
+ db.exec('ALTER TABLE project_memory_suggestions_v3 RENAME TO project_memory_suggestions');
1136
+ db.exec('COMMIT');
1137
+ }
1138
+ catch (error) {
1139
+ db.exec('ROLLBACK');
1140
+ throw error;
1141
+ }
1142
+ finally {
1143
+ db.exec('PRAGMA foreign_keys = ON');
1144
+ }
1145
+ };
1146
+ migrateProjectMemoryLifecycleConstraints();
1147
+ const migrateProjectMemoryApplicability = () => {
1148
+ ensureColumn('project_conventions', 'path_globs_json', 'TEXT');
1149
+ ensureColumn('project_conventions', 'component_tags_json', 'TEXT');
1150
+ ensureColumn('project_decisions', 'stages_json', 'TEXT');
1151
+ ensureColumn('project_decisions', 'path_globs_json', 'TEXT');
1152
+ ensureColumn('project_decisions', 'component_tags_json', 'TEXT');
1153
+ };
1154
+ migrateProjectMemoryApplicability();
1155
+ ensureColumn('project_memory_suggestions', 'dismissal_reason', 'TEXT');
1156
+ ensureColumn('project_memory_suggestions', 'dedupe_fingerprint', 'TEXT');
1157
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_suggestions_fingerprint ON project_memory_suggestions(project_id, dedupe_fingerprint, status, updated_at)');
1158
+ ensureColumn('project_decisions', 'superseded_by_decision_id', 'TEXT REFERENCES project_decisions(id) ON DELETE SET NULL');
1159
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_decisions_superseded_by ON project_decisions(superseded_by_decision_id)');
1160
+ const migrateProjectMemoryProvenance = () => {
1161
+ ensureColumn('project_conventions', 'source_suggestion_id', 'TEXT');
1162
+ ensureColumn('project_conventions', 'origin_json', 'TEXT');
1163
+ ensureColumn('project_decisions', 'source_suggestion_id', 'TEXT');
1164
+ ensureColumn('project_decisions', 'origin_json', 'TEXT');
1165
+ db.transaction(() => {
1166
+ db.prepare(`
1167
+ UPDATE project_conventions
1168
+ SET origin_json = ?
1169
+ WHERE origin_json IS NULL
1170
+ OR TRIM(origin_json) = ''
1171
+ `).run(JSON.stringify({ type: 'manual' }));
1172
+ db.prepare(`
1173
+ UPDATE project_decisions
1174
+ SET origin_json = ?
1175
+ WHERE origin_json IS NULL
1176
+ OR TRIM(origin_json) = ''
1177
+ `).run(JSON.stringify({ type: 'manual' }));
1178
+ })();
1179
+ };
1180
+ migrateProjectMemoryProvenance();
1181
+ db.exec(`
1182
+ CREATE TABLE IF NOT EXISTS project_memory_events (
1183
+ id TEXT PRIMARY KEY,
1184
+ project_id TEXT NOT NULL,
1185
+ memory_kind TEXT NOT NULL,
1186
+ memory_id TEXT NOT NULL,
1187
+ event_type TEXT NOT NULL,
1188
+ source_suggestion_id TEXT,
1189
+ summary_json TEXT,
1190
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1191
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
1192
+ )
1193
+ `);
1194
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_events_memory ON project_memory_events(project_id, memory_kind, memory_id, created_at)');
1195
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_events_memory_created ON project_memory_events(project_id, memory_kind, memory_id, created_at DESC, id DESC)');
936
1196
  db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_suggestions_project_status ON project_memory_suggestions(project_id, status)');
937
1197
  db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_suggestions_ticket_status ON project_memory_suggestions(ticket_id, status)');
938
1198
  db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_suggestions_chat_session_status ON project_memory_suggestions(chat_session_id, status)');
@@ -993,6 +1253,31 @@ db.exec(`
993
1253
  )
994
1254
  `);
995
1255
  db.exec('CREATE INDEX IF NOT EXISTS idx_agent_runs_parent ON agent_runs(parent_type, parent_id)');
1256
+ db.exec(`
1257
+ CREATE TABLE IF NOT EXISTS project_memory_selections (
1258
+ id TEXT PRIMARY KEY,
1259
+ project_id TEXT NOT NULL,
1260
+ agent_run_id TEXT,
1261
+ parent_type TEXT NOT NULL,
1262
+ parent_id TEXT NOT NULL,
1263
+ stage TEXT NOT NULL,
1264
+ revision TEXT NOT NULL,
1265
+ selected_items_json TEXT NOT NULL,
1266
+ omitted_items_json TEXT NOT NULL,
1267
+ conflicts_json TEXT NOT NULL,
1268
+ character_count INTEGER NOT NULL,
1269
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
1270
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
1271
+ FOREIGN KEY (agent_run_id) REFERENCES agent_runs(id) ON DELETE SET NULL
1272
+ )
1273
+ `);
1274
+ ensureColumn('project_memory_selections', 'durable_agent_run_id', 'TEXT');
1275
+ ensureColumn('project_memory_selections', 'generated_context_json', 'TEXT');
1276
+ db.prepare('UPDATE project_memory_selections SET durable_agent_run_id = agent_run_id WHERE durable_agent_run_id IS NULL AND agent_run_id IS NOT NULL').run();
1277
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_selections_parent ON project_memory_selections(parent_type, parent_id, created_at)');
1278
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_selections_project ON project_memory_selections(project_id, created_at)');
1279
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_selections_agent_run ON project_memory_selections(agent_run_id)');
1280
+ db.exec('CREATE INDEX IF NOT EXISTS idx_project_memory_selections_project_run ON project_memory_selections(project_id, durable_agent_run_id)');
996
1281
  db.exec(`
997
1282
  CREATE TABLE IF NOT EXISTS spec_review_runs (
998
1283
  id TEXT PRIMARY KEY,
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../server/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../server/db.ts"],"names":[],"mappings":"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"}