fix(health): `/health` 是常量字符串、doctor 不探活、容量与数据丢失信号缺位——三种"半死"状态全返回 200 ok
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- rust
- Domain
- backend, observability-sre
Research direction
Start at the router that registers /health (handlers.rs:30-34) and the doctor command (main.rs:1435-1541) to see what each currently reports. Then read the failure sites that only log today: reaper eviction http/mod.rs:1368-1373, DELETE and tombstone handlers.rs:663-683, and graceful shutdown http/mod.rs:1430-1435. Done means a /readyz that write-probes storage, proves a recent LLM success and reports admission saturation, a doctor --probe mode, and four registered counters/gauges (sse_clients, agui_runs, persist_failures, sessions_evicted).
Written by the indexing model from the issue text.
Description
场景 gap 单(okguitar 提报)· 优先级 P2 · 依赖:无 · 验收:代码 diff 逐点核对;运行时可见性另需 Langfuse(#124)
基线 origin/main = fc29f3d4。
Summary
handlers.rs:30-34health()返回常量"ok";无/readyz(grep 空)。值班最需要的三种半死——key 失效/网关不通、存储只读或满、sandbox 起不来——全部 200。cmd_doctor(main.rs:1435-1541)只查文件存在/可解析:不发一次网络请求、不试写存储、不测磁盘。- 容量与丢失信号缺位:无
recursive_sse_clients(event_channels的 receiver_count 无人调用)、无 AG-UI 在飞 run(agui_active_runs从未计数)、无在途工具数;持久化失败(真丢数据)只tracing::warn:reaper 驱逐http/mod.rs:1368-1373、DELETEhandlers.rs:663-669、tombstone:673-683、优雅停机时 busy 会话直接不落盘(http/mod.rs:1430-1435)。
建议
拆 /healthz 与 /readyz(存储写探针+最近 LLM 成功时戳+admission 饱和度);doctor 加 --probe;补 4 个计数器/gauge(sse_clients/agui_runs/persist_failures/sessions_evicted);停机 busy 会话数升 error 级进指标。
- Dominant language
- Rust
- Stars
- 4
- Forks
- 0
- Avg merge
- 5h 32m
- Merged PRs (30d)
- 7
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from jeffkit/recursive
-
needs-human
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
jeffkit/recursive#159 · 5 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 53/100
jeffkit/recursive#195 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 15/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 15/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
Maintainers usually reply within 1 day
All issues in jeffkit/recursive
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
swc-project/swc#12516 ·
Maintainers usually reply within 1 day
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security updatePossibly taken @muscariello claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Possibly taken @muse-yamaa-bot claimed this today. Openwork-item
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
metasequoiaime/msime#7328 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
eclipse-opensovd/classic-diagnostic-adapter#616 ·
Maintainers usually reply within 2 days