QuantDB App + Lakebase Audit

Generated 2026-06-28T11:05:20.061Z. Read-only scan of PM2, live app directories, crontab, Redis metadata, and PostgreSQL catalog metadata. Secret values are intentionally excluded.

16PM2 processes
14app directories scanned
13PostgreSQL-linked apps
9Redis-linked apps
492unique DB object refs
25cron jobs

Applications Connected To PostgreSQL / Redis

QuantDB Catalog Map

Database

quantdb · 21 GB

PostgreSQL 16.14 (Ubuntu 16.14-0ubuntu0.24.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, 64-bit

Extensions

dblink 1.2pg_trgm 1.6plpgsql 1.0timescaledb 2.26.2

Redis

Reachable · 15 clients observed

db0:keys=48,expires=14,avg_ttl=21543160

Schemas

SchemaTablesViewsIndexesFunctions
_timescaledb_cache3000
_timescaledb_catalog210380
_timescaledb_config0100
_timescaledb_functions000110
_timescaledb_internal24462489153
agentx70293
app180571
bronze3090
data4441110
dcc71230
portfolio191320
public19929177
raw130150
signals242630
strategy90431
timescaledb_experimental0105
timescaledb_information01300

Largest Tables

ObjectEstimated rowsSize
_timescaledb_internal._hyper_1_2556_chunk26,026,1915669 MB
_timescaledb_internal._hyper_1_2558_chunk12,871,4412785 MB
data.xbrl_raw01433 MB
dcc.data_points01223 MB
raw.xbrl_sec01094 MB
app.portfolio_drafts9,9301003 MB
signals.signals893,728937 MB
signals.signal_feature_snapshots127,941784 MB
data.factset_fundamentals_quarterly0736 MB
signals.derived_indicators1,964,564523 MB
data.factor_scores183,473340 MB
data.factset_fundamentals_annual0274 MB
_timescaledb_internal.compress_hyper_2_2557_chunk41,377143 MB
_timescaledb_internal.compress_hyper_2_2555_chunk39,786141 MB
_timescaledb_internal.compress_hyper_2_2559_chunk41,382132 MB
app.agent_research_log29,475107 MB
_timescaledb_internal.compress_hyper_2_1922_chunk35,230105 MB
_timescaledb_internal.compress_hyper_2_1919_chunk33,74198 MB
data.revision_scores191,42890 MB
_timescaledb_internal.compress_hyper_2_1920_chunk34,94185 MB
_timescaledb_internal.compress_hyper_2_1923_chunk41,04983 MB
_timescaledb_internal.compress_hyper_2_2553_chunk30,55382 MB
_timescaledb_internal.compress_hyper_2_1921_chunk35,17879 MB
signals.external_signals46,81878 MB
data.consensus_snapshots268,63277 MB
_timescaledb_internal.compress_hyper_2_1917_chunk33,54274 MB
_timescaledb_internal.compress_hyper_2_1918_chunk33,61073 MB
_timescaledb_internal.compress_hyper_2_1916_chunk33,34869 MB
data.derived_indicators065 MB
_timescaledb_internal.compress_hyper_2_1915_chunk31,56962 MB

Pipelines + Cron Jobs

Crontab

ScheduleCommand
*/15 * * * */home/quantdev/apps/portfolio-rebalancer/scripts/cron-trigger.sh /api/cron/rebalance
*/15 * * * */home/quantdev/scripts/memory-monitor.sh >> /home/quantdev/logs/memory-monitor.log 2>&1
*/15 * * * *pm2 list 2>/dev/null | grep -q 'price-feed.*online' || (pm2 start /home/quantdev/apps/price-feed/ecosystem.config.js 2>&1 && echo "[$(date -Iseconds)] price-feed auto-restarted" >> /home/quantdev/apps/price-feed/logs/watchdog.log)
*/2 * * * */home/quantdev/apps/quantclaw-tools/healthcheck.sh
*/30 * * * */home/quantdev/.openclaw/workspace/terminalx-pods/api/update_signals.sh
*/5 * * * */bin/bash /home/quantdev/apps/alpha-generator/pr-watcher.sh >> /home/quantdev/logs/pr-watcher.log 2>&1
0 */4 * * *curl -s -X POST http://localhost:3080/api/governance/sla-check >> /home/quantdev/apps/smartportfolio/logs/sla-check.log 2>&1
0 2 * * */home/quantdev/apps/price-feed/scripts/daily_quality_cron.sh >> /home/quantdev/apps/price-feed/logs/cron_stderr.log 2>&1
0 6 * * */home/quantdev/apps/portfolio-rebalancer/scripts/cron-trigger.sh /api/cron/update-returns
0 6 * * *python3 /home/quantdev/apps/price-feed/eps_revision_rebuild.py all >> /home/quantdev/apps/price-feed/logs/eps_revision_cron.log 2>&1
0 7 1 * *cd /home/quantdev/apps/price-feed && python3 -c 'import sys; sys.path.insert(0,"."); from model_portfolio.monthly_rebalance_cron import run_monthly_rebalance; run_monthly_rebalance()' >> /home/quantdev/logs/monthly_rebalance.log 2>&1
20 7 * * */home/quantdev/apps/agentx/scripts/backtest-store-cron.sh
45 2,8,14,20 * * */home/quantdev/apps/price-feed/scripts/price_freshness_monitor.sh >> /home/quantdev/apps/price-feed/logs/freshness_monitor_cron.log 2>&1
30 6 * * */home/quantdev/apps/vipsignals-engine/scripts/data-quality-check.sh
45 13 * * 1-5/home/quantdev/apps/agentx/scripts/daily-agent-loop.sh
5 */6 * * */home/quantdev/apps/vipsignals-engine/scripts/refresh-prices.sh
5 20 * * *timeout 300 /home/quantdev/.openclaw/workspace/wiki/update-shay-wiki.sh
5 20 * * 1-5python3 /home/quantdev/.openclaw/workspace/terminalx-pods/api/signals.py >> /home/quantdev/.openclaw/workspace/terminalx-pods/data/signals.log 2>&1
*/15 * * * 1-5/home/quantdev/apps/agentx-staging/scripts/staging-agent-loop-cron.sh
0 */4 * * */home/quantdev/apps/quantdb-api/scripts/pipeline-alert.sh >> /home/quantdev/apps/quantdb-api/logs/pipeline-alert-cron.log 2>&1
0 3 1 * *cd /home/quantdev/apps/price-feed && python3 sec_edgar_pit.py >> logs/sec_edgar_pit_cron.log 2>&1
0 5 1 * *cd /home/quantdev/apps/price-feed && python3 pit_factor_scoring.py >> logs/pit_factor_scoring_cron.log 2>&1
0 6 1 * *cd /home/quantdev/apps/price-feed && bash refresh_etf_themes.sh >> logs/etf_themes_cron.log 2>&1
0 3 * * 0/usr/local/bin/pm2-sqlite-compact.sh >> /home/quantdev/.pm2/logs/sqlite-compact.log 2>&1
*/15 13-19 * * 1-5/home/quantdev/apps/agentx/scripts/daily-agent-loop.sh

Systemd User Timers

Sun 2026-06-28 16:10:25 UTC 5h 5min Sat 2026-06-27 16:10:25 UTC 18h ago launchpadlib-cache-clean.timer launchpadlib-cache-clean.service

Code Pipeline Signals

Databricks Lakebase Fit

Assessment

Partial fit. The app-facing OLTP parts of quantdb can map naturally to Lakebase. The heavy analytical/history workload should stay lakehouse-oriented or remain in the current Timescale/Postgres setup until extension support, hypertable behavior, CDC, backup/restore, and connection pooling are tested.

Good for app stateCaution for Timescale/historyPOC first

What Lakebase Is

Lakebase Postgres is managed PostgreSQL inside a Databricks workspace.

It is designed for low-latency application reads/writes such as user state, sessions, chat history, logs, and transactional records.

It supports branch-style isolated environments, autoscaling, and scale-to-zero behavior.

Risks

• Current quantdb uses TimescaleDB/hypertable patterns; Lakebase docs describe managed Postgres, but the public developer docs do not confirm TimescaleDB extension compatibility.

• Scale-to-zero resets session context, temporary tables, prepared statements, and pool state, so production app pools need retry/reconnect logic.

• Off-platform apps do not get automatic Databricks credential injection or OAuth token refresh.

• Pure analytics and large read-only workloads belong in Unity Catalog / Data Lakehouse rather than Lakebase.

Recommended Path

• Do not lift-and-shift all quantdb at once.

• Split app state and transactional app tables from historical market-data/time-series tables.

• Create a Lakebase branch proof-of-concept with one low-risk app schema first.

• Use CDC or export/import to sync selected tables to Databricks, then benchmark app latency, pool behavior, and pipeline compatibility.

Source reviewed: Databricks Developer docs, Start Here / Platform Overview / Lakebase Overview / Lakebase Configuration / Lakebase Development.

DBA guardrail: DBA-CLAW request 10eda106-69b9-4981-aadf-8e6495c9e7c4 returned no DBA answer; Approved for read-only PostgreSQL/Redis/app usage audit and local HTML/JSON report generation only; no DB, Redis, deploy, service, cron, pipeline, or config mutations.

Raw Evidence

Full sanitized JSON: /home/quantdev/.openclaw/workspace/reports/quantdb-apps-lakebase-audit.json