SuperAI_Forecast / .codegraph /workflow_tree_notes.json
Thang6822
feat: cancel in-flight forecast tasks immediately when switching symbol/interval and fix DXY sources config
4d10530
Raw
History Blame Contribute Delete
47.3 kB
{
"project_name": "AI Forecast",
"description": "Project with 287 files, 5435 symbols. javascript, python, yaml. 31 API endpoints.",
"tabs": [
{
"name": "UI / Frontend β€” frontend/",
"badge": "TAB",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">frontend/ai-session-runtime.js</div>\n<div class=\"path-block\">frontend/analysis-runtime.js</div>\n<div class=\"path-block\">frontend/app.js</div>\n<div class=\"path-block\">frontend/forecast-models.js</div>\n<div class=\"path-block\">frontend/workspace.js</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>PaneState</b> β€” class in <code>frontend/workspace.js</code></li>\n<li><code>apiJsonRequest</code> β€” function in <code>frontend/app.js</code></li>\n<li><code>apiRequest</code> β€” function in <code>frontend/app.js</code></li>\n<li><code>applyHeaderVisibility</code> β€” function in <code>frontend/app.js</code></li>\n<li><code>applySymbolToActivePane</code> β€” function in <code>frontend/app.js</code></li>\n<li><code>applyTheme</code> β€” function in <code>frontend/app.js</code></li>\n<li><code>buildGaugeSvg</code> β€” function in <code>frontend/app.js</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“€ Cross-Layer Dependencies",
"body": "<code>DELETE /api/cache</code>, <code>GET /</code>",
"class": "warning"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── frontend/\n β”œβ”€β”€ ai-session-runtime.js\n β”œβ”€β”€ analysis-runtime.js\n β”œβ”€β”€ app.js\n β”œβ”€β”€ forecast-models.js\n └── workspace.js</div>",
"class": "folder"
}
]
},
{
"name": "[chronos-forecasting] Core / Business Logic β€” libs/ β€” Overview",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/agg-relative-score.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>MLP</b> β€” class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>AttentionOutput</b> β€” class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>Chronos2LayerNorm</b> β€” class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>FeedForward</b> β€” class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>download_model_files_from_cloudfront</code> β€” function in <code>libs/chronos-forecasting/src/chronos/boto_utils.py</code></li>\n<li><code>__init__</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>_eager_attention</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>_sdpa_attention</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>apply_rotary_pos_emb</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>forward</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>rotate_half</code> β€” method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>batchify</code> β€” function in <code>libs/chronos-forecasting/src/chronos/base.py</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n β”œβ”€β”€ .github/\n β”‚ β”œβ”€β”€ ISSUE_TEMPLATE/\n β”‚ β”‚ └── config.yml\n β”‚ └── workflows/\n β”‚ β”œβ”€β”€ ci.yml\n β”‚ β”œβ”€β”€ eval-model.yml\n β”‚ └── publish-to-pypi.yml\n β”œβ”€β”€ ci/\n β”‚ └── evaluate/\n β”‚ └── backtest_config.yaml\n └── scripts/\n β”œβ”€β”€ evaluation/\n β”‚ β”œβ”€β”€ configs/\n β”‚ β”‚ β”œβ”€β”€ in-domain.yaml\n β”‚ β”‚ └── zero-shot.yaml\n β”‚ β”œβ”€β”€ agg-relative-score.py\n β”‚ └── evaluate.py\n β”œβ”€β”€ training/\n β”‚ └── configs/\n β”‚ β”œβ”€β”€ chronos-gpt2.yaml\n β”‚ └── chronos-t5-base.yaml\n └── kernel-synth.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ .github/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n └── .github/\n β”œβ”€β”€ ISSUE_TEMPLATE/\n β”‚ └── config.yml\n └── workflows/\n β”œβ”€β”€ ci.yml\n β”œβ”€β”€ eval-model.yml\n └── publish-to-pypi.yml</div>",
"class": "folder"
}
]
},
{
"name": " ↳ scripts/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/agg-relative-score.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/evaluate.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/kernel-synth.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-base.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-large.yaml</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n └── scripts/\n β”œβ”€β”€ evaluation/\n β”‚ β”œβ”€β”€ configs/\n β”‚ β”‚ β”œβ”€β”€ in-domain.yaml\n β”‚ β”‚ └── zero-shot.yaml\n β”‚ β”œβ”€β”€ agg-relative-score.py\n β”‚ └── evaluate.py\n β”œβ”€β”€ training/\n β”‚ β”œβ”€β”€ configs/\n β”‚ β”‚ β”œβ”€β”€ chronos-gpt2.yaml\n β”‚ β”‚ β”œβ”€β”€ chronos-t5-base.yaml\n β”‚ β”‚ β”œβ”€β”€ chronos-t5-large.yaml\n β”‚ β”‚ β”œβ”€β”€ chronos-t5-mini.yaml\n β”‚ β”‚ β”œβ”€β”€ chronos-t5-small.yaml\n β”‚ β”‚ └── chronos-t5-tiny.yaml\n β”‚ └── train.py\n └── kernel-synth.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ src/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/src/chronos/__about__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/base.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/boto_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/config.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/dataset.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n └── src/\n └── chronos/\n β”œβ”€β”€ chronos2/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ config.py\n β”‚ β”œβ”€β”€ dataset.py\n β”‚ β”œβ”€β”€ layers.py\n β”‚ β”œβ”€β”€ model.py\n β”‚ β”œβ”€β”€ pipeline.py\n β”‚ └── trainer.py\n β”œβ”€β”€ __about__.py\n β”œβ”€β”€ __init__.py\n β”œβ”€β”€ base.py\n β”œβ”€β”€ boto_utils.py\n └── chronos.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ test/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/test/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos2.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos_bolt.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_df_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/util.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n └── test/\n β”œβ”€β”€ __init__.py\n β”œβ”€β”€ test_chronos.py\n β”œβ”€β”€ test_chronos2.py\n β”œβ”€β”€ test_chronos_bolt.py\n β”œβ”€β”€ test_df_utils.py\n β”œβ”€β”€ test_utils.py\n └── util.py</div>",
"class": "folder"
}
]
},
{
"name": "[timesfm] Core / Business Logic β€” libs/ β€” Overview",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/.github/workflows/main.yml</div>\n<div class=\"path-block\">libs/timesfm/.github/workflows/manual_publish.yml</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/configs.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/dense.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/normalization.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/transformer.py</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>CheckResult</b> β€” class in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><b>MEMORYSTATUSEX</b> β€” class in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><b>TestDecodeCache</b> β€” class in <code>libs/timesfm/tests/test_torch_utils.py</code></li>\n<li><b>TestRevIN</b> β€” class in <code>libs/timesfm/tests/test_torch_utils.py</code></li>\n<li><code>normalize</code> β€” function in <code>libs/timesfm/src/timesfm/utils/xreg_lib.py</code></li>\n<li><code>_get_total_ram_gb</code> β€” function in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><code>passed</code> β€” method in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><code>evaluate</code> β€” function in <code>libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</code></li>\n<li><code>load_retail_sales</code> β€” function in <code>libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</code></li>\n<li><code>_ar_decode</code> β€” function in <code>libs/timesfm/src/timesfm/timesfm_2p5/timesfm_2p5_flax.py</code></li>\n<li><code>_normalize</code> β€” function in <code>libs/timesfm/v1/src/timesfm/timesfm_base.py</code></li>\n<li><code>_renormalize</code> β€” function in <code>libs/timesfm/v1/src/timesfm/timesfm_base.py</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── timesfm/\n β”œβ”€β”€ .github/\n β”‚ └── workflows/\n β”‚ β”œβ”€β”€ main.yml\n β”‚ └── manual_publish.yml\n └── src/\n └── timesfm/\n β”œβ”€β”€ flax/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ dense.py\n β”‚ β”œβ”€β”€ normalization.py\n β”‚ β”œβ”€β”€ transformer.py\n β”‚ └── util.py\n β”œβ”€β”€ timesfm_2p5/\n β”‚ β”œβ”€β”€ timesfm_2p5_base.py\n β”‚ β”œβ”€β”€ timesfm_2p5_flax.py\n β”‚ └── timesfm_2p5_torch.py\n β”œβ”€β”€ __init__.py\n └── configs.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ .github/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/.github/workflows/main.yml</div>\n<div class=\"path-block\">libs/timesfm/.github/workflows/manual_publish.yml</div>",
"class": ""
}
]
},
{
"name": " ↳ src/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/src/timesfm/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/configs.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/dense.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/normalization.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/transformer.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/util.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/timesfm_2p5/timesfm_2p5_base.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── timesfm/\n └── src/\n └── timesfm/\n β”œβ”€β”€ flax/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ dense.py\n β”‚ β”œβ”€β”€ normalization.py\n β”‚ β”œβ”€β”€ transformer.py\n β”‚ └── util.py\n β”œβ”€β”€ timesfm_2p5/\n β”‚ β”œβ”€β”€ timesfm_2p5_base.py\n β”‚ β”œβ”€β”€ timesfm_2p5_flax.py\n β”‚ └── timesfm_2p5_torch.py\n β”œβ”€β”€ torch/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ └── dense.py\n β”œβ”€β”€ __init__.py\n └── configs.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ tests/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/tests/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_base_utils.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_configs.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_torch_layers.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_torch_utils.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── timesfm/\n └── tests/\n β”œβ”€β”€ __init__.py\n β”œβ”€β”€ test_base_utils.py\n β”œβ”€β”€ test_configs.py\n β”œβ”€β”€ test_torch_layers.py\n └── test_torch_utils.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ timesfm-forecasting/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/anomaly-detection/detect_anomalies.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/covariates-forecasting/demo_covariates.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_animation_data.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_gif.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_html.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/run_forecast.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/visualize_forecast.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── timesfm/\n └── timesfm-forecasting/\n β”œβ”€β”€ examples/\n β”‚ β”œβ”€β”€ anomaly-detection/\n β”‚ β”‚ └── detect_anomalies.py\n β”‚ β”œβ”€β”€ covariates-forecasting/\n β”‚ β”‚ └── demo_covariates.py\n β”‚ β”œβ”€β”€ finetuning/\n β”‚ β”‚ └── finetune_lora.py\n β”‚ └── global-temperature/\n β”‚ β”œβ”€β”€ generate_animation_data.py\n β”‚ β”œβ”€β”€ generate_gif.py\n β”‚ β”œβ”€β”€ generate_html.py\n β”‚ β”œβ”€β”€ run_forecast.py\n β”‚ └── visualize_forecast.py\n └── scripts/\n β”œβ”€β”€ check_system.py\n └── forecast_csv.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ v1/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/timesfm/v1/experiments/baselines/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/baselines/timegpt_pipeline.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/run_timegpt.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/run_timesfm.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/utils.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/long_horizon_benchmarks/run_eval.py</div>\n<div class=\"path-block\">libs/timesfm/v1/peft/finetune.py</div>\n<div class=\"path-block\">libs/timesfm/v1/src/adapter/__init__.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── timesfm/\n └── v1/\n β”œβ”€β”€ experiments/\n β”‚ β”œβ”€β”€ baselines/\n β”‚ β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”‚ └── timegpt_pipeline.py\n β”‚ β”œβ”€β”€ extended_benchmarks/\n β”‚ β”‚ β”œβ”€β”€ run_timegpt.py\n β”‚ β”‚ β”œβ”€β”€ run_timesfm.py\n β”‚ β”‚ └── utils.py\n β”‚ └── long_horizon_benchmarks/\n β”‚ └── run_eval.py\n β”œβ”€β”€ peft/\n β”‚ └── finetune.py\n └── src/\n β”œβ”€β”€ adapter/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ dora_layers.py\n β”‚ β”œβ”€β”€ lora_layers.py\n β”‚ └── utils.py\n └── finetuning/\n └── __init__.py</div>",
"class": "folder"
}
]
},
{
"name": "Infrastructure β€” scripts/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">scripts/check_timesfm_env.py</div>\n<div class=\"path-block\">scripts/patch_timesfm.py</div>\n<div class=\"path-block\">scripts/playwright_smoke.js</div>\n<div class=\"path-block\">scripts/scratch_cleanup.py</div>\n<div class=\"path-block\">scripts/test_scratch_cleanup.py</div>\n<div class=\"path-block\">scripts/verify_local.py</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>Check</b> β€” class in <code>scripts/verify_local.py</code></li>\n<li><b>CleanupError</b> β€” class in <code>scripts/scratch_cleanup.py</code></li>\n<li><b>CleanupResult</b> β€” class in <code>scripts/scratch_cleanup.py</code></li>\n<li><code>_resolve_command</code> β€” function in <code>scripts/verify_local.py</code></li>\n<li><code>_run_check</code> β€” function in <code>scripts/verify_local.py</code></li>\n<li><code>build_checks</code> β€” function in <code>scripts/verify_local.py</code></li>\n<li><code>main</code> β€” function in <code>scripts/verify_local.py</code></li>\n<li><code>_build_argument_parser</code> β€” function in <code>scripts/scratch_cleanup.py</code></li>\n<li><code>_build_cleanup_target</code> β€” function in <code>scripts/scratch_cleanup.py</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── scripts/\n β”œβ”€β”€ check_timesfm_env.py\n β”œβ”€β”€ patch_timesfm.py\n β”œβ”€β”€ playwright_smoke.js\n β”œβ”€β”€ scratch_cleanup.py\n β”œβ”€β”€ test_scratch_cleanup.py\n └── verify_local.py</div>",
"class": "folder"
}
]
},
{
"name": "UI / Frontend β€” scratch/ 1r β€” Overview",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">scratch/Kronos-upstream/examples/get_akshare_date_2024-2025_x.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/get_date_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_akshare_2024-2025.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_batch_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_cn_markets_day.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new_GUI.py</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>InvestDebateState</b> β€” class in <code>scratch/tradingagents-audit/tradingagents/agents/utils/agent_states.py</code></li>\n<li><b>RiskDebateState</b> β€” class in <code>scratch/tradingagents-audit/tradingagents/agents/utils/agent_states.py</code></li>\n<li><b>EnhancedMarketFactorAnalyzer</b> β€” class in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><b>StockPredictorGUI</b> β€” class in <code>scratch/Kronos-upstream/examples/prediction_new_GUI.py</code></li>\n<li><code>enhance_prediction_with_market_factors</code> β€” function in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><code>ensure_output_directory</code> β€” function in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><code>create_question_box</code> β€” function in <code>scratch/tradingagents-audit/cli/main.py</code></li>\n<li><code>load_models</code> β€” function in <code>scratch/Kronos-upstream/finetune/qlib_test.py</code></li>\n<li><code>make_log</code> β€” function in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_decision_with_markdown_separator</code> β€” method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_fetch_returns_valid_ticker</code> β€” method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_full_cycle_store_resolve_inject</code> β€” method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“€ Cross-Layer Dependencies",
"body": "<code>DELETE /api/cache</code>, <code>getModelSignatureFromPane</code>",
"class": "warning"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── scratch/\n └── Kronos-upstream/\n β”œβ”€β”€ examples/\n β”‚ β”œβ”€β”€ yuce/\n β”‚ β”‚ └── historical_backtest.py\n β”‚ β”œβ”€β”€ get_akshare_date_2024-2025_x.py\n β”‚ β”œβ”€β”€ get_date_new.py\n β”‚ β”œβ”€β”€ prediction_akshare_2024-2025.py\n β”‚ β”œβ”€β”€ prediction_batch_example.py\n β”‚ β”œβ”€β”€ prediction_cn_markets_day.py\n β”‚ β”œβ”€β”€ prediction_example.py\n β”‚ β”œβ”€β”€ prediction_new.py\n β”‚ β”œβ”€β”€ prediction_new_GUI.py\n β”‚ β”œβ”€β”€ prediction_wo_vol_example.py\n β”‚ └── run_backtest_kronos.py\n └── finetune/\n └── config.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ Kronos-upstream/ πŸ”— 1r",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">scratch/Kronos-upstream/examples/get_akshare_date_2024-2025_x.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/get_date_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_akshare_2024-2025.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_batch_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_cn_markets_day.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new_GUI.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── scratch/\n └── Kronos-upstream/\n β”œβ”€β”€ examples/\n β”‚ β”œβ”€β”€ yuce/\n β”‚ β”‚ └── historical_backtest.py\n β”‚ β”œβ”€β”€ get_akshare_date_2024-2025_x.py\n β”‚ β”œβ”€β”€ get_date_new.py\n β”‚ β”œβ”€β”€ prediction_akshare_2024-2025.py\n β”‚ β”œβ”€β”€ prediction_batch_example.py\n β”‚ β”œβ”€β”€ prediction_cn_markets_day.py\n β”‚ β”œβ”€β”€ prediction_example.py\n β”‚ β”œβ”€β”€ prediction_new.py\n β”‚ β”œβ”€β”€ prediction_new_GUI.py\n β”‚ β”œβ”€β”€ prediction_wo_vol_example.py\n β”‚ └── run_backtest_kronos.py\n └── finetune/\n └── config.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ tradingagents-audit/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">scratch/tradingagents-audit/cli/__init__.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/announcements.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/config.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/main.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/models.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/stats_handler.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/utils.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/docker-compose.yml</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── scratch/\n └── tradingagents-audit/\n β”œβ”€β”€ cli/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ announcements.py\n β”‚ β”œβ”€β”€ config.py\n β”‚ β”œβ”€β”€ main.py\n β”‚ β”œβ”€β”€ models.py\n β”‚ β”œβ”€β”€ stats_handler.py\n β”‚ └── utils.py\n β”œβ”€β”€ scripts/\n β”‚ └── smoke_structured_output.py\n β”œβ”€β”€ tests/\n β”‚ └── conftest.py\n β”œβ”€β”€ docker-compose.yml\n β”œβ”€β”€ main.py\n └── test.py</div>",
"class": "folder"
}
]
},
{
"name": "backend/ β€” Overview",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">backend/__init__.py</div>\n<div class=\"path-block\">backend/analysis_engine.py</div>\n<div class=\"path-block\">backend/analysis_report.py</div>\n<div class=\"path-block\">backend/api_facade.py</div>\n<div class=\"path-block\">backend/api_models.py</div>\n<div class=\"path-block\">backend/cache_utils.py</div>\n<div class=\"path-block\">backend/catalog_utils.py</div>\n<div class=\"path-block\">backend/forecast_service.py</div>",
"class": ""
},
{
"title": "πŸ”„ Key Components",
"body": "<ul><li><b>APIKeyPool</b> β€” class in <code>backend/main.py</code></li>\n<li><b>CircuitBreaker</b> β€” class in <code>backend/main.py</code></li>\n<li><b>ConnectionManager</b> β€” class in <code>backend/main.py</code></li>\n<li><b>GlobalHTTPClient</b> β€” class in <code>backend/main.py</code></li>\n<li><code>_ip_cleanup_loop</code> β€” function in <code>backend/main.py</code></li>\n<li><code>_parse_timestamp</code> β€” function in <code>backend/main.py</code></li>\n<li><code>_round</code> β€” function in <code>backend/main.py</code></li>\n<li><code>_s</code> β€” function in <code>backend/main.py</code></li>\n<li><code>_warmup_chronos</code> β€” function in <code>backend/main.py</code></li>\n<li><code>clear_symbol_cache</code> β€” function in <code>backend/main.py</code></li>\n<li><code>download_analysis_report</code> β€” function in <code>backend/main.py</code></li>\n<li><code>fetch_binance</code> β€” function in <code>backend/main.py</code></li></ul>",
"class": "folder"
},
{
"title": "πŸ“€ Cross-Layer Dependencies",
"body": "<code>route_to_vendor</code>",
"class": "warning"
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── backend/\n β”œβ”€β”€ forecasting/\n β”‚ └── __init__.py\n β”œβ”€β”€ __init__.py\n β”œβ”€β”€ analysis_engine.py\n β”œβ”€β”€ analysis_report.py\n β”œβ”€β”€ api_facade.py\n β”œβ”€β”€ api_models.py\n β”œβ”€β”€ cache_utils.py\n β”œβ”€β”€ catalog_utils.py\n β”œβ”€β”€ forecast_service.py\n β”œβ”€β”€ forecast_worker_entry.py\n β”œβ”€β”€ forecast_worker_protocol.py\n └── forecast_worker_supervisor.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ forecasting/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">backend/forecasting/__init__.py</div>\n<div class=\"path-block\">backend/forecasting/ai_score_utils.py</div>\n<div class=\"path-block\">backend/forecasting/config.py</div>\n<div class=\"path-block\">backend/forecasting/ohlc4_utils.py</div>\n<div class=\"path-block\">backend/forecasting/providers/__init__.py</div>\n<div class=\"path-block\">backend/forecasting/providers/chronos_provider.py</div>\n<div class=\"path-block\">backend/forecasting/providers/timesfm_provider.py</div>\n<div class=\"path-block\">backend/forecasting/rules.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── backend/\n └── forecasting/\n β”œβ”€β”€ providers/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ chronos_provider.py\n β”‚ └── timesfm_provider.py\n β”œβ”€β”€ __init__.py\n β”œβ”€β”€ ai_score_utils.py\n β”œβ”€β”€ config.py\n β”œβ”€β”€ ohlc4_utils.py\n β”œβ”€β”€ rules.py\n └── runtime_availability.py</div>",
"class": "folder"
}
]
},
{
"name": " ↳ kronos_core/",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">backend/kronos_core/__init__.py</div>\n<div class=\"path-block\">backend/kronos_core/model/__init__.py</div>\n<div class=\"path-block\">backend/kronos_core/model/kronos.py</div>\n<div class=\"path-block\">backend/kronos_core/model/module.py</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── backend/\n └── kronos_core/\n β”œβ”€β”€ model/\n β”‚ β”œβ”€β”€ __init__.py\n β”‚ β”œβ”€β”€ kronos.py\n β”‚ └── module.py\n └── __init__.py</div>",
"class": "folder"
}
]
},
{
"name": "πŸ“„ Zero-Symbol Files",
"badge": "MODULE",
"cards": [
{
"title": "πŸ“₯ Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>",
"class": ""
},
{
"title": "πŸ“ Structure",
"body": "<div class=\"path-block\">└── libs/\n └── chronos-forecasting/\n β”œβ”€β”€ .github/\n β”‚ β”œβ”€β”€ ISSUE_TEMPLATE/\n β”‚ β”‚ └── config.yml\n β”‚ └── workflows/\n β”‚ β”œβ”€β”€ ci.yml\n β”‚ β”œβ”€β”€ eval-model.yml\n β”‚ └── publish-to-pypi.yml\n β”œβ”€β”€ ci/\n β”‚ └── evaluate/\n β”‚ └── backtest_config.yaml\n └── scripts/\n β”œβ”€β”€ evaluation/\n β”‚ └── configs/\n β”‚ β”œβ”€β”€ in-domain.yaml\n β”‚ └── zero-shot.yaml\n └── training/\n └── configs/\n β”œβ”€β”€ chronos-gpt2.yaml\n β”œβ”€β”€ chronos-t5-base.yaml\n β”œβ”€β”€ chronos-t5-large.yaml\n β”œβ”€β”€ chronos-t5-mini.yaml\n └── chronos-t5-small.yaml</div>",
"class": "folder"
}
]
}
],
"pipelines": [
{
"name": "Pipeline: scratch β†’ frontend β†’ backend",
"cards": [
{
"title": "πŸ”„ Data Flow",
"body": "<code>scratch</code> β†’ <code>frontend</code> β†’ <code>backend</code>",
"class": "queue"
},
{
"title": "πŸ“Š Layers",
"body": "Cross-layer call chain detected from CodeGraph edges",
"class": ""
}
]
},
{
"name": "Pipeline: frontend β†’ backend β†’ scratch",
"cards": [
{
"title": "πŸ”„ Data Flow",
"body": "<code>frontend</code> β†’ <code>backend</code> β†’ <code>scratch</code>",
"class": "queue"
},
{
"title": "πŸ“Š Layers",
"body": "Cross-layer call chain detected from CodeGraph edges",
"class": ""
}
]
},
{
"name": "Pipeline: frontend β†’ scratch β†’ backend",
"cards": [
{
"title": "πŸ”„ Data Flow",
"body": "<code>frontend</code> β†’ <code>scratch</code> β†’ <code>backend</code>",
"class": "queue"
},
{
"title": "πŸ“Š Layers",
"body": "Cross-layer call chain detected from CodeGraph edges",
"class": ""
}
]
},
{
"name": "Pipeline: backend β†’ scratch β†’ frontend",
"cards": [
{
"title": "πŸ”„ Data Flow",
"body": "<code>backend</code> β†’ <code>scratch</code> β†’ <code>frontend</code>",
"class": "queue"
},
{
"title": "πŸ“Š Layers",
"body": "Cross-layer call chain detected from CodeGraph edges",
"class": ""
}
]
}
],
"queues": [],
"ai_components": [
{
"name": "πŸ€– AI / LLM Integration",
"cards": [
{
"title": "🧠 Detected AI Components",
"body": "<code>ADMIN_TOKEN</code>, <code>ADMIN_TOKEN_ENV_KEY</code>, <code>AIRuleDocument</code>, <code>AIRuleRegistry</code>, <code>AI_SCORE_FIELD_DEFAULTS</code>, <code>AI_SCORING_VERSION</code>, <code>AVAILABLE_MODELS</code>, <code>AnthropicClient</code>, <code>ApiModelsTests</code>, <code>AverageAiScoreFieldsTests</code>, <code>AzureOpenAIClient</code>, <code>BaseLLMClient</code>, <code>CHRONOS2_MODEL_MARKER</code>, <code>CHRONOS_AVAILABLE</code>, <code>Chronos2Model</code>",
"class": "ai"
},
{
"title": "πŸ“ Integration Pattern",
"body": "AI/LLM calls detected via import analysis and symbol naming patterns",
"class": ""
}
]
}
],
"interventions": [
{
"name": "Manual Intervention Points",
"cards": [
{
"title": "⚠ _retry",
"body": "<code>backend/main.py</code> (line 1231) β€” function",
"class": "warning"
},
{
"title": "⚠ FX_PRIMARY_FALLBACK_SOURCES",
"body": "<code>backend/main.py</code> (line 873) β€” variable",
"class": "warning"
},
{
"title": "⚠ TORCH_IMPORT_ERROR",
"body": "<code>backend/main.py</code> (line 213) β€” variable",
"class": "danger"
},
{
"title": "⚠ TORCH_IMPORT_ERROR",
"body": "<code>backend/main.py</code> (line 216) β€” variable",
"class": "danger"
},
{
"title": "⚠ AlphaVantageRateLimitError",
"body": "<code>scratch/tradingagents-audit/tradingagents/dataflows/alpha_vantage_common.py</code> (line 38) β€” class",
"class": "danger"
},
{
"title": "⚠ test_crypto_dynamic_source_mappings_are_derived_for_hf_safe_fallbacks",
"body": "<code>backend/test_api_regressions.py</code> (line 842) β€” method",
"class": "warning"
},
{
"title": "⚠ test_crypto_historical_fetch_on_hf_uses_hf_safe_fallback_first",
"body": "<code>backend/test_api_regressions.py</code> (line 859) β€” method",
"class": "warning"
},
{
"title": "⚠ test_finalize_forecast_error_payload_omits_legacy_forecast_candles_field",
"body": "<code>backend/test_api_regressions.py</code> (line 1684) β€” method",
"class": "danger"
}
]
}
],
"entry_points": [
{
"name": "πŸš€ Application Entry Points",
"cards": [
{
"title": "πŸ“‚ Entry Files",
"body": "<div class=\"path-block\">app.py</div>",
"class": "entry"
},
{
"title": "πŸ“Š Count",
"body": "1 entry-point files detected",
"class": "success"
}
]
},
{
"name": "πŸš€ Application Entry Points",
"cards": [
{
"title": "πŸ“‚ Entry Files",
"body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-base.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-large.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-mini.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-small.yaml</div>",
"class": "entry"
},
{
"title": "πŸ“Š Count",
"body": "17 entry-point files detected",
"class": "success"
}
]
}
],
"external_repos": [
{
"name": "πŸ—„ Databases",
"cards": [
{
"title": "Database Systems",
"body": "<code>typeorm</code>",
"class": ""
}
]
},
{
"name": "πŸ€– AI/LLM Services",
"cards": [
{
"title": "External AI APIs",
"body": "<code>anthropic</code>, <code>deepseek</code>, <code>google_ai</code>, <code>huggingface</code>, <code>langchain</code>, <code>openai</code>",
"class": "ai"
}
]
}
],
"business_rules": [
"βœ… VALIDATION: <code>_validate_cache_target</code> β€” data validation in <code>backend/main.py</code>",
"βœ… VALIDATION: <code>_validate_symbol_and_interval</code> β€” data validation in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>DELETE /api/cache</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>DELETE /api/cache/{symbol}/{interval}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/ai/rules</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/analysis-report/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/analysis/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/backtest/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/cache/stats</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/forecast/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/forecasting/rules</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/health</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/historical/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/indicators/{symbol}</code> β€” API endpoint in <code>backend/main.py</code>",
"πŸ”— ROUTE: <code>GET /api/market-peers</code> β€” API endpoint in <code>backend/main.py</code>"
],
"file_prefixes": {
"frontend/": "UI / Frontend β€” frontend/",
"libs/chronos-forecasting/": "[chronos-forecasting] Core / Business Logic β€” libs/",
"libs/timesfm/": "[timesfm] Core / Business Logic β€” libs/",
"scripts/": "Infrastructure β€” scripts/",
"scratch/": "UI / Frontend β€” scratch/ 1r",
"backend/": "backend/",
".codegraph/": ".codegraph/"
},
"output_structure": " πŸš€ Entry Points/ (1 files)\n UI / Frontend β€” frontend// (5 files)\n [chronos-forecasting] Core / Business Logic β€” libs// (39 files)\n [timesfm] Core / Business Logic β€” libs// (58 files)\n Infrastructure β€” scripts// (6 files)\n UI / Frontend β€” scratch/ 1r/ (107 files)",
"workflows": [
{
"name": "🌐 Auto-Detected Architecture Flow",
"mermaid": "graph TD\n classDef tab fill:#1e1b4b,stroke:#818cf8,stroke-width:2px,color:#e0e7ff\n classDef step fill:#111827,stroke:#374151,stroke-width:1px,color:#f3f4f6\n classDef folder fill:#1e1b0a,stroke:#f59e0b,stroke-width:2px,color:#fefce8\n classDef queue fill:#0a1e2e,stroke:#06b6d4,stroke-width:2px,color:#e0f7ff\n classDef ai fill:#1a0a2e,stroke:#a855f7,stroke-width:2px,color:#f3e8ff\n classDef ok fill:#064e3b,stroke:#34d399,stroke-width:2px,color:#ecfdf5\n\n L0[\"πŸš€ Entry Points\"]:::tab\n L1[\"UI / Frontend β€” frontend/\"]:::tab\n L0 -->L1\n L2[\"[chronos-forecasting] Core / Business Lo\"]:::folder\n L1 -->L2\n L3[\"[timesfm] Core / Business Logic β€” libs/\"]:::folder\n L2 -->L3\n L4[\"Infrastructure β€” scripts/\"]:::queue\n L3 -->L4\n L5[\"UI / Frontend β€” scratch/ 1r\"]:::tab\n L4 -->L5\n L6[\"backend/\"]:::folder\n L5 -->L6\n L7[\".codegraph/\"]:::folder\n L6 -->L7\n L5 -.->L6\n L1 -.->L6\n L1 -.->L5\n L5 -.->L1\n L6 -.->L5",
"tabs": []
}
],
"mermaid_override": "",
"has_content": true
}