Repository navigation
fix: Declare numeric runtime dependencies for normal installs - #300
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Pigbibi
marked this pull request as ready for review
November 1, 2026 14:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and reproduced baseline
A clean normal-wheel installation of Crypto succeeds, but importing its public
entrypoints fails because the retained QPK monitoring import requires undeclared
Pandas and NumPy dependencies. Existing CI installs those packages separately.
Diagnostic PR #299
reproduced the gap from unchanged main commit
ec0b330081213f56c3ff98164ec00ba26c10dfc9:pip checkpass; entrypoint import fails with missing Pandas; NumPy and Pandas are both absent.The diagnostic PR is now closed without merging; its logs remain the baseline
record. The baseline JSON explicitly reports
runtime_import_succeeded: false.The diagnostic check being green means that the failure was measured; it is not
a successful runtime-import check. The new gate in this proposal only accepts
a successful import.
Proposed change
numpyandpandasas normal runtime dependencies. Do not add newnumeric bounds or copy the stricter research constraints into consumers.
c7646a7168b3dafa763ef7751a182d23e8de7790.Every locked package version, artifact, source revision and research edge is
unchanged; the lock was not regenerated.
existing Binance NumPy 2.4.6 / Pandas 3.0.3 constraints.
list and preserve the exact existing research-extra requirements.
The new jobs build a normal wheel, install only it and its declared dependencies
with pip into a fresh virtual environment, run
pip check, and probe the publicentrypoint with
python -Ioutside the checkout. They reject editable orexternal module origins, QPK pin mismatches, missing metadata/imports and
network attempts. No research extras, manual numeric-package installation or
source-path overlays are used. The baseline acceptance mode is absent.
The previous CI jobs, triggers and permissions remain byte-for-byte intact.
No runtime source, package version, production consumer pin or live configuration
changes. This proposal targets main independently of the diagnostic draft.
Verification before publication
METADATAandRECORDdiffer. The dependency list adds exactly NumPy/Pandas;every runtime payload and all other metadata are identical.
The documentation checker reports one existing README outline advisory.
the two-file metadata-test follow-up, including exact tree/blob identity,
dependency scope and strict import behavior. Its ten verifier tests, three
negative CLI checks and follow-up run of thirteen targeted tests passed.
No blocking findings remained.
are recorded below.
The local normal-install attempt failed while fetching QPK through an
unreachable configured proxy. It was classified as an environment failure;
the baseline reproduction above comes from completed normal-install CI.
CI history
The first test job
reported 265 passed and 2 failed, with 195 subtests passed. The failures were
the old metadata assertions that required QPK alone and kept numeric packages
research-only. All three strict normal-wheel installations passed on that head.
The follow-up updates those two contract expectations to the explicitly requested
runtime declaration. The normal list must now equal
[numpy, pandas, QPK_URL],and the research list must retain
numpy>=2.4.6andpandas>=3.1.0. All otherassertions, runtime code, dependency versions and workflow gates remain unchanged.
No test was skipped or disabled. The first failed run remains recorded; the
corrected head passed the fresh complete run recorded below.
Independent review and CI
Reviewed head:
8144c4e95844e38bc73b5cfec8ae4b5a3edf530e. All nine changed-file blobs match the independentreviews. Published tree
bd47ca416fdb27e4f86824a5f483b4a2014e4da8exactly matches the reviewed tree. CI checkedout synthetic merge
2f1314b06be77b41d3c0a098ab4fed53bf7a1eb0with the same tree; no PR was merged.pip check, strict import passed.pip check, strict import passed.pip check, strict import passed.All three installation probes verified QPK at
c7646a7168b3dafa763ef7751a182d23e8de7790, loaded Crypto/QPK/NumPy/Pandas from their fresh virtual environment, and reported no guarded socket or
DNS attempts during the import. They import the public entrypoint without
running a strategy. The Binance case verifies this installation/import boundary;
it does not claim complete consumer runtime compatibility.
Remaining constraint and adoption
The research project requirement already says
pandas>=3.1.0, while its lockmetadata says
>=3.0.5and locks 3.0.5. This proposal preserves and documentsthat pre-existing inconsistency. The QPK reference checker does not certify
research lock reproducibility. Reconciliation belongs in a separate review;
this PR neither upgrades the lock nor relaxes the research requirement.
The Binance-constrained smoke test proves installation and public-import
compatibility, not complete consumer runtime acceptance. Broader optional
imports, real monitoring storage and deployed consumers are outside this check.
The owner has approved adoption of this dependency declaration. Integration remains subject to the required automated checks and independent AI review. The current commitlint failure and organization-level fix are being checked separately; no failing check will be bypassed. The shared project research-lock reconciliation is separately authorized and tracked in #303.
This PR currently remains a draft. Deployment is outside this change. If adopted and reverted, restore the previous consumer package/lock state through a reviewed revert; that also restores the documented normal-install gap.
AI assistance
ChatGPT (GPT-6 Astra Pro) used separate implementation and independent AI review agents for the packaging change and verification. Review relies on automated checks, independent AI review and risk classification; it does not require a human code reviewer. Owner approval remains required for live trading, deployment, account changes, risk controls and keys/secrets. The adoption approval above records the owner's current instruction, without replacing any required CI result.