{
  "schema_version": 1,
  "captured_from": "governed source tree",
  "runtime": {
    "http_server": "http.server.ThreadingHTTPServer",
    "application_processes": 1,
    "database": "SQLite WAL",
    "frontend": "build-free HTML/CSS/JavaScript",
    "container_port": 8765
  },
  "counts": {
    "primary_pages": 16,
    "api_exact_paths": 53,
    "api_prefixes": 0,
    "api_patterns": 11,
    "database_tables": 34
  },
  "pages": [
    {
      "id": "sentimentCycleView",
      "title": "情绪周期"
    },
    {
      "id": "limitPool",
      "title": "涨停池"
    },
    {
      "id": "brokenView",
      "title": "炸板池"
    },
    {
      "id": "downView",
      "title": "跌停板"
    },
    {
      "id": "yesterdayView",
      "title": "昨日涨停"
    },
    {
      "id": "performanceView",
      "title": "涨停表现"
    },
    {
      "id": "ladderView",
      "title": "市场天梯"
    },
    {
      "id": "rotationView",
      "title": "板块轮动"
    },
    {
      "id": "auctionView",
      "title": "集合竞价"
    },
    {
      "id": "themeLibraryView",
      "title": "题材库"
    },
    {
      "id": "popularityView",
      "title": "人气热榜"
    },
    {
      "id": "dragonView",
      "title": "龙虎榜"
    },
    {
      "id": "screenerView",
      "title": "智能选股"
    },
    {
      "id": "mentorView",
      "title": "问师"
    },
    {
      "id": "heavenView",
      "title": "问天"
    },
    {
      "id": "reviewWorkspaceView",
      "title": "我的复盘"
    }
  ],
  "api": {
    "exact": [
      "/api/account/birth-profile",
      "/api/account/password",
      "/api/account/status",
      "/api/admin/membership",
      "/api/admin/refresh",
      "/api/admin/settings",
      "/api/admin/settings/test",
      "/api/alerts",
      "/api/alerts/read-all",
      "/api/assistant/chat",
      "/api/assistant/messages",
      "/api/auction",
      "/api/auth/login",
      "/api/auth/logout",
      "/api/auth/me",
      "/api/auth/register",
      "/api/backfill",
      "/api/chart/intraday",
      "/api/dashboard",
      "/api/dragon-tiger",
      "/api/dragon-tiger/profiles",
      "/api/health",
      "/api/heaven/hexagram",
      "/api/heaven/interpret",
      "/api/heaven/personal",
      "/api/heaven/readings",
      "/api/heaven/sector-phases",
      "/api/heaven/setup",
      "/api/mentors/chat",
      "/api/mentors/messages",
      "/api/mentors/preferences",
      "/api/mentors/setup",
      "/api/notes",
      "/api/popularity",
      "/api/realtime-aggregate/health",
      "/api/reasons",
      "/api/rotation/history",
      "/api/rotation/members",
      "/api/screener/compile",
      "/api/screener/run",
      "/api/screener/setup",
      "/api/screener/strategies",
      "/api/screener/sync",
      "/api/screener/tracking",
      "/api/screener/tracking/refresh",
      "/api/search",
      "/api/search/detail",
      "/api/seat-aliases",
      "/api/sentiment/history",
      "/api/themes",
      "/api/themes/detail",
      "/api/trades",
      "/api/watchlist"
    ],
    "prefixes": [],
    "patterns": [
      "/api/alerts/(\\d+)",
      "/api/alerts/(\\d+)/read",
      "/api/heaven/readings/(\\d+)",
      "/api/heaven/sector-phases/(.+)",
      "/api/notes/(\\d+)",
      "/api/screener/strategies/(\\d+)",
      "/api/screener/tracking/(\\d+)",
      "/api/stock/(\\d{6})",
      "/api/stock/(\\d{6})/preview",
      "/api/trades/(\\d+)",
      "/api/watchlist/(\\d{6})"
    ]
  },
  "database_tables": [
    "users",
    "user_sessions",
    "user_credentials",
    "user_birth_profiles",
    "system_settings",
    "llm_usage",
    "dashboard_snapshots",
    "sync_runs",
    "data_snapshots",
    "watchlist",
    "review_notes",
    "reason_overrides",
    "seat_aliases",
    "sector_phase_overrides",
    "stock_master",
    "daily_bars",
    "benchmark_bars",
    "daily_indicators",
    "fundamental_indicators",
    "moneyflow_daily",
    "auction_factors",
    "earnings_events",
    "popularity_factors",
    "lhb_institution_daily",
    "screener_strategies",
    "screener_runs",
    "mentor_messages",
    "mentor_preferences",
    "wencai_saved_queries",
    "strategy_tracks",
    "alerts",
    "trade_entries",
    "assistant_messages",
    "heaven_readings"
  ],
  "background_job_methods": [
    "_background_refresh_tick",
    "_schedule_automatic_screeners",
    "_schedule_ifind_event_enrichment",
    "run_automatic_screeners"
  ],
  "external_data_adapters": [
    {
      "provider": "tushare",
      "path": "tushare_client.py",
      "runtime_role": "primary deterministic market data"
    },
    {
      "provider": "ifind",
      "path": "ifind_client.py",
      "runtime_role": "realtime, charts, snapshots, enrichment"
    },
    {
      "provider": "eastmoney",
      "path": "chart_data_provider.py",
      "runtime_role": "display chart fallback"
    },
    {
      "provider": "eastmoney",
      "path": "realtime_aggregator.py",
      "runtime_role": "isolated realtime observation"
    },
    {
      "provider": "tencent",
      "path": "realtime_aggregator.py",
      "runtime_role": "index observation fallback"
    }
  ],
  "llm_entrypoints": [
    {
      "function": "stream_with_mentor",
      "path": "mentor_agent.py"
    },
    {
      "function": "interpret_heaven",
      "path": "heaven_agent.py"
    },
    {
      "function": "stream_review_assistant",
      "path": "assistant_agent.py"
    },
    {
      "function": "compile_strategy_with_llm",
      "path": "llm_strategy.py"
    },
    {
      "function": "test_llm_connection",
      "path": "llm_strategy.py"
    }
  ],
  "css_layers": [
    "/styles.css",
    "/renovation.css?v=20260725-5",
    "/redesign-v2.css?v=20260728-1",
    "/design-system.css?v=20260728-4",
    "/theme.css?v=20260728-2",
    "/wentian-v2.css?v=20260728-7"
  ],
  "code_hotspots": [
    {
      "path": "static/app.js",
      "bytes": 441609,
      "lines": 9262
    },
    {
      "path": "static/styles.css",
      "bytes": 364385,
      "lines": 15549
    },
    {
      "path": "static/redesign-v2.css",
      "bytes": 264960,
      "lines": 8616
    },
    {
      "path": "server.py",
      "bytes": 263744,
      "lines": 5856
    },
    {
      "path": "static/index.html",
      "bytes": 133815,
      "lines": 1875
    },
    {
      "path": "database.py",
      "bytes": 121546,
      "lines": 2839
    },
    {
      "path": "screener.py",
      "bytes": 108535,
      "lines": 2213
    },
    {
      "path": "tushare_client.py",
      "bytes": 94312,
      "lines": 2175
    },
    {
      "path": "static/renovation.css",
      "bytes": 86245,
      "lines": 1636
    },
    {
      "path": "static/wentian-v2.css",
      "bytes": 73222,
      "lines": 1084
    },
    {
      "path": "market_insights.py",
      "bytes": 58066,
      "lines": 1312
    },
    {
      "path": "static/theme.css",
      "bytes": 41279,
      "lines": 1407
    }
  ]
}
