Repository refactor status#
This page records the stabilized module boundaries that remain after the temporary refactor facades were removed. The focused modules below are now the supported import paths for active package code.
Current decomposition#
Cage stability#
The cage-stability implementation now lives in the qlinks.caging.stability subpackage:
corefor perturbative stability, continuation, Jacobian, and subspace helpers;topologyfor chiral, locality, CLS-completeness, and cohomological diagnostics;boundaryfor boundary-cancellation matroid and periodic-scaling diagnostics;qdmfor square-QDM compact-cage and transfer diagnostics;laurentfor Laurent-polynomial constraint-module diagnostics;typesfor report/data contracts; andsymmetryfor small shared symmetry linear-algebra helpers.
qlinks.caging.stability is now a real subpackage with a curated public API. Active
implementation code should import the defining child module directly.
Local cage search#
Local cage search now lives in the qlinks.caging.local_search subpackage:
typesfor passive configuration/report contracts;geometryfor pure stripe, snake, plaquette/link-region, and local-index geometry helpers;corefor generic local type-1 search algebra and adapter registration;qdmfor QDM local-region construction, basis enumeration, and local kinetic algebra;global_opsfor explicit global-QDM plaquette actions and limited global operators;paddingfor single/multi-block exterior-padding search and structural validation;factorizedfor exact factorized-product residual certification;certificationfor local/multi-block residual certification and result assembly;proposalsfor stripe/snake/adaptive proposal generation;scanfor proposal execution and block collection; andworkflowsfor robust multi-stage local-search orchestration.
qlinks.caging.local_search is now a real subpackage with a curated public API. Active
implementation code should import the defining child module directly.
The focused local-search graph is required to remain free of both eager import cycles and
TYPE_CHECKING/function-local static cycles. Passive result containers therefore live in
local_search.types rather than importing implementation modules back into the contract
layer.
Caging analysis#
Post-search analysis now lives in qlinks.caging.analysis. This move also corrects an early
scientific over-interpretation: the former classification layer did not classify caged
eigenstates. Its valid role is to decide whether the exterior environment can be removed while
constructing a bounded local caging operator.
The analysis ownership is now:
transitionsfor support-aware weighted local transition signatures;environmentfor exterior-environment reduction and its three accepted mechanisms: no exterior weight, projective annihilation, or the same local cancellation pattern;local_structurefor reduced-density-matrix and operator-structure diagnostics;supportandsupport_morphologyfor local support analysis independent of environment removability;spectralandthermodynamicfor ensemble/spectrum diagnostics; andevidencefor finite-size evidence summaries.
A known interference-zero target is not sufficient to remove the environment. Non-projective
closure is accepted only when the target has the same support-aware weighted local transition
signature. Architecture tests enforce the one-way ownership and prevent the former
classification <-> diagnostics static cycle from returning.
Dark-manifold detectors#
The former qlinks.open_system.manifold_detectors implementation is split into:
manifold_darkfor dark-operator basis construction, dressing, and shared linear algebra;manifold_recyclingfor local recycler construction and family-kernel diagnostics;manifold_residualfor residual-kernel diagnostics and targeted jump selection; andmanifold_detector_typesfor passive report/data contracts.
The temporary qlinks.open_system.manifold_detectors facade has been removed. Active package
code and tests must import the focused modules instead.
Neutral local-structure migration#
Local reduced-density matrices, matrix-unit expansion, and local pattern embedding belong to
qlinks.local_structure. Historical re-exports through caging/open-system modules exist
only to let notebooks and deprecated constructors migrate.
Removal gates#
A compatibility bridge should be deleted when:
the replacement names and module boundaries have survived the current review cycle;
first-party package code, tests, scripts, notebooks, and documentation use the replacement;
supported public API tests target the replacement interface rather than the bridge; and
the removal is recorded in the changelog or release/refactor milestone.
No new implementation may depend on the removed compatibility-module paths. The architecture tests enforce this for the former local-search, stability, and manifold-detector facades.