Repository navigation
fix(recall): discover live memd identity in the rankings producer (#175) - #224
Conversation
…tefolk#175) Read engine, profile, provider and embedding dimension from the running memd instead of handwritten CLI labels. Keep the producer on-demand; do not check in a fake real-memd baseline.
|
@waterbro-8 please review. Fork PR; I cannot request reviewers on this repo. |
waterbro-8
left a comment
There was a problem hiding this comment.
Identity discovery from live /v1/version + /v1/workspaces/current/ai-profile is the right fail-closed shape for #175; dropping CLI provider/model/engine labels is correct.
Holding CODEOWNER approve until the Go check finishes. Please rebase onto current main (includes #222) — mergeStateStatus is BEHIND. Not product 验收.
waterbro-8
left a comment
There was a problem hiding this comment.
Code review APPROVE (not product 验收). Go check is green.
Producer now copies engine/profile/provider/dimension from live memd; CLI labels are gone; structured-memory queries stay unsupported_source_kind and do not fail the run. Tests cover discovery and artifact identity.
Please rebase onto current main (includes #222) — mergeStateStatus is BEHIND.
|
Rebased locally onto current Cannot push from this OAuth token: GitHub rejects updating Local rebased heads: |
|
Tried again to unstick the behind-by-1 vs
Local rebase onto current
Local rebased heads (not pushed): |
waterbro-8
left a comment
There was a problem hiding this comment.
已检查本次分支更新:仅同步最新 main,并在 CHANGELOG.md 合并两条既有变更说明;未改动功能代码。批准合并。
waterbro-8
left a comment
There was a problem hiding this comment.
Formal review on exact head 2439c3716a2896b0b2684a3fb88614f849c4178b.
- Producer discovers engine/profile/provider/dimension from live
/v1/versionand/v1/workspaces/current/ai-profile, not CLI labels. - Multilingual EN+ZH dataset includes Chinese image-description queries; latency remains client timing.
- On-demand producer and hermetic CI boundary are preserved; unsupported structured-memory filters are recorded without failing the command.
- Hosted checks are green and the focused producer suite is documented PASS (48 tests).
This approves the code change only. The populated isolated memd + real embedding-provider baseline required by issue #175 remains outstanding; do not close #175 until that producer receipt is committed.
waterbro-8
left a comment
There was a problem hiding this comment.
复审 exact head b7f8a14c4129597892e16b15e61091129d8430eb(未复用 2439c3716a28 的 APPROVE/DISMISSED)。未合。不是验收。不要关 #175。
阻断:
mergeable=CONFLICTING/mergeStateStatus=DIRTY,相对maindiverged(ahead 4 / behind 2)。90d066a/b7f8a14只改 CHANGELOG,没有解开冲突。- 本 SHA 上 hosted checks 为空(fork
sun-970/mem)。fail-closed,不能当完整 CI 通过。 - CHANGELOG 卫生:
b7f8a14把 #175 live producer 那条写进了多段历史### Changed(不只 unreleased),重复条目不能当 reconcile 完成。
功能代码(live /v1/version + /v1/workspaces/current/ai-profile 发现身份、去掉 CLI 标签)形状没变,但当前 head 不能合。请同源 rebase 到最新 main、只在 unreleased 保留一条 #175 changelog、等 hosted CI(含 CodeQL)在 exact head 上绿后再叫复审。
#175 仍是 status:needs-triage;populated isolated memd + 真实 embedding-provider baseline 仍缺,不要关 issue。我不合。
waterbro-8
left a comment
There was a problem hiding this comment.
Fresh review on exact head 454089a4f0f815855e0920d82736c2df7e06c302. All prior blockers are resolved: the branch now has latest main as its second parent and is MERGEABLE; CHANGELOG has exactly one #175 entry under Unreleased; #175 is status:ready; all 21 hosted checks pass. I also ran python3 -m unittest discover -s benchmarks/recall/tests on the final merge tree: 48 tests passed. The producer still discovers identity from live memd, retains measured client latency, includes EN+ZH/image-description queries, and stays on-demand. Approving this bounded code slice. Do not close #175 until the populated isolated-memd real-embedding baseline is checked in.
|
@Bindy-lbb / @PeterGuy326 请对 exact head |
waterbro-8
left a comment
There was a problem hiding this comment.
复审 exact head 454089a4f0f815855e0920d82736c2df7e06c302(未复用 b7f8a14c4129 的 REQUEST_CHANGES,也未复用 2439c3716a28)。未合。不是验收。不要关 #175。
上一轮阻断已解除:相对 main ahead、mergeable=MERGEABLE;CHANGELOG 只在 Unreleased 保留一条 #175 producer;hosted CI 21/21 绿,含 Go、PostgreSQL integration、CodeQL (go/python/javascript-typescript)。
代码仍是 live /v1/version + /v1/workspaces/current/ai-profile 发现身份、去掉 CLI 标签、on-demand producer。技术批准,不是产品验收,也不是 #175 populated isolated memd + 真实 embedding-provider baseline 完成。我不合。
PeterGuy326
left a comment
There was a problem hiding this comment.
Member approval on head 454089a (same head @waterbro-8 approved on 2026-09-24; his review plus this one should satisfy the required review count).
What I verified independently:
discover_live_configurationis fail-closed in the right places: missing version string, non-dictactiveprofile, missing embedding stage, empty provider/profile_id, and non-positive dimensions each abort with an explicitBenchmarkErrorinstead of degrading to operator-guessed labels. Thememd/<version>engine label cannot collide with thelexical-referencesentinel.- Exit-code semantics:
produce_exit_coderestricts exit 2 to transport/mapping failures (unsupported_source_kind,unsupported_filterare expected dataset surface gaps), matching the README's contract that structured-memory rows are recorded rather than fatal. - Docs stay honest: the README keeps the evidence boundary (producer ≠ live acceptance; #175's real-memd baseline remains open) while updating the command examples to the flag-less form. CHANGELOG entry matches the behavior.
- CI green on the full matrix including the recall benchmark and agent-host contract jobs.
No merge-blocking finding. Not product acceptance; #175 stays open for the real populated-memd baseline.
Tracking record
Refs #175.
live_producer.pyalready landed via #196; this PR closes remaining measurable gaps that do not require a populated embedding deployment.Summary
python3 -m benchmarks.recall producereads engine/profile/provider/dimension fromGET /v1/versionandGET /v1/workspaces/current/ai-profile(not CLI labels)latency_msremains clientperf_countertimingmake test-recallstay hermeticStill open on #175
No real-memd baseline is checked into
benchmarks/recall/baselines/. That needs a populated isolated memd + embedding provider run; inventing one would be false evidence.Validation ledger
python3 -m unittest discover -s benchmarks/recall/tests