Bladeren bron

补: --publish-only 那条路的谱数要照数 (远端清单曾写"谱 0")

vib_raw_build.py 在 publish-only 模式下跳过了 spectra 步骤, 连带把 n_spectra 留在 0 ⇒
清单 vib_raw_manifest.json 写"谱 0" (实际落着 1704 件谱 / spectra_meta 42 万行) —— 清单是给
审计与报告对账用的, 少报就是账不实。现在两种模式都从 spectra_meta.parquet 数 (没有 meta 就数 *.npz)。
远端复核: --manifest-only 重写后 → 窗 w0316 · 2,066,686 行 · 420,742 谱。
zhouyang.xie 3 weken geleden
bovenliggende
commit
524e42de33
1 gewijzigde bestanden met toevoegingen van 8 en 4 verwijderingen
  1. 8 4
      scripts/vib_raw_build.py

+ 8 - 4
scripts/vib_raw_build.py

@@ -349,10 +349,14 @@ def main() -> int:
         run('spectra', [PY, str(ROOT / 'scripts/rudong_tcm_spectra.py'), '--root', str(root),
                         '--out', str(staging / 'spectra'), '--meas', a.meas, '--jobs', str(a.jobs)]
             + (['--limit', str(a.limit)] if a.limit else []), log)
-        sm = staging / 'spectra' / 'spectra_meta.parquet'
-        if sm.exists():
-            import pandas as pd
-            n_spectra = len(pd.read_parquet(sm))
+    # ★谱数在**两种模式**下都要数 (2026-09-19 远端实逮: --publish-only 那条路把 n_spectra 留在 0,
+    #   于是清单/报告写"谱 0" —— 明明有 1710 件谱件落着; 清单是给审计对账用的, 少报就是账不实)
+    sm = staging / 'spectra' / 'spectra_meta.parquet'
+    if sm.exists():
+        import pandas as pd
+        n_spectra = len(pd.read_parquet(sm, columns=['shard']))
+    elif (staging / 'spectra').is_dir():
+        n_spectra = sum(1 for _ in (staging / 'spectra').rglob('*.npz'))
 
     # 窗名: 用数据自身的起始日 (wMMDD), 与既有 w0127/w0707/w0811 同口径
     import pandas as pd