un2266 commited on
Commit
83c2682
·
1 Parent(s): 0a5d32e

E5:_TAB_OUTPUTS 拆成具名子清單(零行為改變)

Browse files

原本 37 元素的單一扁平清單改拆成 11 個具名子清單(語言指標分析/敘述
統計/差異性分析/監督式學習/非監督式學習/研究報告/Canvas可見性/
補的下載按鈕/技術執行紀錄/導覽列下載捷徑/結果導覽閘門)再串接,
方便肉眼對照 index 屬於哪個功能區塊。最終串接後的順序與內容跟原本
逐一相同,13 處呼叫端的 positional tuple 完全不受影響。

Playwright 端到端驗證(情境3,三群比較,含從未測過的 on_metadata_confirm
真實送出路徑,非略過):指標計算/統計分析/報告撰寫全部完成,語言指標
分析/敘述統計/差異性分析/監督式學習/非監督式學習/LLM輔助分析
六個結果頁與下載檔案全部正確顯示,server log 無 error/traceback。

Files changed (1) hide show
  1. app_agent.py +31 -18
app_agent.py CHANGED
@@ -3127,24 +3127,37 @@ def create_app():
3127
  # ── 結果內容輸出元件 + 3 個 Canvas 結果區塊可見性 ─────────────────
3128
  # Phase 8-C:tab2/tab3/tab6(原 gr.Tab())已改成 canvas_idx_col/
3129
  # canvas_stat_col/canvas_report_col(gr.Column()),可見性語意不變。
3130
- _TAB_OUTPUTS = [
3131
- tab_idx_md, tab_idx_df, tab_idx_file, # 0-2 語言指標分析
3132
- tab_desc_md, tab_desc_df, tab_desc_file, # 3-5 敘述統計(含下載)
3133
- tab_diff_head, tab_diff_df, tab_box_img, tab_diff_file, # 6-9 差異性分析(含下載)
3134
- tab_rf_md, tab_imp_df, tab_imp_img, # 10-12 監督式學習
3135
- tab_clust_md, tab_dendro_img, tab_elbow_img, # 13-15 非監督式學習
3136
- tab_pca_img, tab_cluster_df, # 16-17
3137
- tab_rpt_md, tab_rpt_file, # 18-19 研究報告
3138
- canvas_idx_col, canvas_stat_col, canvas_report_col, # 20-22 (visibility)
3139
- tab_imp_file, tab_cluster_file, # 23-24 新增下載按鈕(僅能往尾端加,
3140
- # 不可插入既有 index 中間,見程式工作守則)
3141
- canvas_exec_col, # 25 技術執行紀錄轉正成獨立頁面(2026-07-23)
3142
- nav_dl_idx_btn, nav_dl_stat_btn, # 26-27 導覽列下載捷徑(2026-07-24)
3143
- nav_dl_report_btn, nav_dl_all_btn, # 28-29
3144
- nav_dl_group, # 30 下載捷徑整組(分隔線+四顆)可見性
3145
- nav_idx_btn, nav_stat_sub_0, nav_stat_sub_1, # 31-33 結果導覽 interactive 閘門(A2)
3146
- nav_stat_sub_2, nav_stat_sub_3, nav_report_btn, # 34-36
3147
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
3148
  _N_TAB = len(_TAB_OUTPUTS)
3149
 
3150
  # ── helper ──────────────────────────────────────────────────────────
 
3127
  # ── 結果內容輸出元件 + 3 個 Canvas 結果區塊可見性 ─────────────────
3128
  # Phase 8-C:tab2/tab3/tab6(原 gr.Tab())已改成 canvas_idx_col/
3129
  # canvas_stat_col/canvas_report_col(gr.Column()),可見性語意不變。
3130
+ #
3131
+ # E5(2026-08-05):這份清單是純位置對應——13 處呼叫端(_populate_tabs
3132
+ # 的回傳、_run_computation/on_metadata_confirm/on_metadata_skip 等
3133
+ # generator 的每個 yield)都要交出跟 _TAB_OUTPUTS 完全等長、順序完全
3134
+ # 一致的一份值,Gradio 只認位置、不認名字。拆成下面這些具名子清單只是
3135
+ # 讓「這個 index 屬於哪個功能區塊」肉眼看得出來,**串接後的最終順序與
3136
+ # 內容跟原本的單一扁平清單逐一相同,行為零改變**。真正的規則沒有變:
3137
+ # 子清單內部就代表最終 index 順序,新增元件只能加在對應子清單的尾端,
3138
+ # 不可插入中間、也不可調整子清單彼此的串接順序,否則所有呼叫端的
3139
+ # index 對應會全部錯位。
3140
+ _TAB_IDX = [tab_idx_md, tab_idx_df, tab_idx_file] # 語言指標分析
3141
+ _TAB_DESC = [tab_desc_md, tab_desc_df, tab_desc_file] # 敘述統計(含下載)
3142
+ _TAB_DIFF = [tab_diff_head, tab_diff_df, tab_box_img, tab_diff_file] # 差異性分析(含下載)
3143
+ _TAB_SUPERVISED = [tab_rf_md, tab_imp_df, tab_imp_img] # 監督式學習
3144
+ _TAB_UNSUPERVISED = [tab_clust_md, tab_dendro_img, tab_elbow_img,
3145
+ tab_pca_img, tab_cluster_df] # 非監督式學習
3146
+ _TAB_REPORT = [tab_rpt_md, tab_rpt_file] # 研究報告
3147
+ _TAB_CANVAS_VIS = [canvas_idx_col, canvas_stat_col, canvas_report_col] # 3 個 Canvas 結果區塊可見性
3148
+ _TAB_EXTRA_DL = [tab_imp_file, tab_cluster_file] # 補的下載按鈕(監督式/非監督式學習)
3149
+ _TAB_EXEC_LOG = [canvas_exec_col] # 技術執行紀錄(2026-07-23 轉正成獨立頁面)
3150
+ _TAB_NAV_DL = [nav_dl_idx_btn, nav_dl_stat_btn, # 導覽列下載捷徑(2026-07-24)
3151
+ nav_dl_report_btn, nav_dl_all_btn,
3152
+ nav_dl_group] # 下載捷徑整組(分隔線+四顆)可見性
3153
+ _TAB_NAV_GATES = [nav_idx_btn, nav_stat_sub_0, nav_stat_sub_1, # 結果導覽 interactive 閘門(A2)
3154
+ nav_stat_sub_2, nav_stat_sub_3, nav_report_btn]
3155
+
3156
+ _TAB_OUTPUTS = (
3157
+ _TAB_IDX + _TAB_DESC + _TAB_DIFF + _TAB_SUPERVISED + _TAB_UNSUPERVISED +
3158
+ _TAB_REPORT + _TAB_CANVAS_VIS + _TAB_EXTRA_DL + _TAB_EXEC_LOG +
3159
+ _TAB_NAV_DL + _TAB_NAV_GATES
3160
+ )
3161
  _N_TAB = len(_TAB_OUTPUTS)
3162
 
3163
  # ── helper ──────────────────────────────────────────────────────────