feat(http): cloud-runtime 在 http 模式被显式拒绝接线 + transcript 仅 teardown 落盘——崩溃丢全部活跃会话、水平扩展无路径
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- aws, redis, rust
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
场景 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「全云栈」实际不生效。
建议
- 落地 CLI 侧 Redis/S3 wiring(存储 trait 已就绪),或先把 README 头部 bullet 降级为「library API 可用」并删 compose 误导配置;
- transcript 增量持久化(逐 step emit 事件已有——接 append-only 写即可避开 O(N²) 全量重写);
- 会话表外置(Redis)后补多副本部署文档。
- Lenguaje dominante
- Rust
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 5 h 32 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/recursive
-
Dificultad 3/5 Medio día Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
jeffkit/recursive#141 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
jeffkit/recursive#138 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/recursive#134 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Los mantenedores suelen responder en 1 día
Todos los issues de jeffkit/recursive
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
wardian-app/Wardian#1603 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 72/100
peteonrails/voxtype#844 ·
Los mantenedores suelen responder en 1 día
-
feature
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
uwuclxdy/clauth#107 · 1 comentario ·
Los mantenedores suelen responder en 4 días