Skip to content

Fix CI error for coloring#35

Open
blegat wants to merge 6 commits intobl/sparse_matrix_colfrom
claude/fix-ci-error-KaRJ3
Open

Fix CI error for coloring#35
blegat wants to merge 6 commits intobl/sparse_matrix_colfrom
claude/fix-ci-error-KaRJ3

Conversation

@blegat
Copy link
Copy Markdown
Owner

@blegat blegat commented Mar 26, 2026

No description provided.

claude added 4 commits March 26, 2026 07:01
- Remove leftover `display(S)` debug statement in coloring.jl
- Add missing `Int[]` for `hess_J` field in `_FunctionStorage` else branch

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
- Build lower triangular sparsity pattern (row >= col) instead of full
  symmetric matrix, so decompress_csc! with :L works correctly
- Always add diagonal entries explicitly (old Coloring module did this
  implicitly; SMC requires them to be in the sparsity pattern)
- Get CSC structure directly from the sparse matrix instead of going
  through compress/decompress
- Switch decompress_csc! from :U to :L to match lower triangular storage
- Update test expectations to CSC lower triangular order:
  J=[1,1,2] (was [1,2,1]), V=[3.4,2.1,1.3] (was [3.4,1.3,2.1])

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
The SMC-based Hessian recovery stores nonzeros in lower triangular CSC
format (column-major: all entries of column j before column j+1, with
diagonal first in each column). Update all multivariate Hessian structure
and value expectations to match this ordering instead of the old
diagonal-first ordering.

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
…ad of Base.promote_op

Base.promote_op may return Any for SMC.coloring since it lacks an explicit return
type annotation, causing TypeError when constructing _FunctionStorage{Any} because
Any <: AbstractColoringResult is false. Use a small test coloring call instead.

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
@blegat blegat force-pushed the bl/sparse_matrix_col branch from 48c9f41 to 68d6fe9 Compare March 26, 2026 09:50
claude added 2 commits March 26, 2026 09:56
…or_preprocess

The function was returning I/J in local variable indices but callers use
them as global variable indices (for hessian_lagrangian_structure). This
caused wrong sparsity patterns when a function depends on non-contiguous
variables (e.g., variables 4 and 5 out of 5 total).

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
… coloring

Pass a full symmetric sparsity pattern to SMC.coloring instead of lower
triangular, so the tree edges are correctly oriented. Store full_colptr,
lower_pos, and full_buffer in ColoringResult to allow recovery via
decompress_csc! with :F, then extract lower-triangular values.

This fixes: BoundsError: attempt to access 0-element Vector{Int64} at index [1]
in test_coloring_end_to_end_hessian_coloring_and_recovery.

https://claude.ai/code/session_01WBu9hZukriWDSSybN9gfBq
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (bl/sparse_matrix_col@68d6fe9). Learn more about missing BASE report.

Additional details and impacted files
@@                   Coverage Diff                   @@
##             bl/sparse_matrix_col      #35   +/-   ##
=======================================================
  Coverage                        ?   89.28%           
=======================================================
  Files                           ?       19           
  Lines                           ?     2072           
  Branches                        ?        0           
=======================================================
  Hits                            ?     1850           
  Misses                          ?      222           
  Partials                        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants