@jigyasudham/veto 2.7.4 → 2.9.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/README.md +11 -1
- package/dist/agents/development/performance.d.ts +2 -0
- package/dist/agents/development/performance.d.ts.map +1 -1
- package/dist/agents/development/performance.js +94 -0
- package/dist/agents/development/performance.js.map +1 -1
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +4 -0
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/manifest.js +4 -4
- package/dist/agents/manifest.js.map +1 -1
- package/dist/agents/quality/compatibility.d.ts +2 -0
- package/dist/agents/quality/compatibility.d.ts.map +1 -1
- package/dist/agents/quality/compatibility.js +110 -0
- package/dist/agents/quality/compatibility.js.map +1 -1
- package/dist/agents/security/auth.d.ts +2 -1
- package/dist/agents/security/auth.d.ts.map +1 -1
- package/dist/agents/security/auth.js +103 -0
- package/dist/agents/security/auth.js.map +1 -1
- package/dist/agents/security/privacy.d.ts +2 -1
- package/dist/agents/security/privacy.d.ts.map +1 -1
- package/dist/agents/security/privacy.js +130 -0
- package/dist/agents/security/privacy.js.map +1 -1
- package/dist/cli/statusline.d.ts +7 -1
- package/dist/cli/statusline.d.ts.map +1 -1
- package/dist/cli/statusline.js +37 -8
- package/dist/cli/statusline.js.map +1 -1
- package/dist/council/decision-engine.d.ts.map +1 -1
- package/dist/council/decision-engine.js +6 -0
- package/dist/council/decision-engine.js.map +1 -1
- package/dist/council/devil-advocate.d.ts.map +1 -1
- package/dist/council/devil-advocate.js +25 -19
- package/dist/council/devil-advocate.js.map +1 -1
- package/dist/council/lead-developer.d.ts.map +1 -1
- package/dist/council/lead-developer.js +8 -7
- package/dist/council/lead-developer.js.map +1 -1
- package/dist/council/legal-compliance.d.ts.map +1 -1
- package/dist/council/legal-compliance.js +8 -6
- package/dist/council/legal-compliance.js.map +1 -1
- package/dist/council/product-manager.d.ts.map +1 -1
- package/dist/council/product-manager.js +11 -9
- package/dist/council/product-manager.js.map +1 -1
- package/dist/council/security.d.ts.map +1 -1
- package/dist/council/security.js +9 -7
- package/dist/council/security.js.map +1 -1
- package/dist/council/system-architect.d.ts.map +1 -1
- package/dist/council/system-architect.js +11 -9
- package/dist/council/system-architect.js.map +1 -1
- package/dist/council/types.d.ts +1 -0
- package/dist/council/types.d.ts.map +1 -1
- package/dist/council/ux-designer.d.ts.map +1 -1
- package/dist/council/ux-designer.js +8 -6
- package/dist/council/ux-designer.js.map +1 -1
- package/dist/memory/local.d.ts +2 -0
- package/dist/memory/local.d.ts.map +1 -1
- package/dist/memory/local.js +60 -10
- package/dist/memory/local.js.map +1 -1
- package/dist/memory/schema.d.ts +1 -1
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +3 -2
- package/dist/memory/schema.js.map +1 -1
- package/dist/memory/sync.d.ts.map +1 -1
- package/dist/memory/sync.js +3 -3
- package/dist/memory/sync.js.map +1 -1
- package/dist/server/handlers/advisors.d.ts.map +1 -1
- package/dist/server/handlers/advisors.js +70 -61
- package/dist/server/handlers/advisors.js.map +1 -1
- package/dist/server/handlers/council.d.ts.map +1 -1
- package/dist/server/handlers/council.js +8 -3
- package/dist/server/handlers/council.js.map +1 -1
- package/dist/server/handlers/generators.d.ts.map +1 -1
- package/dist/server/handlers/generators.js +96 -86
- package/dist/server/handlers/generators.js.map +1 -1
- package/dist/server/handlers/git.d.ts.map +1 -1
- package/dist/server/handlers/git.js +21 -19
- package/dist/server/handlers/git.js.map +1 -1
- package/dist/server/handlers/session.js +2 -2
- package/dist/server/handlers/session.js.map +1 -1
- package/dist/server/scan-core.d.ts +34 -1
- package/dist/server/scan-core.d.ts.map +1 -1
- package/dist/server/scan-core.js +41 -0
- package/dist/server/scan-core.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +16 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions.d.ts +79 -3
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +79 -3
- package/dist/tools/definitions.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -137,7 +137,7 @@ export function analyze(task) {
|
|
|
137
137
|
{
|
|
138
138
|
pattern: /memory|session|persist|store|knowledge/i,
|
|
139
139
|
concern: 'Persisting user code, task descriptions, and session context locally creates a data retention obligation. Under GDPR, users have the right to request deletion of their data.',
|
|
140
|
-
recommendation: 'Provide
|
|
140
|
+
recommendation: 'Provide a data-deletion command and document how users can delete all stored data. Set default retention policies. Do not store data longer than necessary for the stated purpose.',
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
pattern: /npm|publish|distribut|package|open.?source/i,
|
|
@@ -147,7 +147,7 @@ export function analyze(task) {
|
|
|
147
147
|
{
|
|
148
148
|
pattern: /log|audit|monitor|track|telemetry/i,
|
|
149
149
|
concern: 'Logging task content and code snippets locally may capture personally identifiable information or commercially sensitive code that users did not intend to store.',
|
|
150
|
-
recommendation: 'Truncate task content in logs. Never log raw code in audit trails. Provide a clear privacy notice explaining what
|
|
150
|
+
recommendation: 'Truncate task content in logs. Never log raw code in audit trails. Provide a clear privacy notice explaining what the tool stores locally and for how long.',
|
|
151
151
|
},
|
|
152
152
|
{
|
|
153
153
|
pattern: /vscode|extension|marketplace/i,
|
|
@@ -173,14 +173,16 @@ export function analyze(task) {
|
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
175
|
else {
|
|
176
|
+
// Topic matches are non-voting advice — a topical observation is not a
|
|
177
|
+
// found compliance issue and must not move the verdict.
|
|
176
178
|
const topicMatched = TOPIC_INSIGHTS.filter(t => t.pattern.test(task));
|
|
177
179
|
if (topicMatched.length > 0) {
|
|
178
180
|
const top = topicMatched.slice(0, 2);
|
|
179
181
|
vote = {
|
|
180
|
-
verdict: '
|
|
181
|
-
reason:
|
|
182
|
-
concerns:
|
|
183
|
-
|
|
182
|
+
verdict: 'approve',
|
|
183
|
+
reason: 'No legal or compliance issues detected.',
|
|
184
|
+
concerns: [],
|
|
185
|
+
advice: top.map(t => `${t.concern} → ${t.recommendation}`).join('\n'),
|
|
184
186
|
};
|
|
185
187
|
}
|
|
186
188
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legal-compliance.js","sourceRoot":"","sources":["../../src/council/legal-compliance.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"legal-compliance.js","sourceRoot":"","sources":["../../src/council/legal-compliance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-manager.d.ts","sourceRoot":"","sources":["../../src/council/product-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmG5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"product-manager.d.ts","sourceRoot":"","sources":["../../src/council/product-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmG5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAuD/C"}
|
|
@@ -77,17 +77,17 @@ const TOPIC_INSIGHTS = [
|
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
pattern: /phase|roadmap|plan|milestone|feature.?list/i,
|
|
80
|
-
concern: 'Phases planned without user validation risk building features nobody wants.
|
|
81
|
-
recommendation: 'Identify the one feature that would make users tell others about
|
|
80
|
+
concern: 'Phases planned without user validation risk building features nobody wants. Strong products grow from a single killer feature, not a comprehensive roadmap.',
|
|
81
|
+
recommendation: 'Identify the one feature that would make users tell others about the product. Ship that first. Use real usage metrics to prioritise the next phase.',
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
84
|
pattern: /discover|onboard|help|tutorial|guide|doc/i,
|
|
85
|
-
concern: 'A large
|
|
86
|
-
recommendation: '
|
|
85
|
+
concern: 'A large feature surface is above the cognitive load threshold for new users. Without discoverability, most features will never be used — this is the retention killer for complex products.',
|
|
86
|
+
recommendation: 'Invest in discoverability early. Track which features get used most. Consider a first-run guided experience.',
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
pattern: /mcp.?server|tool.?count|tool.?list/i,
|
|
90
|
-
concern: 'More tools ≠ more value. Each additional tool increases the cognitive load on users and the maintenance burden on you. The most successful MCP servers have
|
|
90
|
+
concern: 'More tools ≠ more value. Each additional tool increases the cognitive load on users and the maintenance burden on you. The most successful MCP servers have a small set of sharp tools.',
|
|
91
91
|
recommendation: 'Audit tool usage data. If any tool has zero calls in 30 days, deprecate it. Consolidate tools that overlap in function.',
|
|
92
92
|
},
|
|
93
93
|
];
|
|
@@ -127,14 +127,16 @@ export function analyze(task) {
|
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
else {
|
|
130
|
+
// Topic matches are non-voting advice — a topical observation is not a
|
|
131
|
+
// found risk and must not move the verdict.
|
|
130
132
|
const matched = TOPIC_INSIGHTS.filter(t => t.pattern.test(task));
|
|
131
133
|
if (matched.length > 0) {
|
|
132
134
|
const top = matched.slice(0, 2);
|
|
133
135
|
vote = {
|
|
134
|
-
verdict: '
|
|
135
|
-
reason:
|
|
136
|
-
concerns:
|
|
137
|
-
|
|
136
|
+
verdict: 'approve',
|
|
137
|
+
reason: 'Reasonable scope. Ship it.',
|
|
138
|
+
concerns: [],
|
|
139
|
+
advice: top.map(t => `${t.concern} → ${t.recommendation}`).join('\n'),
|
|
138
140
|
};
|
|
139
141
|
}
|
|
140
142
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-manager.js","sourceRoot":"","sources":["../../src/council/product-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,WAAW,GAAuE;IACtF;QACE,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,0EAA0E;QAClF,cAAc,EAAE,iFAAiF;KAClG;IACD;QACE,OAAO,EAAE,0FAA0F;QACnG,MAAM,EAAE,+EAA+E;QACvF,cAAc,EAAE,oFAAoF;KACrG;CACF,CAAC;AAEF,MAAM,UAAU,GAAwE;IACtF;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,uFAAuF;QAChG,cAAc,EAAE,sFAAsF;KACvG;IACD;QACE,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE,gFAAgF;QACzF,cAAc,EAAE,+EAA+E;KAChG;IACD;QACE,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,6EAA6E;QACtF,cAAc,EAAE,gFAAgF;KACjG;IACD;QACE,OAAO,EAAE,yEAAyE;QAClF,OAAO,EAAE,uFAAuF;QAChG,cAAc,EAAE,8EAA8E;KAC/F;IACD;QACE,OAAO,EAAE,qEAAqE;QAC9E,OAAO,EAAE,oFAAoF;QAC7F,cAAc,EAAE,gFAAgF;KACjG;IACD;QACE,OAAO,EAAE,6DAA6D;QACtE,OAAO,EAAE,iEAAiE;QAC1E,cAAc,EAAE,kEAAkE;KACnF;IACD;QACE,OAAO,EAAE,wFAAwF;QACjG,OAAO,EAAE,sEAAsE;QAC/E,cAAc,EAAE,wEAAwE;KACzF;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,0DAA0D;QACnE,cAAc,EAAE,8DAA8D;KAC/E;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,0EAA0E,CAAC;AAE3F,MAAM,cAAc,GAAwE;IAC1F;QACE,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,oPAAoP;QAC7P,cAAc,EAAE,yKAAyK;KAC1L;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,qJAAqJ;QAC9J,cAAc,EAAE,oKAAoK;KACrL;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,+LAA+L;QACxM,cAAc,EAAE,mIAAmI;KACpJ;IACD;QACE,OAAO,EAAE,0DAA0D;QACnE,OAAO,EAAE,gJAAgJ;QACzJ,cAAc,EAAE,0JAA0J;KAC3K;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"product-manager.js","sourceRoot":"","sources":["../../src/council/product-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/council/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmI5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/council/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmI5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA8F/C"}
|
package/dist/council/security.js
CHANGED
|
@@ -146,7 +146,7 @@ export function analyze(task) {
|
|
|
146
146
|
const TOPIC_INSIGHTS = [
|
|
147
147
|
{
|
|
148
148
|
pattern: /plugin|extensi|loader|dynamic.?import|user.?code/i,
|
|
149
|
-
concern: 'User-supplied code executed in the
|
|
149
|
+
concern: 'User-supplied code executed in the host process has full access to the filesystem, network, and data stores. A malicious plugin could exfiltrate data or escalate to arbitrary code execution.',
|
|
150
150
|
recommendation: 'Run plugins in a vm.Script sandbox with a restricted module allowlist. Verify plugin exports schema before loading. Log all plugin loads to the audit trail with file hash.',
|
|
151
151
|
},
|
|
152
152
|
{
|
|
@@ -161,12 +161,12 @@ export function analyze(task) {
|
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
pattern: /\bhttp\b|streamable.?http|remote.?(server|access)|expose.{0,20}network|0\.0\.0\.0|bind.{0,12}port|listen\s*\(/i,
|
|
164
|
-
concern: 'Exposing
|
|
164
|
+
concern: 'Exposing a server over HTTP/network changes a local-only tool into a network service. Without authentication and TLS, any process on the network can call every exposed operation.',
|
|
165
165
|
recommendation: 'HTTP transport must require authentication from day one — even locally. Use mutual TLS or bearer tokens. Bind to 127.0.0.1 by default, not 0.0.0.0.',
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
pattern: /mcp|tool|handler|input.?schema/i,
|
|
169
|
-
concern: '
|
|
169
|
+
concern: 'Tool inputs deserialized from JSON without schema validation let a crafted call pass unexpected types or fields into handler logic.',
|
|
170
170
|
recommendation: 'Validate all tool inputs with a schema library (zod) at the top of each handler. Reject calls with unexpected fields or wrong types immediately with a descriptive error.',
|
|
171
171
|
},
|
|
172
172
|
{
|
|
@@ -198,14 +198,16 @@ export function analyze(task) {
|
|
|
198
198
|
};
|
|
199
199
|
}
|
|
200
200
|
else {
|
|
201
|
+
// Topic matches are non-voting advice — a topical observation is not a
|
|
202
|
+
// found threat and must not move the verdict.
|
|
201
203
|
const topicMatched = TOPIC_INSIGHTS.filter(t => t.pattern.test(task));
|
|
202
204
|
if (topicMatched.length > 0) {
|
|
203
205
|
const top = topicMatched.slice(0, 2);
|
|
204
206
|
vote = {
|
|
205
|
-
verdict: '
|
|
206
|
-
reason:
|
|
207
|
-
concerns:
|
|
208
|
-
|
|
207
|
+
verdict: 'approve',
|
|
208
|
+
reason: 'No security threats identified in threat model.',
|
|
209
|
+
concerns: [],
|
|
210
|
+
advice: top.map(t => `${t.concern} → ${t.recommendation}`).join('\n'),
|
|
209
211
|
};
|
|
210
212
|
}
|
|
211
213
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/council/security.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/council/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,WAAW,GAAuE;IACtF;QACE,OAAO,EAAE,qKAAqK;QAC9K,MAAM,EAAE,0FAA0F;QAClG,cAAc,EAAE,4FAA4F;KAC7G;IACD;QACE,OAAO,EAAE,2EAA2E;QACpF,MAAM,EAAE,yFAAyF;QACjG,cAAc,EAAE,2FAA2F;KAC5G;IACD;QACE,OAAO,EAAE,wGAAwG;QACjH,MAAM,EAAE,oGAAoG;QAC5G,cAAc,EAAE,mFAAmF;KACpG;IACD;QACE,OAAO,EAAE,sEAAsE;QAC/E,MAAM,EAAE,wGAAwG;QAChH,cAAc,EAAE,2FAA2F;KAC5G;IACD;QACE,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,oEAAoE;QAC5E,cAAc,EAAE,gFAAgF;KACjG;IACD;QACE,OAAO,EAAE,oFAAoF;QAC7F,MAAM,EAAE,uGAAuG;QAC/G,cAAc,EAAE,0FAA0F;KAC3G;IACD;QACE,OAAO,EAAE,2EAA2E;QACpF,MAAM,EAAE,iGAAiG;QACzG,cAAc,EAAE,gFAAgF;KACjG;IACD;QACE,OAAO,EAAE,mGAAmG;QAC5G,MAAM,EAAE,qGAAqG;QAC7G,cAAc,EAAE,+EAA+E;KAChG;IACD;QACE,OAAO,EAAE,mDAAmD;QAC5D,MAAM,EAAE,+EAA+E;QACvF,cAAc,EAAE,kFAAkF;KACnG;IACD;QACE,OAAO,EAAE,wDAAwD;QACjE,MAAM,EAAE,yFAAyF;QACjG,cAAc,EAAE,uFAAuF;KACxG;IACD;QACE,OAAO,EAAE,yEAAyE;QAClF,MAAM,EAAE,6FAA6F;QACrG,cAAc,EAAE,sFAAsF;KACvG;IACD;QACE,OAAO,EAAE,kGAAkG;QAC3G,MAAM,EAAE,2FAA2F;QACnG,cAAc,EAAE,8FAA8F;KAC/G;CACF,CAAC;AAEF,MAAM,UAAU,GAAwE;IACtF;QACE,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,2EAA2E;QACpF,cAAc,EAAE,4EAA4E;KAC7F;IACD;QACE,OAAO,EAAE,4EAA4E;QACrF,OAAO,EAAE,4FAA4F;QACrG,cAAc,EAAE,uEAAuE;KACxF;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,sFAAsF;QAC/F,cAAc,EAAE,gGAAgG;KACjH;IACD;QACE,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,gFAAgF;KACjG;IACD;QACE,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE,wFAAwF;QACjG,cAAc,EAAE,oGAAoG;KACrH;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,0FAA0F;QACnG,cAAc,EAAE,wFAAwF;KACzG;IACD;QACE,OAAO,EAAE,gEAAgE;QACzE,OAAO,EAAE,mFAAmF;QAC5F,cAAc,EAAE,yEAAyE;KAC1F;IACD;QACE,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,gFAAgF;QACzF,cAAc,EAAE,uFAAuF;KACxG;IACD;QACE,OAAO,EAAE,+EAA+E;QACxF,OAAO,EAAE,4FAA4F;QACrG,cAAc,EAAE,qFAAqF;KACtG;IACD;QACE,OAAO,EAAE,oGAAoG;QAC7G,OAAO,EAAE,mEAAmE;QAC5E,cAAc,EAAE,mEAAmE;KACpF;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,gFAAgF;QACzF,cAAc,EAAE,qFAAqF;KACtG;IACD;QACE,OAAO,EAAE,yEAAyE;QAClF,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,qFAAqF;KACtG;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,0EAA0E,CAAC;AAE3F,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,wCAAwC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,MAAM,GAAsD,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,MAAM,cAAc,GAAwE;QAC1F;YACE,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,gMAAgM;YACzM,cAAc,EAAE,6KAA6K;SAC9L;QACD;YACE,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,4KAA4K;YACrL,cAAc,EAAE,2LAA2L;SAC5M;QACD;YACE,OAAO,EAAE,wCAAwC;YACjD,OAAO,EAAE,2LAA2L;YACpM,cAAc,EAAE,+JAA+J;SAChL;QACD;YACE,OAAO,EAAE,gHAAgH;YACzH,OAAO,EAAE,oLAAoL;YAC7L,cAAc,EAAE,qJAAqJ;SACtK;QACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,qIAAqI;YAC9I,cAAc,EAAE,2KAA2K;SAC5L;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,uKAAuK;YAChL,cAAc,EAAE,2JAA2J;SAC5K;QACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,8IAA8I;YACvJ,cAAc,EAAE,qLAAqL;SACtM;KACF,CAAC;IAEF,IAAI,IAAe,CAAC;IAEpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG;YACL,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;YACxB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG;YACL,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,oBAAoB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC;YAC7G,QAAQ;YACR,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,8CAA8C;QAC9C,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG;gBACL,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,iDAAiD;gBACzD,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,iDAAiD,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzG,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,gGAAgG;AAChG,MAAM,QAAQ,GAAG,4FAA4F,CAAC;AAE9G,SAAS,mBAAmB,CAAC,IAAe,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI;QACjB,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,yCAAyC,IAAI,CAAC,OAAO,uIAAuI;QAChN,CAAC,CAAC,8IAA8I,CAAC;IACnJ,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-architect.d.ts","sourceRoot":"","sources":["../../src/council/system-architect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsI5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"system-architect.d.ts","sourceRoot":"","sources":["../../src/council/system-architect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsI5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAuD/C"}
|
|
@@ -107,22 +107,22 @@ const TOPIC_INSIGHTS = [
|
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
109
|
pattern: /version|package\.json|semver/i,
|
|
110
|
-
concern: 'Multiple hardcoded version strings across
|
|
110
|
+
concern: 'Multiple hardcoded version strings across source files create a drift problem that gets worse with each release.',
|
|
111
111
|
recommendation: 'Single source: read version from package.json at startup. Export it from one shared module. All other files import it.',
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
pattern: /plugin|extensi|loader|dynamic.?import/i,
|
|
115
|
-
concern: 'Dynamic plugin loading from user directories creates a security boundary:
|
|
115
|
+
concern: 'Dynamic plugin loading from user directories creates a security boundary: user-supplied code runs with full host privileges unless sandboxed.',
|
|
116
116
|
recommendation: 'Validate plugin exports schema before loading. Consider running plugins in a restricted vm.Script context. Log all plugin load events to the audit trail.',
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
pattern: /vscode|extension|ide|ui|frontend/i,
|
|
120
|
-
concern: '
|
|
121
|
-
recommendation: 'Define a minimum
|
|
120
|
+
concern: 'An IDE extension talking to a separate backend process is a distributed architecture: version compatibility between the two must be managed explicitly.',
|
|
121
|
+
recommendation: 'Define a minimum backend version requirement in the extension. On connect, verify the backend version meets the minimum and show a clear upgrade prompt if not.',
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
pattern: /phase|roadmap|migrat|upgrade/i,
|
|
125
|
-
concern: 'Schema migrations that run inline
|
|
125
|
+
concern: 'Schema migrations that run inline at startup are safe for additive changes but risky for destructive ones when there is no migration version tracking.',
|
|
126
126
|
recommendation: 'Add a schema_version table. Record each migration with a unique ID. Before running a migration, check if it has already been applied. This prevents re-running on restart.',
|
|
127
127
|
},
|
|
128
128
|
];
|
|
@@ -162,14 +162,16 @@ export function analyze(task) {
|
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
164
|
else {
|
|
165
|
+
// Topic matches are non-voting advice — a topical observation is not a
|
|
166
|
+
// found structural risk and must not move the verdict.
|
|
165
167
|
const matched = TOPIC_INSIGHTS.filter(t => t.pattern.test(task));
|
|
166
168
|
if (matched.length > 0) {
|
|
167
169
|
const top = matched.slice(0, 2);
|
|
168
170
|
vote = {
|
|
169
|
-
verdict: '
|
|
170
|
-
reason:
|
|
171
|
-
concerns:
|
|
172
|
-
|
|
171
|
+
verdict: 'approve',
|
|
172
|
+
reason: 'Architecture looks sound. No structural concerns identified.',
|
|
173
|
+
concerns: [],
|
|
174
|
+
advice: top.map(t => `${t.concern} → ${t.recommendation}`).join('\n'),
|
|
173
175
|
};
|
|
174
176
|
}
|
|
175
177
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-architect.js","sourceRoot":"","sources":["../../src/council/system-architect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,WAAW,GAAuE;IACtF;QACE,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,mEAAmE;QAC3E,cAAc,EAAE,oFAAoF;KACrG;IACD;QACE,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,oEAAoE;QAC5E,cAAc,EAAE,0EAA0E;KAC3F;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,MAAM,EAAE,qDAAqD;QAC7D,cAAc,EAAE,kEAAkE;KACnF;IACD;QACE,OAAO,EAAE,uEAAuE;QAChF,MAAM,EAAE,8DAA8D;QACtE,cAAc,EAAE,6DAA6D;KAC9E;IACD;QACE,OAAO,EAAE,6FAA6F;QACtG,MAAM,EAAE,6EAA6E;QACrF,cAAc,EAAE,8EAA8E;KAC/F;IACD;QACE,OAAO,EAAE,uEAAuE;QAChF,MAAM,EAAE,yEAAyE;QACjF,cAAc,EAAE,oFAAoF;KACrG;CACF,CAAC;AAEF,MAAM,UAAU,GAAwE;IACtF;QACE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,2EAA2E;QACpF,cAAc,EAAE,wCAAwC;KACzD;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE,sEAAsE;QAC/E,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,iEAAiE;QAC1E,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE,sEAAsE;QAC/E,cAAc,EAAE,wDAAwD;KACzE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,kEAAkE;QAC3E,cAAc,EAAE,yDAAyD;KAC1E;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,6EAA6E;QACtF,cAAc,EAAE,4EAA4E;KAC7F;IACD;QACE,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE,uEAAuE;QAChF,cAAc,EAAE,iEAAiE;KAClF;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,6EAA6E;QACtF,cAAc,EAAE,sDAAsD;KACvE;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,4EAA4E;KAC7F;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,0EAA0E,CAAC;AAE3F,MAAM,cAAc,GAAwE;IAC1F;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,sLAAsL;QAC/L,cAAc,EAAE,2KAA2K;KAC5L;IACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,iLAAiL;QAC1L,cAAc,EAAE,wKAAwK;KACzL;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,0JAA0J;QACnK,cAAc,EAAE,0KAA0K;KAC3L;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,OAAO,EAAE,8LAA8L;QACvM,cAAc,EAAE,gLAAgL;KACjM;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"system-architect.js","sourceRoot":"","sources":["../../src/council/system-architect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjF,MAAM,WAAW,GAAuE;IACtF;QACE,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,mEAAmE;QAC3E,cAAc,EAAE,oFAAoF;KACrG;IACD;QACE,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,oEAAoE;QAC5E,cAAc,EAAE,0EAA0E;KAC3F;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,MAAM,EAAE,qDAAqD;QAC7D,cAAc,EAAE,kEAAkE;KACnF;IACD;QACE,OAAO,EAAE,uEAAuE;QAChF,MAAM,EAAE,8DAA8D;QACtE,cAAc,EAAE,6DAA6D;KAC9E;IACD;QACE,OAAO,EAAE,6FAA6F;QACtG,MAAM,EAAE,6EAA6E;QACrF,cAAc,EAAE,8EAA8E;KAC/F;IACD;QACE,OAAO,EAAE,uEAAuE;QAChF,MAAM,EAAE,yEAAyE;QACjF,cAAc,EAAE,oFAAoF;KACrG;CACF,CAAC;AAEF,MAAM,UAAU,GAAwE;IACtF;QACE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,2EAA2E;QACpF,cAAc,EAAE,wCAAwC;KACzD;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE,sEAAsE;QAC/E,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,iEAAiE;QAC1E,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE,sEAAsE;QAC/E,cAAc,EAAE,wDAAwD;KACzE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,kEAAkE;QAC3E,cAAc,EAAE,yDAAyD;KAC1E;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,6EAA6E;QACtF,cAAc,EAAE,4EAA4E;KAC7F;IACD;QACE,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE,uEAAuE;QAChF,cAAc,EAAE,iEAAiE;KAClF;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,6EAA6E;QACtF,cAAc,EAAE,sDAAsD;KACvE;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,2DAA2D;KAC5E;IACD;QACE,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,+EAA+E;QACxF,cAAc,EAAE,4EAA4E;KAC7F;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,0EAA0E,CAAC;AAE3F,MAAM,cAAc,GAAwE;IAC1F;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,sLAAsL;QAC/L,cAAc,EAAE,2KAA2K;KAC5L;IACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,iLAAiL;QAC1L,cAAc,EAAE,wKAAwK;KACzL;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,0JAA0J;QACnK,cAAc,EAAE,0KAA0K;KAC3L;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,OAAO,EAAE,8LAA8L;QACvM,cAAc,EAAE,gLAAgL;KACjM;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,kHAAkH;QAC3H,cAAc,EAAE,wHAAwH;KACzI;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,OAAO,EAAE,+IAA+I;QACxJ,cAAc,EAAE,2JAA2J;KAC5K;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,OAAO,EAAE,yJAAyJ;QAClK,cAAc,EAAE,iKAAiK;KAClL;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,wJAAwJ;QACjK,cAAc,EAAE,4KAA4K;KAC7L;CACF,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,6CAA6C,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrG,CAAC;IAED,MAAM,MAAM,GAAsD,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,IAAe,CAAC;IAEpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG;YACL,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;YACxB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG;YACL,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,sBAAsB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAA4B;YAC1G,QAAQ;YACR,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,uDAAuD;QACvD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG;gBACL,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,8DAA8D;gBACtE,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,8DAA8D,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtH,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,sFAAsF;AACtF,MAAM,SAAS,GAAG,6GAA6G,CAAC;AAEhI,SAAS,mBAAmB,CAAC,IAAe,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI;QACjB,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,qEAAqE,IAAI,CAAC,OAAO,wGAAwG;QAC7M,CAAC,CAAC,8HAA8H,CAAC;IACnI,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/council/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/council/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/council/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE;QACL,QAAQ,EAAE,SAAS,CAAC;QACpB,EAAE,EAAE,SAAS,CAAC;QACd,SAAS,EAAE,SAAS,CAAC;QACrB,EAAE,EAAE,SAAS,CAAC;QACd,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,SAAS,CAAC;QACjB,QAAQ,EAAE,SAAS,CAAC;KACrB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux-designer.d.ts","sourceRoot":"","sources":["../../src/council/ux-designer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsE5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"ux-designer.d.ts","sourceRoot":"","sources":["../../src/council/ux-designer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsE5C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAoG/C"}
|
|
@@ -114,8 +114,8 @@ export function analyze(task) {
|
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
pattern: /tool.?count|tool.?list|discover/i,
|
|
117
|
-
concern: 'A large tool surface
|
|
118
|
-
recommendation: '
|
|
117
|
+
concern: 'A large tool surface requires users to read documentation before they can use the product. No tool is valuable if users can\'t discover it exists.',
|
|
118
|
+
recommendation: 'Provide a discovery entry point and make it the first thing users learn. Consider surfacing "most useful for your current task" recommendations automatically.',
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
121
|
pattern: /wait|loading|slow|latency|timeout/i,
|
|
@@ -141,14 +141,16 @@ export function analyze(task) {
|
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
144
|
+
// Topic matches are non-voting advice — a topical observation is not a
|
|
145
|
+
// found UX problem and must not move the verdict.
|
|
144
146
|
const topicMatched = TOPIC_INSIGHTS.filter(t => t.pattern.test(task));
|
|
145
147
|
if (topicMatched.length > 0) {
|
|
146
148
|
const top = topicMatched.slice(0, 2);
|
|
147
149
|
vote = {
|
|
148
|
-
verdict: '
|
|
149
|
-
reason:
|
|
150
|
-
concerns:
|
|
151
|
-
|
|
150
|
+
verdict: 'approve',
|
|
151
|
+
reason: 'UX looks solid. No user experience concerns identified.',
|
|
152
|
+
concerns: [],
|
|
153
|
+
advice: top.map(t => `${t.concern} → ${t.recommendation}`).join('\n'),
|
|
152
154
|
};
|
|
153
155
|
}
|
|
154
156
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux-designer.js","sourceRoot":"","sources":["../../src/council/ux-designer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ux-designer.js","sourceRoot":"","sources":["../../src/council/ux-designer.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/local.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare function recordToolCall(opts: {
|
|
|
15
15
|
duration_ms: number;
|
|
16
16
|
tokens_used?: number;
|
|
17
17
|
}): string;
|
|
18
|
+
export declare function normalizeProjectDir<T extends string | null | undefined>(p: T): T;
|
|
18
19
|
export type SaveSessionInput = {
|
|
19
20
|
platform?: string;
|
|
20
21
|
model?: string;
|
|
@@ -62,6 +63,7 @@ export type SaveCouncilOutcomeInput = {
|
|
|
62
63
|
security: string;
|
|
63
64
|
recommended: string;
|
|
64
65
|
duration_ms?: number;
|
|
66
|
+
project_dir?: string;
|
|
65
67
|
};
|
|
66
68
|
export declare function saveCouncilOutcome(input: SaveCouncilOutcomeInput): string;
|
|
67
69
|
export type StoreKnowledgeInput = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/memory/local.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6BhD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AACD,OAAO,EAAyC,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAqB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG7L,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAmCF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7E;AAOD,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED,wBAAgB,KAAK,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/memory/local.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/local.js
CHANGED
|
@@ -108,6 +108,7 @@ export function getDb() {
|
|
|
108
108
|
migrateCouncilColumns(_db);
|
|
109
109
|
migrateSessionColumns(_db);
|
|
110
110
|
migrateCouncilDuration(_db);
|
|
111
|
+
migrateCouncilProjectDir(_db);
|
|
111
112
|
migrateRateUsageTokens(_db);
|
|
112
113
|
migrateUsageLog(_db);
|
|
113
114
|
migrateSessionSaveType(_db);
|
|
@@ -116,11 +117,29 @@ export function getDb() {
|
|
|
116
117
|
migrateContextUsage(_db);
|
|
117
118
|
migrateRoutingFeedback(_db);
|
|
118
119
|
migrateToolTraceLog(_db);
|
|
120
|
+
migrateProjectDirCase(_db);
|
|
119
121
|
// Stamp the read-contract version so external readers (veto-vscode, statusline)
|
|
120
122
|
// can detect drift via `PRAGMA user_version`. See VETO_DB_SCHEMA_VERSION.
|
|
121
123
|
_db.exec(`PRAGMA user_version = ${VETO_DB_SCHEMA_VERSION}`);
|
|
122
124
|
return _db;
|
|
123
125
|
}
|
|
126
|
+
// Canonicalize drive-letter case on existing project_dir values so the VS Code
|
|
127
|
+
// extension (which queries with lowercase-drive fsPath, case-sensitively)
|
|
128
|
+
// matches historical rows written with an uppercase drive letter. Idempotent:
|
|
129
|
+
// the GLOB guard only matches uppercase-drive rows, so re-runs are no-ops.
|
|
130
|
+
// See normalizeProjectDir for the canonical form applied to new writes.
|
|
131
|
+
function migrateProjectDirCase(db) {
|
|
132
|
+
for (const table of ['sessions', 'knowledge_base', 'project_map', 'decision_constraints']) {
|
|
133
|
+
try {
|
|
134
|
+
db.exec(`UPDATE ${table} SET project_dir = lower(substr(project_dir, 1, 1)) || substr(project_dir, 2) ` +
|
|
135
|
+
`WHERE project_dir IS NOT NULL AND substr(project_dir, 2, 1) = ':' ` +
|
|
136
|
+
`AND substr(project_dir, 1, 1) GLOB '[A-Z]'`);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Table may not exist on an older DB shape — safe to skip.
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
124
143
|
// Creates tool_call_trace_log table for auditing and session replay (v1.8.0 migration)
|
|
125
144
|
function migrateToolTraceLog(db) {
|
|
126
145
|
db.exec(`
|
|
@@ -247,6 +266,24 @@ function migrateCouncilDuration(db) {
|
|
|
247
266
|
if (!names.has('duration_ms'))
|
|
248
267
|
db.exec('ALTER TABLE council_outcomes ADD COLUMN duration_ms INTEGER DEFAULT 0');
|
|
249
268
|
}
|
|
269
|
+
// Adds project_dir to council_outcomes so verdicts can be scoped per-project (the HUD
|
|
270
|
+
// and statusline previously showed the globally-newest verdict regardless of workspace).
|
|
271
|
+
// Idempotent: the column is only added once, and the backfill only touches rows that are
|
|
272
|
+
// still NULL, copying project_dir from the linked session where one exists. Task-only
|
|
273
|
+
// debates (no session_id) legitimately stay NULL and are treated as unscoped.
|
|
274
|
+
function migrateCouncilProjectDir(db) {
|
|
275
|
+
const cols = db.prepare('PRAGMA table_info(council_outcomes)').all();
|
|
276
|
+
const names = new Set(cols.map(c => c.name));
|
|
277
|
+
if (!names.has('project_dir'))
|
|
278
|
+
db.exec('ALTER TABLE council_outcomes ADD COLUMN project_dir TEXT');
|
|
279
|
+
db.exec(`
|
|
280
|
+
UPDATE council_outcomes
|
|
281
|
+
SET project_dir = (SELECT s.project_dir FROM sessions s WHERE s.id = council_outcomes.session_id)
|
|
282
|
+
WHERE project_dir IS NULL
|
|
283
|
+
AND session_id IS NOT NULL
|
|
284
|
+
AND EXISTS (SELECT 1 FROM sessions s WHERE s.id = council_outcomes.session_id AND s.project_dir IS NOT NULL)
|
|
285
|
+
`);
|
|
286
|
+
}
|
|
250
287
|
// Adds active_client, last_resumed_at, and connection_type columns if they don't exist
|
|
251
288
|
function migrateSessionColumns(db) {
|
|
252
289
|
const cols = db.prepare('PRAGMA table_info(sessions)').all();
|
|
@@ -284,6 +321,18 @@ function migrateCouncilOutcomes(db) {
|
|
|
284
321
|
ALTER TABLE _council_outcomes_new RENAME TO council_outcomes;
|
|
285
322
|
`);
|
|
286
323
|
}
|
|
324
|
+
// Canonicalize a project directory so writes and reads agree regardless of
|
|
325
|
+
// caller. The VS Code extension matches sessions/memory against
|
|
326
|
+
// `workspace.uri.fsPath`, which on Windows always lowercases the drive letter,
|
|
327
|
+
// and it compares case-sensitively. Callers (CLIs, process.cwd()) pass whatever
|
|
328
|
+
// case the user typed, so an uppercase drive letter silently breaks the
|
|
329
|
+
// extension's lookup. Lowercasing just the drive letter — fsPath preserves the
|
|
330
|
+
// rest of the path — keeps stored paths in the form the extension queries with.
|
|
331
|
+
export function normalizeProjectDir(p) {
|
|
332
|
+
if (!p)
|
|
333
|
+
return p;
|
|
334
|
+
return (/^[A-Za-z]:/.test(p) ? p[0].toLowerCase() + p.slice(1) : p);
|
|
335
|
+
}
|
|
287
336
|
export function saveSession(input) {
|
|
288
337
|
const db = getDb();
|
|
289
338
|
const id = randomUUID();
|
|
@@ -295,7 +344,7 @@ export function saveSession(input) {
|
|
|
295
344
|
db.prepare(`
|
|
296
345
|
INSERT INTO sessions (id, started_at, platform, connection_type, project_dir, summary, context, task_state, token_count, save_type, tags)
|
|
297
346
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
298
|
-
`).run(id, now, platform, connection_type, input.project_dir ?? null, input.summary ?? null, input.context ? JSON.stringify(input.context) : null, input.task_state ? JSON.stringify(input.task_state) : null, token_count, save_type, input.tags ? JSON.stringify(input.tags) : null);
|
|
347
|
+
`).run(id, now, platform, connection_type, normalizeProjectDir(input.project_dir) ?? null, input.summary ?? null, input.context ? JSON.stringify(input.context) : null, input.task_state ? JSON.stringify(input.task_state) : null, token_count, save_type, input.tags ? JSON.stringify(input.tags) : null);
|
|
299
348
|
// Record usage event
|
|
300
349
|
db.prepare(`
|
|
301
350
|
INSERT INTO usage_events (id, session_id, platform, connection_type, tokens, event_type, recorded_at)
|
|
@@ -365,9 +414,9 @@ export function saveCouncilOutcome(input) {
|
|
|
365
414
|
const now = new Date().toISOString();
|
|
366
415
|
db.prepare(`
|
|
367
416
|
INSERT INTO council_outcomes
|
|
368
|
-
(id, session_id, task, verdict, lead_dev, pm, architect, ux, devil, legal, security, recommended, debated_at, duration_ms)
|
|
369
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
370
|
-
`).run(id, input.session_id ?? null, input.task, input.verdict, input.lead_dev, input.pm, input.architect, input.ux, input.devil, input.legal, input.security, input.recommended, now, input.duration_ms ?? 0);
|
|
417
|
+
(id, session_id, task, verdict, lead_dev, pm, architect, ux, devil, legal, security, recommended, debated_at, duration_ms, project_dir)
|
|
418
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
419
|
+
`).run(id, input.session_id ?? null, input.task, input.verdict, input.lead_dev, input.pm, input.architect, input.ux, input.devil, input.legal, input.security, input.recommended, now, input.duration_ms ?? 0, normalizeProjectDir(input.project_dir) ?? null);
|
|
371
420
|
return id;
|
|
372
421
|
}
|
|
373
422
|
export function storeKnowledge(input) {
|
|
@@ -377,7 +426,7 @@ export function storeKnowledge(input) {
|
|
|
377
426
|
db.prepare(`
|
|
378
427
|
INSERT INTO knowledge_base (id, type, title, content, tags, project_dir, session_id, relevance, created_at, updated_at)
|
|
379
428
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
380
|
-
`).run(id, input.type ?? 'solution', input.title, input.content, input.tags ? JSON.stringify(input.tags) : null, input.project_dir ?? null, input.session_id ?? null, input.relevance ?? 1.0, now, now);
|
|
429
|
+
`).run(id, input.type ?? 'solution', input.title, input.content, input.tags ? JSON.stringify(input.tags) : null, normalizeProjectDir(input.project_dir) ?? null, input.session_id ?? null, input.relevance ?? 1.0, now, now);
|
|
381
430
|
return id;
|
|
382
431
|
}
|
|
383
432
|
export function searchKnowledge(opts) {
|
|
@@ -396,7 +445,7 @@ export function searchKnowledge(opts) {
|
|
|
396
445
|
}
|
|
397
446
|
if (opts.project_dir) {
|
|
398
447
|
conditions.push('project_dir = ?');
|
|
399
|
-
params.push(opts.project_dir);
|
|
448
|
+
params.push(normalizeProjectDir(opts.project_dir));
|
|
400
449
|
}
|
|
401
450
|
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
402
451
|
const rows = db.prepare(`SELECT * FROM knowledge_base ${where} ORDER BY relevance DESC, accessed_count DESC, created_at DESC LIMIT ?`).all(...params, limit);
|
|
@@ -415,7 +464,8 @@ export function deleteKnowledge(id) {
|
|
|
415
464
|
export function updateProjectMap(input) {
|
|
416
465
|
const db = getDb();
|
|
417
466
|
const now = new Date().toISOString();
|
|
418
|
-
const
|
|
467
|
+
const project_dir = normalizeProjectDir(input.project_dir);
|
|
468
|
+
const existing = db.prepare('SELECT id FROM project_map WHERE project_dir = ?').get(project_dir);
|
|
419
469
|
const structure = typeof input.structure === 'string' ? input.structure : JSON.stringify(input.structure);
|
|
420
470
|
const key_modules = input.key_modules ? JSON.stringify(input.key_modules) : null;
|
|
421
471
|
const tech_stack = input.tech_stack ? JSON.stringify(input.tech_stack) : null;
|
|
@@ -423,19 +473,19 @@ export function updateProjectMap(input) {
|
|
|
423
473
|
db.prepare(`
|
|
424
474
|
UPDATE project_map SET structure = ?, key_modules = ?, tech_stack = ?, updated_at = ?
|
|
425
475
|
WHERE project_dir = ?
|
|
426
|
-
`).run(structure, key_modules, tech_stack, now,
|
|
476
|
+
`).run(structure, key_modules, tech_stack, now, project_dir);
|
|
427
477
|
return existing.id;
|
|
428
478
|
}
|
|
429
479
|
const id = randomUUID();
|
|
430
480
|
db.prepare(`
|
|
431
481
|
INSERT INTO project_map (id, project_dir, structure, key_modules, tech_stack, updated_at)
|
|
432
482
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
433
|
-
`).run(id,
|
|
483
|
+
`).run(id, project_dir, structure, key_modules, tech_stack, now);
|
|
434
484
|
return id;
|
|
435
485
|
}
|
|
436
486
|
export function getProjectMap(project_dir) {
|
|
437
487
|
const db = getDb();
|
|
438
|
-
return db.prepare('SELECT * FROM project_map WHERE project_dir = ?').get(project_dir);
|
|
488
|
+
return db.prepare('SELECT * FROM project_map WHERE project_dir = ?').get(normalizeProjectDir(project_dir));
|
|
439
489
|
}
|
|
440
490
|
export function upsertPattern(input) {
|
|
441
491
|
const db = getDb();
|