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

feat(http): cloud-runtime 在 http 模式被显式拒绝接线 + transcript 仅 teardown 落盘——崩溃丢全部活跃会话、水平扩展无路径

Open
#92 7 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
aws, redis, rust

Research direction

Start with crates/recursive-cli/src/main.rs:882-901 and inspect storage/redis.rs and storage/s3.rs to trace the existing storage interfaces and HTTP-mode assembly. Then read src/http/mod.rs:371-377 and the SessionHost implementation to understand transcript persistence and in-memory session handling. Done requires an agreed scope, verified cloud wiring or corrected documentation, durable transcript behavior, and a documented multi-instance path.

Written by the indexing model from the issue text.

Description

场景 gap 单(okguitar 提报)· 优先级 P0 · 依赖:无

基线 HEAD = 9165b9a0。

Summary

  • README 头部宣称 "Cloud runtime — Redis session store, S3 transcript storage"(README.md:32),§Full cloud stack 还给出 docker-compose 示范(README.md:268-271)——但 crates/recursive-cli/src/main.rs:882-891 检测到 RECURSIVE_REDIS_URL/RECURSIVE_S3_BUCKET 时仅打印 "recognized but not yet wired in http mode",随后硬编码 LocalStorageBackend(main.rs:898-901)。README.md:331 自认 wiring 是 future work,但头部 bullet 与 compose 示范仍在引导用户。
  • 存储层实现本身完整(storage/redis.rs、s3.rs),断点只在 CLI 装配。
  • transcript 仅 teardown(DELETE/驱逐/优雅停机)落盘,per-turn 不写(src/http/mod.rs:371-377 注释明示 "never per turn — that would be an O(N²) full-transcript rewrite")。
  • 会话表纯进程内存(SessionHost HashMap)——多副本部署时 session 落在单实例,LB 轮询即 404,无 sticky 方案文档。

影响

「C 端高密度」部署三连击:pod 崩溃/OOM = 全部活跃会话丢失;多副本不可用;README 引导的 compose「全云栈」实际不生效。

建议

  1. 落地 CLI 侧 Redis/S3 wiring(存储 trait 已就绪),或先把 README 头部 bullet 降级为「library API 可用」并删 compose 误导配置;
  2. transcript 增量持久化(逐 step emit 事件已有——接 append-only 写即可避开 O(N²) 全量重写);
  3. 会话表外置(Redis)后补多副本部署文档。
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.