📜 전체 로그 원본
# 13 PM work log (newest entries at the bottom; keep one block per working day)
Purpose: single place that says what the PM did, what is running, and what is waiting for the owner. Details live in the documents linked per line.
Other records: `00_INDEX.md` (index of reports), `12_QA_Gates.md` (QA rules + dated test results), `changelog/` (per-change reports), `CHANGES.md` in each branch,
`git log` per branch, job queue state `python3 NewCode_int/F902DPDF/tools/queue/jobq.py status` (logs in `~/CPP2DPDF/_jobq/logs`, results in `_jobq/work/<job>`).
## Rules in force (owner, 2026-10-16)
- Feature branches: PM commits and pushes freely. `main`: ask before every commit; ask before every merge. Do not push `main` unless told.
- Night queue removed; the PM keeps all 8 cores busy (job queue `tools/queue/jobq.py`). QA gates: Docs/12_QA_Gates.md.
## 2026-10-16
- DONE residual monitor (branch feature/residual-monitor, b5d53d6): Output_Sets/residuals.csv, tools/res/plot_residuals.py; results byte-identical.
- DONE C13 (main a5e998f, committed with owner approval, NOT pushed): balance species re-imposed after the CVODE step; key test ALL PASS, max|sum Y-1| 9.6e-7; transient steps 100-400 now 4e-7 (was 1e-3..5e-3). Docs/changelog/C13_massfraction_balance.md.
- DONE MC particle pool (branch feature/mc-array-efficiency): default particle_pool_factor 3; key test ALL PASS; 1.37x (key channel) and 2.4x (Sydney spray) faster than main, same seed.
- DONE QA gates (branch feature/qa-gates): tools/qa/gate_fast.sh, gate_key.sh, smoke_check.py. GitHub PR checks postponed by the owner.
- DONE job queue (branch feature/job-queue); night queue removed (cron entry deleted).
- DONE integration branch `integration` = main + qa-gates + pool + monitor + job queue; binary ~/DEV/baseline/cfd2dpdf_INT_20261016.
- DONE key-test ensemble on the integration binary: 3 seeds, k-eps variants, 10/20/30 particles per CV all PASS.
- OPEN particles per CV = 40: flame wanders 7.97-8.46 cm (20/CV steady 8.64 cm). Cause unknown. Queued: same case on the pre-pool binary (main_npc40_s1/s2), more seeds (long_npc40_s3/s4), CFL 0.25/1.0, 60/CV.
- OPEN boundary mass flux ratio (outlet/inlet) 0.986-0.996 in the monitor vs 0.998 in K3; not understood.
- STARTED branch feature/sparse-pressure (worktree NewCode_sp, no code committed): matrix analysed (6.6 nonzeros/row, nearly symmetric, one solve per time step, dense LU 24 % of the Sydney run).
- WAITING FOR OWNER: merge of qa-gates, monitor, pool, job queue into main (PM will propose after the 40-particles check); whether to push main.
- Process failures noted: queue idle 13:40-16:43 and 19:37-19:54 because the backlog ran out; fix = keep several hours of jobs queued.
## 2026-10-16 (late evening)
- RESULT 40 particles/CV also on the PRE-POOL binary (main+C13): flame 8.62 -> 7.88-8.12 cm (2 seeds, 3000 steps), same behaviour -> NOT caused by pool/monitor. Cause still open (model/numerics: 10-30 per CV steady at 8.64 cm). CFL 1.0 (1251 steps): K2 FAIL (8.62 -> 8.12 cm) - time-step sensitivity, CFL 0.25 still running.
- DONE feature/sparse-pressure step 1 (committed, pushed, default OFF): banded pressure solver agrees with the dense LU to 1e-13..3e-12; fast gate ALL PASS with the default. GAIN IS SMALL: dense LU = 0.42 s of ~5.5 s per step on the 4862-node spray case (the old LU already skips zeros), 0.02 s on the 1313-node channel. The earlier 'dec_math 24 %' (gprof) overstates it; real hot spots to be re-profiled. Banded only pays off with assembly directly in band storage (step 2, needed for meshes > ~10k nodes: dense A = 8 N^2 bytes).
- QUEUED key_sp_banded_s1/s2 (banded solver in the full key test).