Repository navigation
Add optional local Select development scorer prototype - #34
Merged
Merged
Conversation
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.
Summary
packages/tokenfold-selectdevelopment prototype using the already-shipped schema-1 Select approved-scorer file protocol. Scorer schemas, compression rendering, CLI/binding/npm source and production defaults are unchanged. Separate required CI repairs below include rustls/npm lock metadata and explicit observation-ledger lock release.Validation
cargo fmt --all --check,python eval/run_fidelity.py --gate --profile smoke-first-consumerandgit diff --cached --checkpassed.cargo clippy --workspace --all-targets -- -D warnings,cargo test --workspace --locked,cargo audit, andcargo deny check advisories bans licenses sourcesall passed locally. Existing allowed duplicate-version warnings remain warnings; no advisory was ignored.npm ciandnpm testpassed (12 tests, Node 26.2.0/npm 11.13.0, using the freshly built local main-based CLI). Node 22/24 remote checks must pass on the updated head.Explicit non-goals and remaining gates
This is not the Select v2 developer-preview release. No checkpoint, corpus, ML dependency, hosted inference, model download, package publication, release or tag is included. Redistribution/release/quality qualification remains false. Model artifacts and the separately provisioned supported GPU environment are caller-owned.
The scorer does not certify generic JSON grouping or a retention ratio. Controller integration, representative CUDA/lifecycle validation, clean-user GPU provisioning, rights/final notices and complete prospective matched-budget quality and full compression latency evidence remain open. Full v2 still requires untouched five-workload superiority against pinned Select v1 and healthy standalone Kompress v2, with the declared safety/support/raw-harm/statistical gates and separate cold/warm/contiguous-pipeline reporting.
The incomplete FP16 launch comparison has not been resumed or retried; its requested fresh-run approval remains pending. The large comparison branch and unrelated dirty work are not included in this PR.
Required security repair
The first required security job failed on main's pre-existing rustls 0.23.45 lock entry via ureq/tokenfold-proxy. A separate reviewable commit updates only rustls to the minimum patched 0.23.46 (version/checksum only; unchanged dependency list). This addresses RUSTSEC-2026-0346, 0347, 0348 and 0349. No security-gate suppression or bypass is added. Both new Windows/Linux package contract jobs passed on the first commit; all checks must pass on the updated head before merge.
Required npm clean-install repair
The rustls-updated head passed security and CodeQL, but Node 24 failed at
npm cibecause main's five existing platform entries were{optional:true}placeholders lacking version/integrity metadata; matrix fail-fast cancelled Node 22. npm's package-lock-only resolver restored complete metadata for the already-declared/published exact 0.5.1 packages. Root constraints and all dev-dependency lock entries are unchanged. No npm source, publication workflow, released version, optional-validation suppression or package publication is involved. Actual clean install and all 12 npm tests passed locally; all required remote checks still must pass on this new head.Required ledger lock-release repair
With Node jobs repaired, coverage exposed an existing immediate-reopen failure in the persistent session ledger. The private lock file relied only on descriptor close. Linux locks persist through duplicated/fork-inherited open-file descriptions (flock semantics); a parallel child before exec can temporarily retain ownership. A bounded local WSL/Linux OS control demonstrated close-only refusal and explicit-unlock success while the child remained alive, and waited all child processes. This was an OS control, not a local Rust/Linux build.
A small
Persistence::dropexplicitly unlocks before the normal file close, binding ownership to the ledger lifetime. Live-owner refusal, corruption handling, schema, snapshots and fail-closed trust remain unchanged. A deterministic Unix regression retains a duplicated descriptor, verifies live-owner refusal, then immediate reopening after owner drop and continued exclusivity of the new owner. No retry loop, ignore or gate suppression is added. Windows formatting, clippy/all-targets, locked workspace tests (692 passed, one existing ignored) and deterministic fidelity smoke passed. The Unix regression and Linux coverage must pass in CI; local WSL lacks a Rust toolchain/compiler.