From a2a0b2602ca036d916ceb779e6a44d59d70f68ba Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 16 May 2026 14:05:18 +0200 Subject: [PATCH 1/2] Delete directory '.worktrees' --- .worktrees/hazy-peach | 1 - .worktrees/sharp-robin | 1 - 2 files changed, 2 deletions(-) delete mode 160000 .worktrees/hazy-peach delete mode 160000 .worktrees/sharp-robin diff --git a/.worktrees/hazy-peach b/.worktrees/hazy-peach deleted file mode 160000 index 08a21ea..0000000 --- a/.worktrees/hazy-peach +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 08a21eadb78bb1eb29dcadc348b3e727187fb3be diff --git a/.worktrees/sharp-robin b/.worktrees/sharp-robin deleted file mode 160000 index f0169ad..0000000 --- a/.worktrees/sharp-robin +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f0169ad51d18a07b1092e0c86ac60e33e2a0a1fc From e78339a7b18aeeba0d554f890a29477015764ecd Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 16 May 2026 14:05:40 +0200 Subject: [PATCH 2/2] Delete directory '.fusion' --- .fusion/config.json | 132 ----------------------------------- .fusion/fusion.db | Bin 991232 -> 0 bytes .fusion/memory/2026-05-13.md | 3 - .fusion/memory/2026-05-14.md | 3 - .fusion/memory/DREAMS.md | 3 - .fusion/memory/MEMORY.md | 29 -------- 6 files changed, 170 deletions(-) delete mode 100644 .fusion/config.json delete mode 100644 .fusion/fusion.db delete mode 100644 .fusion/memory/2026-05-13.md delete mode 100644 .fusion/memory/2026-05-14.md delete mode 100644 .fusion/memory/DREAMS.md delete mode 100644 .fusion/memory/MEMORY.md diff --git a/.fusion/config.json b/.fusion/config.json deleted file mode 100644 index bc1393a..0000000 --- a/.fusion/config.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "settings": { - "globalPause": false, - "enginePaused": false, - "maxConcurrent": 2, - "maxTriageConcurrent": 2, - "globalMaxConcurrent": 4, - "maxWorktrees": 4, - "pollIntervalMs": 15000, - "heartbeatMultiplier": 1, - "groupOverlappingFiles": true, - "overlapIgnorePaths": [], - "autoMerge": true, - "mergeStrategy": "direct", - "directMergeCommitStrategy": "auto", - "requirePrApproval": false, - "pushAfterMerge": false, - "pushRemote": "origin", - "unavailableNodePolicy": "block", - "recycleWorktrees": false, - "executorAllowSiblingBranchRename": false, - "worktreeNaming": "random", - "taskPrefix": "FN", - "includeTaskIdInCommit": true, - "commitAuthorEnabled": true, - "commitAuthorName": "Fusion", - "commitAuthorEmail": "noreply@runfusion.ai", - "modelPresets": [], - "autoSelectModelPreset": false, - "completionDocumentationMode": "off", - "defaultPresetBySize": {}, - "autoResolveConflicts": true, - "smartConflictResolution": true, - "mergerAutostashMaxAgeHours": 24, - "worktreeRebaseBeforeMerge": true, - "worktreeRebaseRemote": "", - "worktreeRebaseLocalBase": true, - "mergeConflictStrategy": "smart-prefer-main", - "mergeStrategyOverlapBehavior": "flip-to-prefer-branch", - "workflowStepTimeoutMs": 360000, - "workflowRevisionForkOnScopeMismatch": true, - "strictScopeEnforcement": false, - "buildRetryCount": 0, - "verificationFixRetries": 3, - "buildTimeoutMs": 300000, - "requirePlanApproval": false, - "agentProvisioning": {}, - "specStalenessEnabled": false, - "specStalenessMaxAgeMs": 21600000, - "taskStuckTimeoutMs": 600000, - "staleHighFanoutBlockerAgeThresholdMs": 7200000, - "aiSessionTtlMs": 604800000, - "aiSessionCleanupIntervalMs": 3600000, - "autoUnpauseEnabled": true, - "autoUnpauseBaseDelayMs": 300000, - "autoUnpauseMaxDelayMs": 3600000, - "maxStuckKills": 6, - "preserveProgressOnStuckRequeue": true, - "maxPostReviewFixes": 1, - "maxSpawnedAgentsPerParent": 5, - "maxSpawnedAgentsGlobal": 20, - "maintenanceIntervalMs": 300000, - "autoArchiveDoneTasksEnabled": true, - "autoArchiveDoneAfterMs": 172800000, - "archiveAgentLogMode": "compact", - "autoUpdatePrStatus": false, - "githubCommentOnDone": false, - "githubTrackingEnabledByDefault": false, - "githubAuthMode": "gh-cli", - "autoBackupEnabled": false, - "autoBackupSchedule": "0 2 * * *", - "autoBackupRetention": 7, - "autoBackupDir": ".fusion/backups", - "memoryBackupEnabled": false, - "memoryBackupSchedule": "0 3 * * *", - "memoryBackupRetention": 14, - "memoryBackupDir": ".fusion/backups/memory", - "memoryBackupScope": "all", - "autoSummarizeTitles": false, - "useAiMergeCommitSummary": true, - "insightExtractionEnabled": false, - "insightExtractionSchedule": "0 2 * * *", - "insightExtractionMinIntervalMs": 86400000, - "taskEvaluationEnabled": false, - "taskEvaluationSchedule": "0 5 * * *", - "taskEvaluationFollowUpPolicy": "off", - "memoryEnabled": true, - "memoryBackendType": "qmd", - "memoryAutoSummarizeEnabled": false, - "memoryAutoSummarizeThresholdChars": 50000, - "memoryAutoSummarizeSchedule": "0 3 * * *", - "memoryDreamsEnabled": false, - "memoryDreamsSchedule": "0 4 * * *", - "runStepsInNewSessions": false, - "maxParallelSteps": 2, - "missionStaleThresholdMs": 600000, - "missionMaxTaskRetries": 3, - "missionHealthCheckIntervalMs": 300000, - "reflectionEnabled": false, - "reflectionIntervalMs": 3600000, - "reflectionAfterTask": true, - "reviewHandoffPolicy": "disabled", - "showQuickChatFAB": false, - "researchSettings": { - "enabled": true, - "enabledSources": { - "webSearch": true, - "pageFetch": true, - "github": false, - "localDocs": true, - "llmSynthesis": true - }, - "limits": { - "maxConcurrentRuns": 3, - "maxSourcesPerRun": 20, - "maxDurationMs": 300000, - "requestTimeoutMs": 30000 - } - }, - "evalSettings": { - "enabled": false, - "intervalMs": 86400000, - "followUpPolicy": "suggest-only", - "retentionDays": 30 - }, - "researchEnabled": true, - "researchMaxConcurrentRuns": 3, - "researchDefaultTimeout": 300000, - "researchMaxSourcesPerRun": 20, - "researchMaxSynthesisRounds": 2 - } -} \ No newline at end of file diff --git a/.fusion/fusion.db b/.fusion/fusion.db deleted file mode 100644 index 491836267399ed7bba74f1b2241e230062460a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991232 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 Z0w4eaAOHd&00JNY0w4eaAkZT4{{iYJPe=d& diff --git a/.fusion/memory/2026-05-13.md b/.fusion/memory/2026-05-13.md deleted file mode 100644 index d722dc0..0000000 --- a/.fusion/memory/2026-05-13.md +++ /dev/null @@ -1,3 +0,0 @@ -# Daily Memory 2026-05-13 - - diff --git a/.fusion/memory/2026-05-14.md b/.fusion/memory/2026-05-14.md deleted file mode 100644 index 5114766..0000000 --- a/.fusion/memory/2026-05-14.md +++ /dev/null @@ -1,3 +0,0 @@ -# Daily Memory 2026-05-14 - - diff --git a/.fusion/memory/DREAMS.md b/.fusion/memory/DREAMS.md deleted file mode 100644 index 1e1f4f5..0000000 --- a/.fusion/memory/DREAMS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Memory Dreams - - diff --git a/.fusion/memory/MEMORY.md b/.fusion/memory/MEMORY.md deleted file mode 100644 index 3f22275..0000000 --- a/.fusion/memory/MEMORY.md +++ /dev/null @@ -1,29 +0,0 @@ -# Project Memory - - - -## Architecture - - - -## Conventions - - - -## Pitfalls - - - -## Context - - - -**Headquarter Backend Patterns (FN-004)** - -- Use SQLAlchemy 2.0 async style with `mapped_column` + `Mapped[]` syntax -- For Alembic + asyncpg: rewrite `postgresql://` to `postgresql+asyncpg://` in both `app/db.py` and `alembic/env.py` -- For pytest + async SQLAlchemy testing: use `pytest-asyncio==0.21.2` (not 1.3.0) with `asyncio_mode = "auto"`, `NullPool`, and a session-scoped `event_loop` fixture to avoid event loop mismatches with asyncpg -- Test DB isolation: `begin_nested()` on a connection + `async_sessionmaker` bound to that connection; override `get_db_session` dependency -- Secret encryption: derive Fernet key from settings string via `SHA-256 + base64.urlsafe_b64encode` -- Auth dev bypass: only active when `settings.debug and settings.auth_dev_bypass`; creates/returns a fixed `authentik_sub="dev-user"` -- JWT production path: fetch OIDC discovery → get `jwks_uri` → fetch JWKS → match by `kid` → decode with `jwt.decode(..., algorithms=["RS256"])`