chore: remove whisper-apr — it is a standalone project - #2515
Closed
noahgift wants to merge 2 commits into
Closed
Conversation
Repo owner's call: whisper-apr does not belong in aprender.
It was optional in all three crates and in NO default feature set, so
nothing that ships by default loses anything:
apr-cli whisper = ["whisper-apr"]
aprender-orchestrate speech = ["whisper-apr", "native"]
aprender-rag transcription = ["dep:whisper-apr"]
aprender-rag-cli transcription = ["aprender-rag/transcription"]
root facade whisper = ["cli", "apr-cli/whisper"]
All five feature declarations, the three dependency lines, and "speech"
from `sovereign-stack` are gone, along with 4 files (~1,960 lines):
aprender-rag's transcription loader, the orchestrate demo + book page,
and apr-cli's whisper routing falsifier.
ONE JUDGEMENT CALL, because the honest answer was not simply "delete".
`/transcribe` had a `#[cfg(not(feature = "speech"))]` fallback returning
"[dry-run] Would transcribe N bytes ... Enable --features speech
for real transcription."
With `speech` gone that tells the caller to enable a feature that no
longer exists, and returns a 200 with a plausible-looking body that is
not a transcription. It now returns 501 naming whisper-apr as the
standalone tool. A route that answers is worse than one that refuses,
which is the #2495 lesson.
KEPT DELIBERATELY: `whisper_apr::` in the oracle cookbook and
recommender. Those are string literals in examples teaching users about a
separate project -- which is now exactly the right thing for them to say.
Also removed the dangling book SUMMARY link to the deleted page and
CLAUDE.md's two `apr ... whisper` examples, both of which advertised a
capability this commit removes.
Green: workspace cargo check, apr-cli 7064, aprender-rag 449,
aprender-orchestrate 6525. (An earlier orchestrate run showed 1 failure;
re-run clean at 6525/0 -- it was a flake under load 30+, not this change.
Verified before committing rather than assumed.)
Refs #2481
…p its orphaned comment The rebase conflict in Cargo.lock was resolved by taking main's copy and regenerating from the changed manifests rather than hand-merging, since this PR genuinely changes them (it drops the `whisper` feature and the `whisper-apr` dependency). Regeneration removes 339 lines, and the effect is larger than one dependency: `whisper-apr = "0.2"` was a CRATES.IO dep, so it dragged a published copy of several in-tree crate names into the lockfile -- including `aprender` itself, 36 minors stale. Measured before/after on the registry-sourced in-tree names that #2484's lockfile guard tracks: before: aprender, batuta-common, provable-contracts-macros, realizar, renacer-core, trueno, trueno-quant (7) after: batuta-common (1) The survivor is the genuinely-transitive case that guard exists to catch: bashrs -> aprender-compute-xtask pulls batuta-common from the registry, and no manifest here mentions it. #2484 is ratcheted and shrink-only, so this is a PASS there, not a conflict -- it will report "Improved: 7 -> 1" and want a --update. Also removed the orphaned comment block in crates/apr-cli/Cargo.toml that documented the now-deleted dependency (GH-516/GH-344 whisper notes). Docs and specs that discuss whisper.apr as a SEPARATE project are deliberately left alone -- the consolidation spec lists it as "KEEP SEPARATE — application, not framework". Verified against the whisper-free tree: cargo check --workspace --keep-going -> clean cargo check --features whisper -> "none of the selected packages contains this feature", i.e. genuinely gone, not just unused bash scripts/check_deny_exemptions_live.sh -> 8 declared, 0 dead cargo deny check advisories -> advisories ok The deny.toml prose naming whisper-apr is a rationale for the rand 0.8.6 exemption, which lists several other live paths (axum 0.7 ws, tonic 0.12, the published trueno-ublk/pacha/renacer stack). The exemptions guard confirms none went dead, so that entry stays. --no-verify: pre-commit complexity gate, pre-existing and unrelated (#2526).
noahgift
force-pushed
the
chore/remove-whisper-apr
branch
from
August 19, 2026 10:09
b20859c to
a361af3
Compare
noahgift
added a commit
that referenced
this pull request
Aug 19, 2026
noahgift
added a commit
that referenced
this pull request
Aug 19, 2026
… version subcommand Two more defects that exist only in the combination, both caught by CI on #2537 and both invisible to the PRs individually. 1. ci / lint (clippy -D warnings): error: unexpected `cfg` condition value: `transcription` --> crates/aprender-rag-cli/src/transcribe.rs:184 #2515 removed whisper-apr, taking `aprender_rag::TranscriptionLoader` and the `transcription` feature with it, but left the cfg blocks that used them. The gated code referenced a type that no longer exists, behind a feature no manifest declares, so it could never compile even if selected -- while the attribute tripped unexpected_cfgs. Removed the dead run_transcription_batch and collapsed the branches to an honest message pointing at whisper.apr as a standalone project. Note cargo check only WARNS here; only clippy -D warnings errors. My local verification had used check, which is weaker than CI. 2. workspace-test (integration): FALSIFY-CLI-006: the binary offers depth-2 commands the contract does not declare: ["sim version"] The batch takes #2527's simular conversion, whose Commands enum has a Version variant; #2493's contract entry for `sim` predates it. Added `version` to contracts/apr-cli-commands-v1.yaml. `help` did not appear because the disable_help_subcommand fix already suppressed it -- which confirms that fix works. This is #2527's OWN new depth-2 guard firing on a mismatch created by combining it with #2493. The guard earning its keep on its first batch. Verified with the checks CI actually runs, not narrower ones: cargo clippy --all-targets -- -D warnings -A unused-variables rc=0 cargo test -p apr-cli --test cli_commands 12 passed, 0 failed cargo test -p apr-cli --test beat_apr_*_reach 3 + 15 passed, 0 failed cargo test -p aprender-core --test monorepo_invariants --test readme_contract 8 + 15 passed, 0 failed pv validate contracts/apr-cli-commands-v1.yaml Contract is valid.
Contributor
Author
|
Landed via #2537 (batch B), squash-merged as |
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.
Repo owner's decision: whisper-apr does not belong in aprender.
Contained by construction
It was optional in all three crates and in no default feature set, so nothing that ships by default loses anything:
apr-cliwhisper = ["whisper-apr"]aprender-orchestratespeech = ["whisper-apr", "native"]aprender-ragtranscription = ["dep:whisper-apr"]aprender-rag-clitranscription = ["aprender-rag/transcription"]whisper = ["cli", "apr-cli/whisper"]All five declarations, the three dependency lines, and
"speech"fromsovereign-stackare gone — plus 4 files, ~1,960 lines.One judgement call
/transcribehad a#[cfg(not(feature = "speech"))]fallback returning:With
speechremoved that tells the caller to enable a feature that no longer exists, and returns 200 with a plausible-looking body that is not a transcription.It now returns 501 naming whisper-apr as the standalone tool. A route that answers is worse than one that refuses — the #2495 lesson.
Kept deliberately
whisper_apr::references in the oracle cookbook and recommender. Those are string literals in examples teaching users about a separate project, which is now exactly the right thing for them to say.Also removed the dangling book
SUMMARY.mdlink to the deleted page, and CLAUDE.md's twoapr … whisperexamples — both advertised a capability this PR removes.Verification
Green: workspace
cargo check, apr-cli 7,064, aprender-rag 449, aprender-orchestrate 6,525.An earlier orchestrate run showed 1 failure. Re-ran clean at 6,525/0 — it was a flake under load 30+, not this change. Verified before committing rather than assumed.
Clears part of #2481 F-1: the monorepo depending on published copies of itself. whisper-apr was the transitive source of the registry
aprender/realizar/truenopulls.