From d7f5a09c925cb96a6adb8e68149e4e5b57015995 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:01:57 +0000 Subject: [PATCH 1/4] Initial plan From 593cc206c1de64b74f2979c81b1fd7be67d5bcbc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 18:01:20 +0000 Subject: [PATCH 2/4] Fix syntax corruption - remove extra braces, fix imports, repair malformed functions Co-authored-by: MightyPrytanis <219587333+MightyPrytanis@users.noreply.github.com> --- Cyrano/src/engines/base-engine.ts | 7 ------- Cyrano/src/engines/forecast/forecast-engine.ts | 8 +------- .../engines/goodcounsel/goodcounsel-engine.ts | 9 +-------- Cyrano/src/engines/mae/mae-engine.ts | 5 ----- Cyrano/src/engines/mae/tools/ai-orchestrator.ts | 9 --------- Cyrano/src/engines/potemkin/potemkin-engine.ts | 5 ----- Cyrano/src/integrations/clio-oauth.ts | 5 ----- Cyrano/src/mcp-server.ts | 8 -------- Cyrano/src/middleware/matter-isolation.ts | 5 ----- Cyrano/src/middleware/mcp-security.ts | 11 ----------- .../modules/forecast/formulas/qdro-formulas.ts | 3 --- .../modules/forecast/formulas/tax-formulas.ts | 3 --- Cyrano/src/services/ai-service.ts | 2 -- Cyrano/src/services/attorney-verification.ts | 3 --- Cyrano/src/services/encryption-service.ts | 1 - Cyrano/src/services/mcr-compliance-service.ts | 4 +--- Cyrano/src/services/micourt-service.ts | 3 --- Cyrano/src/services/rag-service.ts | 1 - Cyrano/src/services/sensitive-data-encryption.ts | 11 +---------- Cyrano/src/services/time-estimation-engine.ts | 2 +- Cyrano/src/skills/skill-loader.ts | 7 ------- Cyrano/src/tools/arkiver-integrity-test.ts | 10 +++------- Cyrano/src/tools/calendar-artifact-collector.ts | 11 +---------- Cyrano/src/tools/chronometric-module.ts | 5 +---- Cyrano/src/tools/cyrano-pathfinder.ts | 13 +------------ Cyrano/src/tools/document-artifact-collector.ts | 7 +------ Cyrano/src/tools/document-processor.ts | 11 ----------- Cyrano/src/tools/dupe-check.ts | 10 ---------- Cyrano/src/tools/email-artifact-collector.ts | 12 +----------- Cyrano/src/tools/gap-identifier.ts | 8 +------- Cyrano/src/tools/mae-engine.ts | 7 +------ Cyrano/src/tools/pre-fill-logic.ts | 7 +------ Cyrano/src/tools/provenance-tracker.ts | 6 +----- Cyrano/src/tools/recollection-support.ts | 5 +---- .../src/tools/verification/citation-checker.ts | 1 + .../src/tools/verification/citation-formatter.ts | 4 +--- Cyrano/src/tools/verification/claim-extractor.ts | 1 - .../tools/verification/consistency-checker.ts | 3 --- Cyrano/src/tools/verification/source-verifier.ts | 5 ----- .../e2e-manual/security-integration.test.ts | 13 +------------ .../integration/attorney-verification.test.ts | 2 +- Cyrano/tests/integration/clio-oauth.test.ts | 7 ++----- Cyrano/tests/integration/mae-workflows.test.ts | 9 +-------- .../tests/integration/matter-isolation.test.ts | 6 +++--- Cyrano/tests/integration/mcp-security.test.ts | 2 +- Cyrano/tests/integration/time-estimation.test.ts | 6 +++--- Cyrano/tests/mcp-compliance/http-bridge.test.ts | 10 ++-------- .../performance/http-bridge-startup.test.ts | 16 +--------------- Cyrano/tests/routes/onboarding.test.ts | 14 ++------------ .../security/authentication-middleware.test.ts | 5 +---- Cyrano/tests/services/ethics-enforcement.test.ts | 5 +---- Cyrano/tests/services/mcr-compliance.test.ts | 4 +--- Cyrano/tests/tools/document-drafter.test.ts | 2 +- .../tools/potemkin-tools-integration.test.ts | 5 +---- 54 files changed, 42 insertions(+), 302 deletions(-) diff --git a/Cyrano/src/engines/base-engine.ts b/Cyrano/src/engines/base-engine.ts index 90033bac..55e7be80 100644 --- a/Cyrano/src/engines/base-engine.ts +++ b/Cyrano/src/engines/base-engine.ts @@ -710,11 +710,4 @@ export abstract class BaseEngine { } -} -} -} -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/engines/forecast/forecast-engine.ts b/Cyrano/src/engines/forecast/forecast-engine.ts index 2ecca4a8..7b8b24b1 100644 --- a/Cyrano/src/engines/forecast/forecast-engine.ts +++ b/Cyrano/src/engines/forecast/forecast-engine.ts @@ -537,10 +537,4 @@ export class ForecastEngine extends BaseEngine { } // Export singleton instance -export const forecastEngine = new ForecastEngine(); - - -} -} -} -} \ No newline at end of file +export const forecastEngine = new ForecastEngine(); \ No newline at end of file diff --git a/Cyrano/src/engines/goodcounsel/goodcounsel-engine.ts b/Cyrano/src/engines/goodcounsel/goodcounsel-engine.ts index a86081b7..503f7927 100644 --- a/Cyrano/src/engines/goodcounsel/goodcounsel-engine.ts +++ b/Cyrano/src/engines/goodcounsel/goodcounsel-engine.ts @@ -550,11 +550,4 @@ export class GoodcounselEngine extends BaseEngine { } // Export singleton instance -export const goodcounselEngine = new GoodcounselEngine(); - -} -} -} -} -} -} \ No newline at end of file +export const goodcounselEngine = new GoodcounselEngine(); \ No newline at end of file diff --git a/Cyrano/src/engines/mae/mae-engine.ts b/Cyrano/src/engines/mae/mae-engine.ts index 4cad8b77..12bc0cec 100644 --- a/Cyrano/src/engines/mae/mae-engine.ts +++ b/Cyrano/src/engines/mae/mae-engine.ts @@ -1910,9 +1910,4 @@ export class MaeEngine extends BaseEngine { // Export singleton instance export const maeEngine = new MaeEngine(); -} -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/engines/mae/tools/ai-orchestrator.ts b/Cyrano/src/engines/mae/tools/ai-orchestrator.ts index ea93ac56..62e6b243 100644 --- a/Cyrano/src/engines/mae/tools/ai-orchestrator.ts +++ b/Cyrano/src/engines/mae/tools/ai-orchestrator.ts @@ -549,15 +549,6 @@ export const aiOrchestrator = new (class extends BaseTool { return 'low'; } })(); - -) -} -} -} -} -) -} -} } } ) diff --git a/Cyrano/src/engines/potemkin/potemkin-engine.ts b/Cyrano/src/engines/potemkin/potemkin-engine.ts index 92a54669..cc619e6b 100644 --- a/Cyrano/src/engines/potemkin/potemkin-engine.ts +++ b/Cyrano/src/engines/potemkin/potemkin-engine.ts @@ -542,9 +542,4 @@ export class PotemkinEngine extends BaseEngine { // Export singleton instance export const potemkinEngine = new PotemkinEngine(); -} -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/integrations/clio-oauth.ts b/Cyrano/src/integrations/clio-oauth.ts index c8bed78c..54ebaecd 100644 --- a/Cyrano/src/integrations/clio-oauth.ts +++ b/Cyrano/src/integrations/clio-oauth.ts @@ -308,9 +308,4 @@ class OAuthStateStore { // Singleton state store export const oauthStateStore = new OAuthStateStore(); -} -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/mcp-server.ts b/Cyrano/src/mcp-server.ts index dfa969cd..1daa2f83 100644 --- a/Cyrano/src/mcp-server.ts +++ b/Cyrano/src/mcp-server.ts @@ -582,12 +582,4 @@ export { CyranoMCPServer }; if (import.meta.url === `file://${process.argv[1]}`) { const server = new CyranoMCPServer(); server.run().catch(console.error); -} - -} -} -} -} -) -) } \ No newline at end of file diff --git a/Cyrano/src/middleware/matter-isolation.ts b/Cyrano/src/middleware/matter-isolation.ts index 0c71b797..c2a612c1 100644 --- a/Cyrano/src/middleware/matter-isolation.ts +++ b/Cyrano/src/middleware/matter-isolation.ts @@ -210,9 +210,4 @@ export function extractMatterId(data: any): string | null { return data.matterId || data.matter_id || data.matter?.id || null; } return null; -} - -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/middleware/mcp-security.ts b/Cyrano/src/middleware/mcp-security.ts index e0c2e322..f3e90053 100644 --- a/Cyrano/src/middleware/mcp-security.ts +++ b/Cyrano/src/middleware/mcp-security.ts @@ -253,16 +253,5 @@ export function logScopeElevation( { fromScopes, toScopes, reason } ); } - -} -} -} -} -} -) -} -} -} -} } ) \ No newline at end of file diff --git a/Cyrano/src/modules/forecast/formulas/qdro-formulas.ts b/Cyrano/src/modules/forecast/formulas/qdro-formulas.ts index cce6b395..799c6040 100644 --- a/Cyrano/src/modules/forecast/formulas/qdro-formulas.ts +++ b/Cyrano/src/modules/forecast/formulas/qdro-formulas.ts @@ -149,7 +149,4 @@ export function calculateQDRO(input: QDROInput): QDROCalculation { } -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/modules/forecast/formulas/tax-formulas.ts b/Cyrano/src/modules/forecast/formulas/tax-formulas.ts index 3ea035bd..54468f9b 100644 --- a/Cyrano/src/modules/forecast/formulas/tax-formulas.ts +++ b/Cyrano/src/modules/forecast/formulas/tax-formulas.ts @@ -237,7 +237,4 @@ export function calculateTax(input: TaxInput): TaxCalculation { estimatedWithholding: input.estimatedWithholding || 0, refundOrBalance, }; -} - - } \ No newline at end of file diff --git a/Cyrano/src/services/ai-service.ts b/Cyrano/src/services/ai-service.ts index 117d6e66..4bead7ff 100644 --- a/Cyrano/src/services/ai-service.ts +++ b/Cyrano/src/services/ai-service.ts @@ -530,8 +530,6 @@ export class AIService { export const aiService = new AIService(); -} -} } ) } diff --git a/Cyrano/src/services/attorney-verification.ts b/Cyrano/src/services/attorney-verification.ts index efd31fe6..c88c3edb 100644 --- a/Cyrano/src/services/attorney-verification.ts +++ b/Cyrano/src/services/attorney-verification.ts @@ -248,7 +248,4 @@ export function getVerificationRequirement(workProductType: WorkProductType): Ve */ export function getReviewIntensity(workProductType: WorkProductType): ReviewIntensity { return VERIFICATION_REQUIREMENTS[workProductType].intensity; -} - -} } \ No newline at end of file diff --git a/Cyrano/src/services/encryption-service.ts b/Cyrano/src/services/encryption-service.ts index e8b42fe0..cdfbc51c 100644 --- a/Cyrano/src/services/encryption-service.ts +++ b/Cyrano/src/services/encryption-service.ts @@ -238,7 +238,6 @@ export const encryption = { }; -} } ) } diff --git a/Cyrano/src/services/mcr-compliance-service.ts b/Cyrano/src/services/mcr-compliance-service.ts index db447a87..6448f84c 100644 --- a/Cyrano/src/services/mcr-compliance-service.ts +++ b/Cyrano/src/services/mcr-compliance-service.ts @@ -379,6 +379,4 @@ export class MCRComplianceService { } // Export singleton instance -export const mcrComplianceService = new MCRComplianceService(); - -} \ No newline at end of file +export const mcrComplianceService = new MCRComplianceService(); \ No newline at end of file diff --git a/Cyrano/src/services/micourt-service.ts b/Cyrano/src/services/micourt-service.ts index 97457f01..ef35c2fd 100644 --- a/Cyrano/src/services/micourt-service.ts +++ b/Cyrano/src/services/micourt-service.ts @@ -547,7 +547,4 @@ export class MiCourtService { } } -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/services/rag-service.ts b/Cyrano/src/services/rag-service.ts index 153c59ad..fa7f0f35 100644 --- a/Cyrano/src/services/rag-service.ts +++ b/Cyrano/src/services/rag-service.ts @@ -495,5 +495,4 @@ export class RAGService { } } -} } \ No newline at end of file diff --git a/Cyrano/src/services/sensitive-data-encryption.ts b/Cyrano/src/services/sensitive-data-encryption.ts index 9f00bf3c..f03c89e0 100644 --- a/Cyrano/src/services/sensitive-data-encryption.ts +++ b/Cyrano/src/services/sensitive-data-encryption.ts @@ -137,13 +137,4 @@ export function decryptSensitiveFields>(data: T): } return decrypted as T; -} - -} -) -} -) -} -) -} -) \ No newline at end of file +} \ No newline at end of file diff --git a/Cyrano/src/services/time-estimation-engine.ts b/Cyrano/src/services/time-estimation-engine.ts index c0961732..e59cde29 100644 --- a/Cyrano/src/services/time-estimation-engine.ts +++ b/Cyrano/src/services/time-estimation-engine.ts @@ -137,6 +137,7 @@ Events (indexed):\n${events.map((e, i) => `${i}. [${e.source}] ${e.description | } return events; + } private findNormative(ruleSet: NormativeRule[] | undefined, task: string): number | undefined { if (!ruleSet) return undefined; @@ -310,7 +311,6 @@ Events (indexed):\n${events.map((e, i) => `${i}. [${e.source}] ${e.description | } } -} } ) } \ No newline at end of file diff --git a/Cyrano/src/skills/skill-loader.ts b/Cyrano/src/skills/skill-loader.ts index fcdf78fd..fbefd861 100644 --- a/Cyrano/src/skills/skill-loader.ts +++ b/Cyrano/src/skills/skill-loader.ts @@ -192,11 +192,4 @@ export class SkillLoader { } return results; } -} - - -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/tools/arkiver-integrity-test.ts b/Cyrano/src/tools/arkiver-integrity-test.ts index f86e823f..5db2bddd 100644 --- a/Cyrano/src/tools/arkiver-integrity-test.ts +++ b/Cyrano/src/tools/arkiver-integrity-test.ts @@ -325,14 +325,10 @@ export class ArkiverIntegrityTestTool extends BaseTool { `Integrity test failed: ${error instanceof Error ? error.message : String(error)}` ); } -export const arkiverIntegrityTestTool = new ArkiverIntegrityTestTool(); - - -} -} -} + } } -) + +export const arkiverIntegrityTestTool = new ArkiverIntegrityTestTool(); } } ) diff --git a/Cyrano/src/tools/calendar-artifact-collector.ts b/Cyrano/src/tools/calendar-artifact-collector.ts index d4bb907a..7642ef8f 100644 --- a/Cyrano/src/tools/calendar-artifact-collector.ts +++ b/Cyrano/src/tools/calendar-artifact-collector.ts @@ -152,13 +152,4 @@ export const calendarArtifactCollector = new (class extends BaseTool { ); } } -})(); - -) -} -} -} -} -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/chronometric-module.ts b/Cyrano/src/tools/chronometric-module.ts index 7fb6a1f3..de513eb7 100644 --- a/Cyrano/src/tools/chronometric-module.ts +++ b/Cyrano/src/tools/chronometric-module.ts @@ -120,7 +120,4 @@ export const chronometricModuleTool = new (class extends BaseTool { ); } } -})(); - -) -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/cyrano-pathfinder.ts b/Cyrano/src/tools/cyrano-pathfinder.ts index 22979312..02041206 100644 --- a/Cyrano/src/tools/cyrano-pathfinder.ts +++ b/Cyrano/src/tools/cyrano-pathfinder.ts @@ -572,17 +572,6 @@ Current mode: ${mode === 'execute' ? 'EXECUTE (can call tools)' : 'GUIDE (Q&A on return stats; } -}(); - -) -} -} -} -} -) -) -} -} -} +})(); } ) \ No newline at end of file diff --git a/Cyrano/src/tools/document-artifact-collector.ts b/Cyrano/src/tools/document-artifact-collector.ts index 2fe65f21..c76f364b 100644 --- a/Cyrano/src/tools/document-artifact-collector.ts +++ b/Cyrano/src/tools/document-artifact-collector.ts @@ -125,9 +125,4 @@ export const documentArtifactCollector = new (class extends BaseTool { if (lower.includes('filing') || lower.includes('filed')) return 'filing'; return 'other'; } -})(); - -) -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/document-processor.ts b/Cyrano/src/tools/document-processor.ts index f073259c..517fb589 100644 --- a/Cyrano/src/tools/document-processor.ts +++ b/Cyrano/src/tools/document-processor.ts @@ -750,17 +750,6 @@ export const documentProcessor: BaseTool = new (class extends BaseTool { }; } })(); - - -) -} -} -} -} -} -} -} -} } } } diff --git a/Cyrano/src/tools/dupe-check.ts b/Cyrano/src/tools/dupe-check.ts index 21ae4e1b..8504a174 100644 --- a/Cyrano/src/tools/dupe-check.ts +++ b/Cyrano/src/tools/dupe-check.ts @@ -195,16 +195,6 @@ export const dupeCheck = new (class extends BaseTool { } } })(); - -) -} -} -} -} -) -} -) -} } } } diff --git a/Cyrano/src/tools/email-artifact-collector.ts b/Cyrano/src/tools/email-artifact-collector.ts index 53e7ffcc..feabc3f7 100644 --- a/Cyrano/src/tools/email-artifact-collector.ts +++ b/Cyrano/src/tools/email-artifact-collector.ts @@ -277,14 +277,4 @@ export const emailArtifactCollector: BaseTool = new (class extends BaseTool { return email; }); } -})(); - -) -} -} -} -} -} -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/gap-identifier.ts b/Cyrano/src/tools/gap-identifier.ts index 77623867..50db5bf0 100644 --- a/Cyrano/src/tools/gap-identifier.ts +++ b/Cyrano/src/tools/gap-identifier.ts @@ -188,10 +188,4 @@ export const gapIdentifier = new (class extends BaseTool { ); } } -})(); - -) -} -} -} -) \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/mae-engine.ts b/Cyrano/src/tools/mae-engine.ts index 54217a19..15c9dc53 100644 --- a/Cyrano/src/tools/mae-engine.ts +++ b/Cyrano/src/tools/mae-engine.ts @@ -104,9 +104,4 @@ export const maeEngineTool = new (class extends BaseTool { ); } } -})(); - -) -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/pre-fill-logic.ts b/Cyrano/src/tools/pre-fill-logic.ts index 6f95920b..3cc35cfc 100644 --- a/Cyrano/src/tools/pre-fill-logic.ts +++ b/Cyrano/src/tools/pre-fill-logic.ts @@ -141,9 +141,4 @@ export const preFillLogic = new (class extends BaseTool { ); } } -})(); - -) -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/provenance-tracker.ts b/Cyrano/src/tools/provenance-tracker.ts index 9f4bc167..078d9839 100644 --- a/Cyrano/src/tools/provenance-tracker.ts +++ b/Cyrano/src/tools/provenance-tracker.ts @@ -165,8 +165,4 @@ export const provenanceTracker = new (class extends BaseTool { ); } } -})(); - -) -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/recollection-support.ts b/Cyrano/src/tools/recollection-support.ts index 9a8cfa84..ca7d5c59 100644 --- a/Cyrano/src/tools/recollection-support.ts +++ b/Cyrano/src/tools/recollection-support.ts @@ -135,7 +135,4 @@ export const recollectionSupport = new (class extends BaseTool { ); } } -})(); - -) -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/verification/citation-checker.ts b/Cyrano/src/tools/verification/citation-checker.ts index 9374d230..cf7f726c 100644 --- a/Cyrano/src/tools/verification/citation-checker.ts +++ b/Cyrano/src/tools/verification/citation-checker.ts @@ -332,6 +332,7 @@ export class CitationChecker extends BaseTool { } return null; + } /** * Validate citation format diff --git a/Cyrano/src/tools/verification/citation-formatter.ts b/Cyrano/src/tools/verification/citation-formatter.ts index d6730136..183c685c 100644 --- a/Cyrano/src/tools/verification/citation-formatter.ts +++ b/Cyrano/src/tools/verification/citation-formatter.ts @@ -646,6 +646,7 @@ export class CitationFormatter extends BaseTool { ); } } +} /** * Default instance @@ -657,7 +658,4 @@ export const citationFormatter = new CitationFormatter(); */ export async function handleCitationFormatter(params: any): Promise { return await citationFormatter.formatCitations(params); -} - - } \ No newline at end of file diff --git a/Cyrano/src/tools/verification/claim-extractor.ts b/Cyrano/src/tools/verification/claim-extractor.ts index f95ed45d..3fa10d60 100644 --- a/Cyrano/src/tools/verification/claim-extractor.ts +++ b/Cyrano/src/tools/verification/claim-extractor.ts @@ -520,7 +520,6 @@ export async function handleClaimExtractor(params: any): Promise { expect(response.headers.has('X-Powered-By')).toBe(false); }); }); -}); - -) -} -) -} -) -} -) -} -) -} \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/integration/attorney-verification.test.ts b/Cyrano/tests/integration/attorney-verification.test.ts index 261756fd..db02e001 100644 --- a/Cyrano/tests/integration/attorney-verification.test.ts +++ b/Cyrano/tests/integration/attorney-verification.test.ts @@ -9,7 +9,7 @@ * Track Delta: Tests attorney verification workflows */ -import { describe, it, expect, beforeEach } from '@jest/globals'; +import { describe, it, expect, beforeEach } from 'vitest'; import { attorneyVerificationStore, requireAttorneyVerification, diff --git a/Cyrano/tests/integration/clio-oauth.test.ts b/Cyrano/tests/integration/clio-oauth.test.ts index d003fb9e..d16a55a2 100644 --- a/Cyrano/tests/integration/clio-oauth.test.ts +++ b/Cyrano/tests/integration/clio-oauth.test.ts @@ -9,7 +9,7 @@ * Track Alpha: Tests OAuth infrastructure ready for credential drop-in */ -import { describe, it, expect, beforeEach, afterEach } from '@jest/globals'; +import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { validateClioCredentials, generateOAuthState, @@ -164,7 +164,4 @@ describe('Clio OAuth Integration (Track Alpha)', () => { process.env.NODE_ENV = 'test'; }); }); -}); - -) -} \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/integration/mae-workflows.test.ts b/Cyrano/tests/integration/mae-workflows.test.ts index 979167ba..9d6f764c 100644 --- a/Cyrano/tests/integration/mae-workflows.test.ts +++ b/Cyrano/tests/integration/mae-workflows.test.ts @@ -268,11 +268,4 @@ describe('MAE Workflow Integration Tests', () => { expect(result).toBeDefined(); }); }); -}); - -) -} -) -} -) -} \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/integration/matter-isolation.test.ts b/Cyrano/tests/integration/matter-isolation.test.ts index 70c6c8e2..c5f59e75 100644 --- a/Cyrano/tests/integration/matter-isolation.test.ts +++ b/Cyrano/tests/integration/matter-isolation.test.ts @@ -9,7 +9,7 @@ * Track Beta: Tests matter-based data isolation */ -import { describe, it, expect, beforeEach } from '@jest/globals'; +import { describe, it, expect, beforeEach } from 'vitest'; import { matterIsolationStore, enforceMatterIsolation, @@ -21,8 +21,8 @@ import { describe('Matter Isolation Integration (Track Beta)', () => { beforeEach(() => { // Clear stores before each test - matterIsolationStore.clearMatterData = jest.fn(); - matterIsolationStore.clearAgentContext = jest.fn(); + matterIsolationStore.clearMatterData = vi.fn(); + matterIsolationStore.clearAgentContext = vi.fn(); }); describe('Matter Data Storage', () => { diff --git a/Cyrano/tests/integration/mcp-security.test.ts b/Cyrano/tests/integration/mcp-security.test.ts index 7f265903..605c36ab 100644 --- a/Cyrano/tests/integration/mcp-security.test.ts +++ b/Cyrano/tests/integration/mcp-security.test.ts @@ -9,7 +9,7 @@ * Track Gamma: Tests token validation and scope minimization */ -import { describe, it, expect, beforeEach } from '@jest/globals'; +import { describe, it, expect, beforeEach } from 'vitest'; import jwt from 'jsonwebtoken'; import { validateTokenAudience, diff --git a/Cyrano/tests/integration/time-estimation.test.ts b/Cyrano/tests/integration/time-estimation.test.ts index 6e2fd9ef..2101dee2 100644 --- a/Cyrano/tests/integration/time-estimation.test.ts +++ b/Cyrano/tests/integration/time-estimation.test.ts @@ -9,17 +9,17 @@ * Track Epsilon: Tests time estimation engine (MRPC compliant) */ -import { describe, it, expect, beforeEach, jest } from '@jest/globals'; +import { describe, it, expect, beforeEach, vi } from 'vitest'; import { TimeEstimationEngine, WorkEvent, TimeEstimationPolicy } from '../../src/services/time-estimation-engine.js'; import { AIService } from '../../src/services/ai-service.js'; describe('Time Estimation Integration (Track Epsilon)', () => { let engine: TimeEstimationEngine; - let mockAIService: jest.Mocked; + let mockAIService: ReturnType; beforeEach(() => { mockAIService = { - call: jest.fn() + call: vi.fn() } as any; engine = new TimeEstimationEngine(mockAIService as any); }); diff --git a/Cyrano/tests/mcp-compliance/http-bridge.test.ts b/Cyrano/tests/mcp-compliance/http-bridge.test.ts index c2e9296d..d0ef5bbc 100644 --- a/Cyrano/tests/mcp-compliance/http-bridge.test.ts +++ b/Cyrano/tests/mcp-compliance/http-bridge.test.ts @@ -68,7 +68,7 @@ describe('MCP HTTP Bridge Compliance', () => { console.warn('Could not get CSRF token:', error); // Continue without CSRF token - tests may fail but we'll see the actual error } - }; + }); afterAll(async () => { // Clean up: close server @@ -299,10 +299,4 @@ describe('MCP HTTP Bridge Compliance', () => { * 4. Kill the server in afterAll * * For now, these tests can be run manually with: npm run http - */ - - -) -} -) -} \ No newline at end of file + */ \ No newline at end of file diff --git a/Cyrano/tests/performance/http-bridge-startup.test.ts b/Cyrano/tests/performance/http-bridge-startup.test.ts index 1f47de8f..43255dd6 100644 --- a/Cyrano/tests/performance/http-bridge-startup.test.ts +++ b/Cyrano/tests/performance/http-bridge-startup.test.ts @@ -104,18 +104,4 @@ describe('HTTP Bridge Startup Performance', () => { expect(response.status).toBeGreaterThanOrEqual(400); expect(response.status).toBeLessThan(600); }); -}); - -) -} -) -) -} -) -} -) -) -} -) -} -) \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/routes/onboarding.test.ts b/Cyrano/tests/routes/onboarding.test.ts index 5d78156b..3ba87dcd 100644 --- a/Cyrano/tests/routes/onboarding.test.ts +++ b/Cyrano/tests/routes/onboarding.test.ts @@ -61,8 +61,7 @@ describe('Onboarding API Integration Tests', () => { resolve(); }, 200); }); - ; - + }); server!.on('error', (err: any) => { clearTimeout(timeout); if (err.code === 'EADDRINUSE') { @@ -75,7 +74,7 @@ describe('Onboarding API Integration Tests', () => { // Additional wait to ensure server is fully ready await new Promise(resolve => setTimeout(resolve, 200)); - }; + }); afterAll(async () => { if (server) { @@ -500,15 +499,6 @@ describe('Onboarding API Integration Tests', () => { }); }); }); - -) -} -) -} -) -} -) -} ) } ) diff --git a/Cyrano/tests/security/authentication-middleware.test.ts b/Cyrano/tests/security/authentication-middleware.test.ts index 9b4a5ad7..2a6e37c3 100644 --- a/Cyrano/tests/security/authentication-middleware.test.ts +++ b/Cyrano/tests/security/authentication-middleware.test.ts @@ -278,7 +278,4 @@ describe('Authentication Middleware', () => { expect(next).not.toHaveBeenCalled(); }); }); -}); - -) -} \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/services/ethics-enforcement.test.ts b/Cyrano/tests/services/ethics-enforcement.test.ts index 4088b3ae..3895eba7 100644 --- a/Cyrano/tests/services/ethics-enforcement.test.ts +++ b/Cyrano/tests/services/ethics-enforcement.test.ts @@ -305,7 +305,4 @@ describe('Ethics Enforcement - AI Service Layer', () => { vi.restoreAllMocks(); }); }); -}); - -) -} \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/services/mcr-compliance.test.ts b/Cyrano/tests/services/mcr-compliance.test.ts index f8d6a6c3..8639706e 100644 --- a/Cyrano/tests/services/mcr-compliance.test.ts +++ b/Cyrano/tests/services/mcr-compliance.test.ts @@ -168,6 +168,4 @@ Citation: 123 Mich App 456`; expect(result.citations).toBeDefined(); }); }); -}); - -) \ No newline at end of file +}); \ No newline at end of file diff --git a/Cyrano/tests/tools/document-drafter.test.ts b/Cyrano/tests/tools/document-drafter.test.ts index 308a07ca..e6281190 100644 --- a/Cyrano/tests/tools/document-drafter.test.ts +++ b/Cyrano/tests/tools/document-drafter.test.ts @@ -62,7 +62,7 @@ describe('Document Drafter Tool', () => { } }); } - }; + }); describe('Format Support', () => { it('should generate docx format by default', async () => { diff --git a/Cyrano/tests/tools/potemkin-tools-integration.test.ts b/Cyrano/tests/tools/potemkin-tools-integration.test.ts index 73cb2472..4695cd11 100644 --- a/Cyrano/tests/tools/potemkin-tools-integration.test.ts +++ b/Cyrano/tests/tools/potemkin-tools-integration.test.ts @@ -523,7 +523,4 @@ describe('Potemkin Tools Integration', () => { } }); }); -}); - -) -} \ No newline at end of file +}); \ No newline at end of file From 84a98701a6074cfdaa3592fd154cadb36d21edee Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 21:34:54 +0000 Subject: [PATCH 3/4] Add .coderabbit.yaml to disable automatic reviews Co-authored-by: MightyPrytanis <219587333+MightyPrytanis@users.noreply.github.com> --- .coderabbit.yaml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .coderabbit.yaml diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 00000000..24c09911 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,2 @@ +reviews: + review_status: false From 05e6a91a3ef0bf10d17af7c7ffb2c0944acf60e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:19:43 +0000 Subject: [PATCH 4/4] Update .coderabbit.yaml to enable automatic reviews and fix CodeQL config - Changed .coderabbit.yaml to enable auto_review instead of disabling review_status - Removed non-existent Labs/Potemkin from CodeQL paths - Fixed extra braces in 13 additional files (citation-checker, michigan-citations, claim-extractor, etc.) - Identified that BraceCase Agent corruption remains in 177+ files despite ea37ada "reset" commit Co-authored-by: MightyPrytanis <219587333+MightyPrytanis@users.noreply.github.com> --- .coderabbit.yaml | 6 +++++- .github/codeql-config.yml | 1 - Cyrano/src/services/legal-research-service.ts | 3 --- .../src/tools/verification/citation-checker.ts | 9 --------- .../citations/michigan-citations.ts | 17 +---------------- .../src/tools/verification/claim-extractor.ts | 10 ---------- .../tools/verification/consistency-checker.ts | 14 -------------- .../src/tools/verification/source-verifier.ts | 2 -- Cyrano/src/tools/wellness-journal.ts | 9 +-------- Cyrano/src/tools/workflow-archaeology.ts | 6 +----- Cyrano/src/tools/workflow-manager.ts | 7 +------ Cyrano/src/tools/workflow-status.ts | 7 +------ Cyrano/src/utils/api-validator.ts | 3 +-- Cyrano/src/utils/demo-mode.ts | 3 --- Cyrano/src/utils/error-sanitizer.ts | 9 --------- Cyrano/src/utils/ui-guidance.ts | 5 ----- 16 files changed, 11 insertions(+), 100 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 24c09911..561f365f 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -1,2 +1,6 @@ reviews: - review_status: false + auto_review: + enabled: true + ignore_title_keywords: + - "WIP" + - "DO NOT REVIEW" diff --git a/.github/codeql-config.yml b/.github/codeql-config.yml index 0d223f8d..fa926961 100644 --- a/.github/codeql-config.yml +++ b/.github/codeql-config.yml @@ -3,7 +3,6 @@ name: "CodeQL Config" # Scan only active project directories; ignore legacy, build artifacts, and test files paths: - 'Cyrano' - - 'Labs/Potemkin' - 'apps/lexfiat' - 'apps/arkiver' - 'docs' diff --git a/Cyrano/src/services/legal-research-service.ts b/Cyrano/src/services/legal-research-service.ts index aaabd17a..2df3dd54 100644 --- a/Cyrano/src/services/legal-research-service.ts +++ b/Cyrano/src/services/legal-research-service.ts @@ -259,6 +259,3 @@ export class LegalResearchService { }; } return null; - } -} - diff --git a/Cyrano/src/tools/verification/citation-checker.ts b/Cyrano/src/tools/verification/citation-checker.ts index cf7f726c..18c01244 100644 --- a/Cyrano/src/tools/verification/citation-checker.ts +++ b/Cyrano/src/tools/verification/citation-checker.ts @@ -608,13 +608,4 @@ export const citationChecker = new CitationChecker(); */ export async function handleCitationChecker(params: any): Promise { return await citationChecker.checkCitations(params); -} - -} -} -} -} -} -} -} } \ No newline at end of file diff --git a/Cyrano/src/tools/verification/citations/michigan-citations.ts b/Cyrano/src/tools/verification/citations/michigan-citations.ts index 46ef1637..88eba4e0 100644 --- a/Cyrano/src/tools/verification/citations/michigan-citations.ts +++ b/Cyrano/src/tools/verification/citations/michigan-citations.ts @@ -504,19 +504,4 @@ export class MichiganCitationValidator { } return result; } -export const michiganCitationValidator = new MichiganCitationValidator(); - -} -} -} -} -} -) -) -} -} -} -} -} -) -) \ No newline at end of file +export const michiganCitationValidator = new MichiganCitationValidator(); \ No newline at end of file diff --git a/Cyrano/src/tools/verification/claim-extractor.ts b/Cyrano/src/tools/verification/claim-extractor.ts index 3fa10d60..af5f458a 100644 --- a/Cyrano/src/tools/verification/claim-extractor.ts +++ b/Cyrano/src/tools/verification/claim-extractor.ts @@ -518,14 +518,4 @@ export const claimExtractor = new ClaimExtractor(); */ export async function handleClaimExtractor(params: any): Promise { return await claimExtractor.extractClaims(params); -} - -} -) -) -} -} -} -} -) } \ No newline at end of file diff --git a/Cyrano/src/tools/verification/consistency-checker.ts b/Cyrano/src/tools/verification/consistency-checker.ts index fa63c563..f9857dd5 100644 --- a/Cyrano/src/tools/verification/consistency-checker.ts +++ b/Cyrano/src/tools/verification/consistency-checker.ts @@ -765,18 +765,4 @@ export const consistencyChecker = new ConsistencyChecker(); */ export async function handleConsistencyChecker(params: any): Promise { return await consistencyChecker.checkConsistency(params); -} - -} -) -) -} -) -} -) -) -} -} -) -) } \ No newline at end of file diff --git a/Cyrano/src/tools/verification/source-verifier.ts b/Cyrano/src/tools/verification/source-verifier.ts index d479740d..ce360ab1 100644 --- a/Cyrano/src/tools/verification/source-verifier.ts +++ b/Cyrano/src/tools/verification/source-verifier.ts @@ -598,6 +598,4 @@ export const sourceVerifier = new SourceVerifier(); */ export async function handleSourceVerifier(params: any): Promise { return await sourceVerifier.verifySources(params); -} - } \ No newline at end of file diff --git a/Cyrano/src/tools/wellness-journal.ts b/Cyrano/src/tools/wellness-journal.ts index 95e9ba83..944826b9 100644 --- a/Cyrano/src/tools/wellness-journal.ts +++ b/Cyrano/src/tools/wellness-journal.ts @@ -226,11 +226,4 @@ export const wellnessJournalTool = new (class extends BaseTool { return this.createErrorResult(`Wellness journal operation failed: ${error instanceof Error ? error.message : String(error)}`); } } -})(); - - - -) -} -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/workflow-archaeology.ts b/Cyrano/src/tools/workflow-archaeology.ts index 3bcfdfd8..d01321b3 100644 --- a/Cyrano/src/tools/workflow-archaeology.ts +++ b/Cyrano/src/tools/workflow-archaeology.ts @@ -135,8 +135,4 @@ export const workflowArchaeology = new (class extends BaseTool { ); } } -})(); - -) -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/workflow-manager.ts b/Cyrano/src/tools/workflow-manager.ts index 874c59ab..548bc17f 100644 --- a/Cyrano/src/tools/workflow-manager.ts +++ b/Cyrano/src/tools/workflow-manager.ts @@ -299,9 +299,4 @@ export const workflowManager = new (class extends BaseTool { return estimates[type] || '5-10 minutes'; } -})(); - - -) -} -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/tools/workflow-status.ts b/Cyrano/src/tools/workflow-status.ts index 0c030cda..674e2aad 100644 --- a/Cyrano/src/tools/workflow-status.ts +++ b/Cyrano/src/tools/workflow-status.ts @@ -130,9 +130,4 @@ export const workflowStatusTool = new (class extends BaseTool { ); } } -})(); - - - -) -} \ No newline at end of file +})(); \ No newline at end of file diff --git a/Cyrano/src/utils/api-validator.ts b/Cyrano/src/utils/api-validator.ts index edc9bbec..70dd7075 100644 --- a/Cyrano/src/utils/api-validator.ts +++ b/Cyrano/src/utils/api-validator.ts @@ -188,5 +188,4 @@ export class APIValidator { } } -export const apiValidator = APIValidator.getInstance(); -} \ No newline at end of file +export const apiValidator = APIValidator.getInstance(); \ No newline at end of file diff --git a/Cyrano/src/utils/demo-mode.ts b/Cyrano/src/utils/demo-mode.ts index 534f8ed8..3e8127f2 100644 --- a/Cyrano/src/utils/demo-mode.ts +++ b/Cyrano/src/utils/demo-mode.ts @@ -72,7 +72,4 @@ export function markAsDemo(data: T, toolName: string): T & { _demo: boolean; _demo: true, _demoWarning: getDemoModeWarning(toolName), } as T & { _demo: boolean; _demoWarning: string }; -} - - } \ No newline at end of file diff --git a/Cyrano/src/utils/error-sanitizer.ts b/Cyrano/src/utils/error-sanitizer.ts index 4aa4332a..44840fe5 100644 --- a/Cyrano/src/utils/error-sanitizer.ts +++ b/Cyrano/src/utils/error-sanitizer.ts @@ -102,13 +102,4 @@ export function createUserFriendlyError( // Return sanitized message for user return sanitizeErrorMessage(error, userContext); -} - - -} -} -} -} -} -) } \ No newline at end of file diff --git a/Cyrano/src/utils/ui-guidance.ts b/Cyrano/src/utils/ui-guidance.ts index cd3b689e..f4c8e895 100644 --- a/Cyrano/src/utils/ui-guidance.ts +++ b/Cyrano/src/utils/ui-guidance.ts @@ -173,9 +173,4 @@ export function getRecommendationText(mode: VerificationMode, isUserPreference: } return guidance.recommendation; -} - - - -} } \ No newline at end of file