Tracking issue for code quality improvements identified during thesis repo review. ## Critical - [ ] #50 Refactor `master_ansatz.jl` — 8 nearly identical `QME_sI_ansatz_*` functions (~384 LOC duplication) - [ ] #51 Refactor `master_iterative.jl` — 4 duplicated solvers; remove `_old` versions - [ ] #52 Fix risky division in `master_iterative.jl:340` (can silently produce `Inf`) ## High - [ ] #53 Replace `typeof(rho) <: Operator` type-checking anti-pattern with dispatch (9+ places) - [ ] #54 Replace bare parameter tuples with `NamedTuple` or `struct` (20+ places) - [ ] #55 Add `@enum` for magic symbol strings (`:interaction_picture`, `:ground_ground`, etc.) - [ ] #56 Fix potential `nothing` return in `trace.jl:71-79` ## Medium - [ ] #57 Improve type annotations throughout (`::Array` → `::AbstractMatrix{ComplexF64}`) - [ ] #58 Clean up technical debt: 13 TODOs, dead code in `aggregateTools.jl`, re-enable `test_memory_kernel.jl`
Tracking issue for code quality improvements identified during thesis repo review.
Critical
master_ansatz.jl— 8 nearly identicalQME_sI_ansatz_*functions (~384 LOC duplication)master_iterative.jl— 4 duplicated solvers; remove_oldversionsmaster_iterative.jl:340(can silently produceInf)High
typeof(rho) <: Operatortype-checking anti-pattern with dispatch (9+ places)NamedTupleorstruct(20+ places)@enumfor magic symbol strings (:interaction_picture,:ground_ground, etc.)nothingreturn intrace.jl:71-79Medium
::Array→::AbstractMatrix{ComplexF64})aggregateTools.jl, re-enabletest_memory_kernel.jl