Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

fix(health): `/health` 是常量字符串、doctor 不探活、容量与数据丢失信号缺位——三种"半死"状态全返回 200 ok

Closed
#123 4 comments 0 reactions 0 assignees View on GitHub

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

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-34 health() 返回常量 "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、DELETE handlers.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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from jeffkit/recursive

All issues in jeffkit/recursive

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.