sqlew 3.7.2 → 3.7.3
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/CHANGELOG.md +53 -0
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +1 -1
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js +12 -3
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js.map +1 -1
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +29 -0
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js +556 -0
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +1 -0
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +110 -9
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +1 -1
- package/dist/database.d.ts +3 -3
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +30 -12
- package/dist/database.js.map +1 -1
- package/dist/tests/migration-idempotency.test.js +11 -10
- package/dist/tests/migration-idempotency.test.js.map +1 -1
- package/dist/tests/migration-upgrade-paths.test.js +6 -5
- package/dist/tests/migration-upgrade-paths.test.js.map +1 -1
- package/dist/tests/project-detector.test.d.ts +10 -0
- package/dist/tests/project-detector.test.d.ts.map +1 -0
- package/dist/tests/project-detector.test.js +156 -0
- package/dist/tests/project-detector.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-partial.test.js +1 -1
- package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -1
- package/dist/tests/tasks.link-file-backward-compat.test.js +3 -3
- package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -1
- package/dist/tests/tasks.watch-files-action.test.js +1 -1
- package/dist/tests/tasks.watch-files-action.test.js.map +1 -1
- package/dist/tests/tasks.watch-files-parameter.test.js +2 -2
- package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -1
- package/dist/tools/constraints.js +1 -1
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.js +2 -2
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.js +2 -2
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +7 -5
- package/dist/tools/tasks.js.map +1 -1
- package/dist/utils/project-detector.d.ts +42 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +130 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [3.7.3] - 2025-11-06
|
|
11
|
+
|
|
12
|
+
### Fixed - Master Tables Namespace Collision Bug
|
|
13
|
+
|
|
14
|
+
**Critical bug fix for incomplete multi-project support in v3.7.0-v3.7.2**
|
|
15
|
+
|
|
16
|
+
#### Problem
|
|
17
|
+
- Master tables (m_files, m_tags, m_scopes) lacked `project_id` columns in v3.7.0-v3.7.2
|
|
18
|
+
- This caused **namespace collisions** where identical file paths/tag names/scope names from different projects would conflict
|
|
19
|
+
- Example: "src/index.ts" from ProjectA would collide with ProjectB's "src/index.ts"
|
|
20
|
+
- Users upgrading from v3.6.x would have fake project name "default-project" instead of detected real name
|
|
21
|
+
|
|
22
|
+
#### Solution
|
|
23
|
+
- **20251106000000_fix_master_tables_project_id_v3_7_3.ts** - Comprehensive migration that:
|
|
24
|
+
1. **Data Consolidation** - Detects v3.7.0-v3.7.2 upgrade scenario and consolidates project #2 data into project #1
|
|
25
|
+
2. **Project Rename** - Renames fake "default-project" to real detected name (from config.toml/git remote/directory)
|
|
26
|
+
3. **Schema Fix** - Adds `project_id` column to m_files, m_tags, m_scopes with composite UNIQUE constraints
|
|
27
|
+
4. **Data Migration** - Maps all existing master table data to default project (ID 1)
|
|
28
|
+
5. **Orphan Cleanup** - Filters out 95 orphaned foreign key references (deleted tasks/tags)
|
|
29
|
+
6. **View Restoration** - Temporarily drops and restores 4 views during migration
|
|
30
|
+
7. **Table Restoration** - Backs up and restores 6 referencing tables with updated foreign keys
|
|
31
|
+
|
|
32
|
+
#### Migration Details
|
|
33
|
+
- **Idempotent** - Can run multiple times safely (checks for existing columns)
|
|
34
|
+
- **Version-Aware** - Only consolidates data for v3.7.0-v3.7.2 databases (detects fake project names)
|
|
35
|
+
- **Batch Inserts** - Uses 10-row batches to avoid SQLite UNION ALL limits
|
|
36
|
+
- **FK Filtering** - Validates foreign key references before restoration to prevent constraint errors
|
|
37
|
+
- **SQLite-Optimized** - Handles better-sqlite3 FK constraint behavior during table drops
|
|
38
|
+
|
|
39
|
+
#### Technical Changes
|
|
40
|
+
- **m_files**: Added `project_id` column, changed UNIQUE constraint from `(path)` to `(project_id, path)`
|
|
41
|
+
- **m_tags**: Added `project_id` column, changed UNIQUE constraint from `(name)` to `(project_id, name)`
|
|
42
|
+
- **m_scopes**: Added `project_id` column, changed UNIQUE constraint from `(name)` to `(project_id, name)`
|
|
43
|
+
- **Referencing Tables**: Updated t_file_changes, t_task_file_links, t_decision_tags, t_task_tags, t_constraint_tags, t_decision_scopes
|
|
44
|
+
- **Views**: Restored v_layer_summary, v_task_board, v_tagged_decisions, v_tagged_constraints
|
|
45
|
+
|
|
46
|
+
#### Impact
|
|
47
|
+
- ✅ **Fixed namespace collisions** - Files/tags/scopes from different projects can now have identical names
|
|
48
|
+
- ✅ **Data integrity** - All existing data preserved and mapped correctly
|
|
49
|
+
- ✅ **Project consolidation** - v3.7.0-v3.7.2 users get clean migration path
|
|
50
|
+
- ✅ **Real project names** - No more fake "default-project" names
|
|
51
|
+
- ✅ **Orphan cleanup** - Removed invalid foreign key references automatically
|
|
52
|
+
- ✅ **Full idempotency** - Migration can be safely re-run if interrupted
|
|
53
|
+
|
|
54
|
+
#### Testing
|
|
55
|
+
- ✅ Tested on actual v3.7.2 production database (mcp-sqlew project)
|
|
56
|
+
- ✅ Successfully consolidated 77 decisions, 191 tasks, 61 file changes
|
|
57
|
+
- ✅ Filtered 95 orphaned task-tag references
|
|
58
|
+
- ✅ All views and referencing tables restored correctly
|
|
59
|
+
- ✅ Final database state validated with composite UNIQUE constraints working
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
10
63
|
## [3.7.2] - 2025-11-05
|
|
11
64
|
|
|
12
65
|
### Changed - Enhanced Sub-Agent Templates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025020452_create_master_tables.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025020452_create_master_tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"20251025020452_create_master_tables.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025020452_create_master_tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FlD;AAGD,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAapD"}
|
|
@@ -17,7 +17,10 @@ export async function up(knex) {
|
|
|
17
17
|
if (!(await knex.schema.hasTable('m_files'))) {
|
|
18
18
|
await knex.schema.createTable('m_files', (table) => {
|
|
19
19
|
table.increments('id').primary();
|
|
20
|
-
table.
|
|
20
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
21
|
+
table.string('path', pathLength).notNullable();
|
|
22
|
+
table.unique(['project_id', 'path']); // Composite UNIQUE for multi-project (v3.7.3)
|
|
23
|
+
// Foreign key to m_projects will be added after m_projects is created in v3.7.0 migration
|
|
21
24
|
});
|
|
22
25
|
}
|
|
23
26
|
// Context Key Management
|
|
@@ -45,14 +48,20 @@ export async function up(knex) {
|
|
|
45
48
|
if (!(await knex.schema.hasTable('m_tags'))) {
|
|
46
49
|
await knex.schema.createTable('m_tags', (table) => {
|
|
47
50
|
table.increments('id').primary();
|
|
48
|
-
table.
|
|
51
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
52
|
+
table.string('name', 100).notNullable();
|
|
53
|
+
table.unique(['project_id', 'name']); // Composite UNIQUE for multi-project (v3.7.3)
|
|
54
|
+
// Foreign key to m_projects will be added after m_projects is created in v3.7.0 migration
|
|
49
55
|
});
|
|
50
56
|
}
|
|
51
57
|
// Scope Management
|
|
52
58
|
if (!(await knex.schema.hasTable('m_scopes'))) {
|
|
53
59
|
await knex.schema.createTable('m_scopes', (table) => {
|
|
54
60
|
table.increments('id').primary();
|
|
55
|
-
table.
|
|
61
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
62
|
+
table.string('name', 200).notNullable();
|
|
63
|
+
table.unique(['project_id', 'name']); // Composite UNIQUE for multi-project (v3.7.3)
|
|
64
|
+
// Foreign key to m_projects will be added after m_projects is created in v3.7.0 migration
|
|
56
65
|
});
|
|
57
66
|
}
|
|
58
67
|
// Configuration Management (key-value store)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025020452_create_master_tables.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025020452_create_master_tables.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,+EAA+E;IAC/E,kDAAkD;IAClD,+EAA+E;IAE/E,mBAAmB;IACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,kEAAkE;IAClE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAExC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"20251025020452_create_master_tables.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025020452_create_master_tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Fix Master Tables project_id (v3.7.3)
|
|
3
|
+
*
|
|
4
|
+
* CRITICAL BUG FIX: v3.7.0-v3.7.2 shipped with incomplete multi-project support.
|
|
5
|
+
* Master tables (m_files, m_tags, m_scopes) lack project_id columns, causing
|
|
6
|
+
* namespace collisions where "src/index.ts" from ProjectA conflicts with ProjectB.
|
|
7
|
+
*
|
|
8
|
+
* This migration:
|
|
9
|
+
* 1. Detects and renames fake project names ('default-project' → real name)
|
|
10
|
+
* 2. Adds project_id to m_files, m_tags, m_scopes
|
|
11
|
+
* 3. Changes UNIQUE constraints from single-column to composite (project_id, path/name)
|
|
12
|
+
* 4. Maps all existing data to default project (ID 1)
|
|
13
|
+
*
|
|
14
|
+
* Idempotent: Can run multiple times safely (checks hasColumn before altering)
|
|
15
|
+
*
|
|
16
|
+
* Rollback: down() reverts to v3.7.2 schema (removes project_id, restores single-column UNIQUE)
|
|
17
|
+
*
|
|
18
|
+
* Satisfies: v3.7.3 fix for namespace collision bug
|
|
19
|
+
*/
|
|
20
|
+
import type { Knex } from 'knex';
|
|
21
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Rollback: Revert master tables to v3.7.2 schema
|
|
24
|
+
*
|
|
25
|
+
* WARNING: This will remove project_id columns and restore single-column UNIQUE constraints.
|
|
26
|
+
* Data from all projects will be merged (potential conflicts if same path/name exists).
|
|
27
|
+
*/
|
|
28
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map
|
package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251106000000_fix_master_tables_project_id_v3_7_3.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAiBjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuhBlD;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFpD"}
|