Skip to content

CLAUDE.md documents removed solver-selection kwargs and a nonexistent scs/include/ path #237

Description

@tschm

Subcategory: user-facing documentation
Current → target: 7 → 9

Problem

CLAUDE.md describes an API and a file layout that no longer exist. Three concrete drifts:

  1. CLAUDE.md:78 — "The appropriate C extension is selected based on settings
    (use_indirect, gpu, mkl, cudss, dense)."

    Those kwargs were removed in commit 78758c8 ("Add LinearSolver enum, remove boolean
    solver-selection flags (Add LinearSolver enum, remove boolean solver-selection flags #189)", shipped in 3.3.0). Selection is now linear_solver=
    with the LinearSolver enum (scs/py/__init__.py:28-75). Verified against the built
    extension — each removed kwarg now raises:

    {'use_indirect': True} -> TypeError 'use_indirect' is an invalid keyword argument for this function
    {'gpu': True}          -> TypeError 'gpu' is an invalid keyword argument for this function
    {'mkl': True}          -> TypeError 'mkl' is an invalid keyword argument for this function
    
  2. CLAUDE.md:55-63 — the extension-module list omits _scs_accelerate
    (built at meson.build:424, and confirmed present in a local macOS build), and describes
    _scs_dense as "built if use_lapack=true" when use_lapack defaults to true
    (meson.options:14), so it is effectively always built.

  3. CLAUDE.md:69 — names scs/include/scsmodule.h and scs/include/scsobject.h.
    There is no scs/include/ directory; the files are scs/scsmodule.h and
    scs/scsobject.h. scs/py_ctrlc.c is not documented at all.

Related trivia, same class: scs/scspy.c:6 refers to "the front-facing Python code in
scs.py", which is now scs/py/__init__.py.

Done when

Each of the three lines above matches the code, _scs_accelerate and scs/py_ctrlc.c are
listed, and the scs/include/ paths are corrected.

No activity

Activity on this issue will appear here.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions