fix: integration test — 24/24 pass, all subsystems operational

DoctorService:
- check_bun(): search common bun paths (~/.bun/bin/bun, /usr/*)

RuntimeApp:
- Create DatabaseHandle adapter for Bun's raw Database
- Wire migrations through proper adapter (add query() method)

Scheduler:
- rebuild_from_db(): graceful no-op when tasks table doesn't exist yet

BuiltInToolRegistrar:
- All executors return {status:'ok', ...} for ToolRegistry.call()

Integration test results: 24/24 pass
- RuntimeApp creation: 5/5 subsystems
- Startup: DB init, migrations, tools, recovery
- Tools: 10 built-in tools verified
- Tool calls: fs.read/write/list/stat, project.scan
- Shutdown: clean close

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
AirCoding
2026-06-05 13:19:53 +08:00
parent 1288a9b26c
commit 44c53422c9
4 changed files with 46 additions and 25 deletions

View File

@@ -323,7 +323,12 @@ export class Scheduler {
rehydrated++
}
} catch (err) {
console.error('rebuild_from_db failed:', err)
// Table may not exist on first run (graceful degradation)
if (err && typeof err === 'object' && 'message' in err && String((err as any).message).includes('no such table')) {
// First run — no tasks table yet, this is expected
} else {
console.error('rebuild_from_db failed:', err)
}
}
this.state = 'PLANNING_WAVE'