feat(memory):feedback-ranking-tie-breaker-evaluation - #1339
Merged
XingYu-Zhong merged 40 commits intoSep 24, 2026
Merged
XingYu-Zhong merged 40 commits into
XingYu-Zhong merged 40 commits into
Conversation
SunwardL
force-pushed
the
codex/prepare-memory-feedback-tiebreaker
branch
from
September 23, 2026 20:42
4291b32 to
c5207b8
Compare
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.
P3-B feedback tie-breaker closeout / PR description
Date: 2026-09-23 15:36 Asia/Shanghai
Branch:
codex/prepare-memory-feedback-tiebreakerBase:
KunAgent/Kun:developP3-A dependency: PR #1324 merged as
8974700bPR title
feat(memory): evaluate feedback ranking tie-breakersPR description
Summary
This PR adds an offline, versioned evaluation of whether explicit Memory confirmation and correction evidence can safely break lexical near-ties. The frozen development evaluation found no eligible feedback candidate: the best feedback configurations improved the small local pair-ordering set, but still violated the pre-registered zero-explicit-forbidden-selection gate. The result is a development no-go, not a production-ranking change and not a holdout decision.
The PR also synchronizes and archives the already-merged P3-A feedback-evolution specification. The P3-A ledger and correction infrastructure remain intact; feedback stays disabled by default, and no feedback signal is wired into production retrieval ranking.
Changes
Development decision
The frozen development partition contains 18 synthetic cases, including four preference pairs. The foundation baseline has pair accuracy
0, Recall/Precision/MRR0.4375, and six explicit forbidden selections. The strongest confirmation-plus-correction candidates have pair accuracy0.75, Recall/Precision/MRR0.625, and three explicit forbidden selections. Their authorization/lifecycle violation count is zero, but the hard gate allows zero explicit forbidden selections, so every candidate fails the complete gate. The fallback lock selectsfoundation-control; a valid lock is not a passing decision.The confidence-bound and gate data remain frozen. No threshold, fixture label, or gate was changed to obtain this outcome. These synthetic development metrics are not estimates of production traffic.
Holdout integrity disclosure
The originally planned one-time holdout execution is not claimed as complete. A later audit found at least five successful test invocations plus the repository write that scored the real frozen holdout through temporary output directories; the exact count including internal deterministic replays is not recoverable, and its recorded
holdoutRunCount: 1did not represent all attempts. The runner also reported some privacy, determinism, and resource flags without measuring all of them. Therefore the historical artifact is retained only as an execution record, not as a valid holdout result. The v1 runner now rejects execution, and this PR does not rerun or reinterpret that version.The final v1 disposition is to close at the development no-go and disclose the deviation from the planned holdout step. Any renewed experiment requires a new decision version, fresh execution controls, and independent review.
Frozen development inputs
a6a37e35a5da6afdfbdae42b9abe8a9f182dcad19167fc82361f662873d7e25917ab0ea2186d11bbdfb38e0f76b75f3547144c74412183e8118cb2e525d6124ab34b6d995a2230aac543885d4173c07f8e3024b4fd8603637d5f49e4258a796427dfc5852afa9d86e0ff52bf549fb154e5b788ac00690758c0c8accd15460ab7c66eecdd069a6507bf158a980e25a556f87fb39f69b6674bede77470d70b1542Validation
npm run build:kun: passed.npm exec -- eslint kun/src/memory: passed.evaluate-kun-memory-feedback-tiebreaker: passed.git diff --check: passed.upstream/developat59e121018; the hosted typecheck and file-line failures are addressed by the upstream fix(rooms): align model settings state with the saved modelRef contract #1341 baseline fix.npm run check:file-linespassed.Baseline rebase and follow-up
The first PR check exposed two upstream baseline problems: the
AgentModelSettings.tsxsaved-model-reference type mismatch and two files over the 700-line gate. Latestdevelopnow contains #1341 (163984da3), which fixes the type contract and splits the oversized files. After rebasing, this PR keeps only a focused regression test in commitc5207b804, verifying that a provider-less fallback option is treated as inheritance (modelRef: null) rather than sent as an invalid persisted model reference. No duplicate production fix is included.Scope and follow-up
feedback.enabledremains off by default. P3-B no-go does not invalidate P3-A ledger/correction infrastructure, but it does not authorize using feedback to rank production memories.Follow-up: room model-reference typecheck fix
The initial PR check exposed a mismatch in
AgentModelSettings.tsx: its broadAgentModelBindingallowed a missingproviderId, while the persistence API requires the stricterAgentIdentitymodel-reference shape. Commit4291b324anarrows the editor state to that persisted contract and disables options that cannot be saved without a provider ID. This adjacent fix does not change Memory behavior.Validation:
AgentModelSettings.test.tspassed (5/5); ESLint for the two changed files andgit diff --checkpassed. A fresh hosted CI run will verify the complete dependency-installed typecheck.