fix(v3.1): Phase 54.5 truth leaks + pin rustc 1.97 - #35
Merged
Conversation
Close residual claim/reality leaks in the Phase 54 wiring and stop floating-stable Clippy from reddening main. - Explainability reports the reranker that actually ran (LLM fail-open is heuristic); layers_attempted lists only supported/invoked layers - Unknown rerank_mode is InvalidArgument; CLI clap-rejects too - stop_conditions and mode_override are forwarded into the orchestrator - BM25 text field is STORED so event hits carry a preview for LLM rerank - Salience preserve_order after a successful LLM rerank - Concurrent fan-out (join_all) unless Sequential; sequential timeout breaks the whole fan-out, not just the inner loop - Drop per-event grip scan on BM25 outbox drain - Query, prune, and dedup share one HNSW handle; dimension from embedder - rust-toolchain.toml pins 1.97; allow result_large_err on include_proto!
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
RichardHightower
had a problem deploying
to
e2e-cli
August 30, 2026 19:57 — with
GitHub Actions
Failure
@master requires an explicit toolchain input; it does not read rust-toolchain.toml. Every job failed with "'toolchain' is a required input". Keep the toml for local rustup; name the same 1.97 channel in CI.
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:24 — with
GitHub Actions
Inactive
CI clippy includes e2e-tests with -D warnings. The Phase 55 perf_bench loop tripped explicit_counter_loop, and two ranking_test literals were missing the new preserve_order field.
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
RichardHightower
temporarily deployed
to
e2e-cli
August 30, 2026 20:37 — with
GitHub Actions
Inactive
Merged
5 tasks
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.
Why
Phase 54's public claims were true. A review of the wiring found second-order honesty bugs in the explainability payload, a hole in LLM rerank (empty event previews + salience undoing the model order), and two landmines that would contaminate Phase 55 measurements. Main is also red on Clippy because CI tracks floating
stable(Rust 1.98result_large_erron generated tonic stubs).This is the cleanup the review asked for before more measurement.
What changed
CI / toolchain
rust-toolchain.tomlpins 1.97 so a new stable lint cannot redden main overnightdtolnay/rust-toolchain@masterso the pin is honored#![allow(clippy::result_large_err)]on theinclude_proto!module (we do not control generatedResult<_, tonic::Status>signatures)Explainability tells the truth
rerank=heuristiclayers_attemptedonly lists layers that were supported and invokedstop_conditionsandmode_overrideare forwarded intoquery_ranked_withrerank_modeisInvalidArgument; CLI clap-rejects tooLLM rerank actually reranks
textfield is nowTEXT | STORED(events have empty keywords; the reranker was judging empty bodies)RankingConfig.preserve_orderafter a successful LLM rerank so salience cannot undo the paid-for orderDon't plant Phase 55 landmines
find_grip_for_event)join_all) unless mode is SequentialArc<RwLock<_>>EMBEDDING_DIM, not a magic 384Finding to fix
rerank=llmReranker::mode_name()+fell_backflaglayers_attemptedlisted layers that were never invokedexecutor.supportsstop_conditions/mode_overrideechoed, not honoredquery_ranked_with--reranksilently became heuristicvalue_parser+ gRPCInvalidArgumenttext_previewtext; searcher returns truncated bodypreserve_orderfind_grip_for_eventO(n) per outbox entryjoin_allunless Sequentialindex_handle()embedder.info().dimension/EMBEDDING_DIMresult_large_erron tonic stubsTests (local)
preserve_order)--rerankrejected)-D warnings--checkExisting BM25 indexes created before this change do not store
textand need a rebuild for event previews. New indexes get it automatically.Note on Phase 56 (PR #34)
PR #34 is independently MERGEABLE; its Clippy failure is the same 1.98
result_large_errdrift this PR retires. Merge this first, then rebase #34.