feat: built-in default QRF k-point model with HuggingFace resolution#50
feat: built-in default QRF k-point model with HuggingFace resolution#50junwen94 wants to merge 1 commit into
Conversation
|
Ok a few issues:
I'll get my agent to throw in a more detailed analysis here so it can be used as a handoff comment. |
|
(N.B. This is just a handoff report for agents! Point your agent at this) Detailed agent architecture handoff for PR #50I reviewed PR #50 as an architecture/code-health handoff for the QRF reland. Local verification on the reland content passed:
This branch is directionally useful: the QRF port is readable, the fallback path is mostly honest, and the Kmesh seam is a workable short-term place for structure-dependent k-density prediction. The issues are in the defaulting/model-resolution architecture and in places where QRF-specific behaviour is starting to harden into general Core behaviour. 1. CLI/API default divergenceThe CLI now has materially different default behaviour from the Python API. In But the shared API path remains heuristic by default:
So:
That makes the CLI policy-bearing rather than a thin wrapper around the shared Core API. If the intended product behaviour is “default ML recommendations”, that policy should live in the shared API/config layer, not only in CLI argument handling. If the intended API default remains heuristic, the CLI should not silently choose a different backend. 2. Model downloading/loading is currently a construction-time side effect
This happens when the pipeline is constructed, before any structure is loaded and before the Kmesh stage knows whether the request actually needs ML inference. That has several consequences:
The default pipeline should be side-effect-light. A better shape is a lazy advisor: construct a cheap closure, then resolve/load artifacts only on the first no-hint call that actually requires model inference. Explicit 3. Artifact reproducibility and ownership need tighteningThe PR body describes the default as pinned/reproducible, but the code does not pin the Hugging Face revisions.
revision=NoneThe metallicity artifacts also default to There is also an ownership asymmetry:
A personal namespace is workable as a temporary development path, but it is not a good long-term default dependency for Core. If the default pipeline depends on this artifact, it should live under an organization-controlled model namespace and be pinned to an immutable revision. This also matters because 4. Download/cache behaviour is undocumented in the CLI UXA bare CLI invocation can now resolve/download model artifacts, but the help text does not make that clear and there is no obvious explicit escape hatch like Using
That choice should be explicit in both CLI UX and shared API/config design. 5. QRF feature extraction is hardcoded despite
|
Reland of #38 (reverted in #49) for review. Content unchanged from the cleaned, CI-green state; build artifacts stripped and .gitignore restored. @sigilmakes requesting your architectural review before merge — happy to split it up or discuss design if that helps. Part of #31, gates #30.