diff --git a/.cocoon-plan.md b/.cocoon-plan.md index 63faec3..d436c59 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -44,335 +44,49 @@ - [x] gRPC 支持 — gRPC over HTTP/2 + protobuf LEB128 帧 + 四种 RPC 模式 + gRPC-Web 兼容 - [x] 更多内置中间件 — JWT Auth(HS256) + Security Headers + Request ID + IP 过滤 +### Phase 5 — 应用网关(规划中) +- [ ] **FastCGI 支持** — 对接 PHP-FPM、uWSGI,这是 Nginx 的核心功能,cocoon 还缺 +- [ ] **反向代理连接池** — HTTP/1.1 后端连接复用,减少握手开销(目前每请求都新建连接) +- [ ] **配置热重载校验** — 新配置语法校验失败时拒绝重载,避免把服务搞坏 +- [ ] **内存响应缓存** — 基于 LRU + TTL,文件不大时直接缓存到内存,避免重复磁盘 I/O +- [ ] **管理 Dashboard** — 内置 `/_status` 页面,SSE 实时推送指标,像 HAProxy stats 那种 +- [ ] **ACME / Let's Encrypt 自动证书** — 无需手动配置,自动签发续期 +- [ ] **带宽限速 / 流量整形** — 按连接或全局限速,防止突发流量打满带宽 +- [ ] **YAML / TOML 配置格式** — 配置验证时更友好 +- [ ] **systemd 服务文件** — 一键安装成系统服务 +- [ ] **Docker 多阶段构建** — 减小最终镜像 + +### Phase 6 — 硬核深潜(远期规划) +- [ ] **io_uring 接入** — 小文件走 io_uring 而非 sendfile,HTTP/2 多路复用下理论上能再提一波 +- [ ] **HTTP/3 完整握手(0-RTT)** — 目前 QUIC 骨架搭好了,可以再加 resumption 和新令牌 +- [ ] **WAF 规则引擎** — 轻量级 Web 应用防火墙,正则匹配 + 可配置规则集 +- [ ] **模糊测试(libFuzzer)** — 用 AFL/libFuzzer 跑 HTTP 解析器,找溢出和崩溃 +- [ ] **QPACK 动态表** — 目前 HTTP/3 只有静态表,动态表是 RFC 9204 的完整实现 +- [ ] **gRPC 反射 + 健康检查** — 支持 gRPC reflection 服务,服务网格里更方便 + ## 当前状态 -- **编译状态**:零警告,全部通过(2026-06-11 21:18 验证) -- **单元测试**:451 个全部通过 ✓(2026-06-11 21:18 验证) -- **集成测试**:109 项全部通过 ✓(2026-06-11 21:18 验证) +- **编译状态**:零警告,全部通过(2026-06-15 06:17 验证) +- **单元测试**:458 个全部通过 ✓(1 个 Ignored,为预期行为) +- **集成测试**:115 项全部通过 ✓ - **代码覆盖率**:核心模块覆盖完整,Phase 4 模块覆盖良好 - **文档状态**:README 完整,API 文档齐全,.cocoon-plan.md 已更新 -- **项目阶段**:所有计划功能已完成(Phase 1~4 全部 ✅) -- **新增代码**:12 个新文件,约 8520 行源代码 + 测试 +- **项目阶段**:Phase 1~4 全部完成,Phase 5 规划中 +- **代码规模**:28,000+ 行 C 代码(不含 coco 子模块),458 单元测试 + 115 集成测试 -## 待办池(已完成清空) +## 待办池(Phase 5 — 自然扩展) -所有计划内功能已完成。项目全部路线图功能已交付。 +### 2026-06-15 规划:Phase 5 路线图 -+ 2026-06-12 15:17: **维护修复 — Makefile 补充与编译产物清理** - - 发现 `Makefile` 缺少 `test_http3` 编译规则,导致 `make unit-test` 编译失败(隐式规则无法找到 `unity.h`) - - 新增 `test_http3` 显式编译规则,修正 `test_sse` 规则位置 - - 清理误跟踪的 `tests/unit/test_sse` 编译二进制(`git rm --cached`) - - 简化 `.gitignore`:将逐个列出的测试二进制文件替换为 `tests/unit/test_*` 通配模式,防止未来再次误提交 - - 合并 SSE 集成测试的 `curl || true` 修复(防止 `set -e` 下 SSE 超时导致测试退出) - - 编译验证:零警告,全部通过 - - 单元测试:451 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 +- **FastCGI 支持** — 当前最优先,对标 Nginx 核心能力 +- **连接池** — 性能优化,HTTP/1.1 后端连接复用 +- **配置热重载校验** — 安全加固,防止坏配置导致服务中断 +- 内存缓存、Dashboard、ACME 等后续按优先级推进 -+ 2026-06-12 15:40: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:451 个全部通过 ✓(新增 7 个 SSE 单元测试) - - 集成测试:115 项全部通过 ✓(新增 6 项 SSE 端到端测试) - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-12 12:17: **维护验证 — 定期巡检与编译强化检查** - - 编译验证:零警告,make 全部通过(含额外严格标志:-Wshadow -Wstrict-prototypes -Wmissing-prototypes) - - 单元测试:451 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:109 项全部通过 ✓ - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 编译产物清理:确认 `tests/unit/test_http_asan` 已移除,.gitignore 规则完整覆盖 - - 工作区干净:无未提交改动 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - 发现 `tests/unit/test_http_asan` 编译二进制文件(带 AddressSanitizer 的单元测试可执行文件)被误跟踪在 git 中 - - 执行 `git rm --cached` 移除跟踪,文件已在 `.gitignore` 中正确忽略(模式 `tests/unit/test_*` 已覆盖) - - 编译验证:零警告,全部通过 - - 单元测试:451 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 - -+ 2026-06-13 06:17: **维护修复 — 消除 SSE 单元测试编译警告** - - 修复 `tests/unit/test_sse.c` 中 7 处 `client`/`server` 变量未初始化警告 - - 将 `int client, server;` 改为 `int client = 0, server = 0;` - - 编译验证:零警告(仅外部 coco 库 `.note.GNU-stack` linker 警告) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 - -+ 2026-06-13 06:17: **维护修复 — 消除 SSE 单元测试编译警告** - - 修复 `tests/unit/test_sse.c` 中 7 处 `client`/`server` 变量未初始化警告 - - 将 `int client, server;` 改为 `int client = 0, server = 0;` - - 编译验证:零警告(仅外部 coco 库 `.note.GNU-stack` linker 警告) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 - -+ 2026-06-13 03:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:451 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-13 00:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:451 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:451 个全部通过 ✓(各模块:config、grpc、healthcheck、http3、http、load_balance、log、middleware_ext、multipart、proxy、server、static、websocket、sse) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - - - - 发现 `tests/unit/test_healthcheck` 编译二进制文件被误跟踪在 git 中 - - 执行 `git rm --cached` 移除跟踪,文件已在 `.gitignore` 中正确忽略 - - 编译验证:零警告,全部通过 - - 单元测试:451 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 - -+ 2026-06-12 00:17: **维护清理 — 移除误跟踪的编译产物** - - 发现 `tests/unit/test_healthcheck` 编译二进制文件被误跟踪在 git 中 - - 执行 `git rm --cached` 移除跟踪,文件已在 `.gitignore` 中正确忽略 - - 编译验证:零警告,全部通过 - - 单元测试:451 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - 工作区干净:提交已推送到 origin main - - 项目状态健康,维护模式正常 - -+ 2026-06-11 21:18: **维护验证 — 定期巡检与编译强化检查** - - 编译验证:零警告,make 全部通过(含额外严格标志:-Wshadow -Wstrict-prototypes -Wmissing-prototypes) - - 单元测试:451 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - 代码检查:无遗留 TODO/FIXME,无未覆盖边缘情况 - - 工作区干净:无未提交改动 - - 项目状态健康,维护模式正常 - -+ 2026-06-11 18:18: **维护验证 — 状态巡检与测试确认** - - 编译验证:零警告,make 全部通过 - - 单元测试:451 个全部通过 ✓(新增 gRPC/负载均衡/HTTP3/中间件扩展等 Phase 4 测试) - - 集成测试:109 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件等端到端测试) - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,无待办事项,维护模式正常 - -- 2026-06-11 15:20: **维护清理 — 清理遗留 TODO 注释** - - 检查 `middleware_ext.c` 中遗留的 TODO 注释 - - 将 `request_id` 相关 TODO 替换为准确的机制说明注释 - - 编译零警告,451 个单元测试 + 109 项集成测试全部通过 - - 项目状态健康,无待办事项 - -- 2026-06-10 11:30: **Phase 4 生态扩展 — 全部完成 ✅** - - 扩展中间件:新增 middleware_ext.c/h — JWT Auth(HS256)、Security Headers(HSTS/CSP/X-Frame-Options)、Request ID(32字符hex追踪)、IP 过滤(黑名单/白名单/CIDR) - - 分布式负载均衡:新增 load_balance.c/h — 一致性哈希(MurmurHash3+512虚拟节点)、最少连接、加权响应时间(EWMA)、随机算法 - - gRPC 支持:新增 grpc.c/h — gRPC over HTTP/2、LEB128 消息帧编解码、四种 RPC 模式(Unary/Server/Client/Bidirectional)、gRPC-Web 兼容、17个状态码完整支持 - - HTTP/3 (QUIC):新增 http3.c/h — QUIC 传输层(UDP+连接管理)、HTTP/3 帧处理(DATA/HEADERS/SETTINGS/GOAWAY)、QPACK 静态表编解码(RFC 9204)、TLS 1.3 集成接口 - - 新增 261 个单元测试(累计 451 个),全部通过 - - 更新构建系统:CMakeLists.txt + Makefile 已同步 - - 项目全部路线图功能已交付 - -- 2026-06-10 09:00: **状态验证与维护检查** - - 编译检查:零警告,全部通过 - - 单元测试:190 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - 维护模式确认:无新功能开发计划,仅做状态验证 - -- 2026-06-10 06:00: **状态验证与文档更新** - - 编译检查:零警告,全部通过 - - 单元测试:190 个全部通过 ✓ - - 集成测试:109 项全部通过 ✓ - - README 更新:虚拟主机 / 多站点标记为 ✅ 完成 - - 项目进入维护阶段,所有路线图功能已完成 - -- 2026-06-10 03:00: **SIGHUP 配置热重载** - - `server.h` / `server.c`: 新增 `server_request_reload()` 和 `server_reload_config()` 热重载 API - - 热重载范围:root_dir、log_level、access_log、gzip/brotli、timeout、max_connections、vhosts、proxies、healthcheck - - 不可热重载项:port、threaded、num_workers、tls_cert/key(日志警告) - - `main.c`: 新增 `sighup_handler()` 注册 `SIGHUP` 信号 - - `tests/integration_test.sh`: 新增 SIGHUP 热重载集成测试(3项) - - 编译零警告,190 个单元测试 + 109 项集成测试全部通过 - -- 2026-06-09 15:00: **虚拟主机 / 多站点支持** - - 新增 `cocoon_vhost_t` 结构体和 `COCOON_MAX_VHOSTS` 宏 - - JSON 配置解析器新增 `vhosts` 数组解析 - - HTTP/1.1 和 HTTP/2 请求根据 Host 头匹配虚拟主机 - - 新增 3 项虚拟主机集成测试 - -- 2026-06-09 12:00: **主动健康检查** - - 新增 `healthcheck.c` / `healthcheck.h` 模块 - - 支持 HTTP 探测和可配置阈值 - - 新增 17 项主动健康检查单元测试 - -- 2026-06-09 09:00: **HTTP/2 代理流式转发** - - 实现 HTTP/2 到后端的流式转发支持 - - 优化代理性能 - -- 2026-06-09 06:00: **反向代理单元测试** - - 新增 31 项反向代理单元测试 - - 总单元测试数达到 190 个 - -- 2026-06-08 18:00: **HTTP/2 代理 + 连接池 HTTP/1.0 兼容** - - 实现 HTTP/2 反向代理支持 - - 修复连接池 HTTP/1.0 后端兼容问题 - -- 2026-06-08 12:00: **反向代理核心功能** - - 新增 `proxy.c` / `proxy_tls.c` 模块 - - 支持路径前缀匹配、加权轮询、被动健康检查 - - 新增 6 项反向代理集成测试 - -- 2026-06-08 06:00: **HTTP/2 静态文件服务 + h2c 升级** - - 实现 HTTP/2 静态文件服务(多路复用 + 流式响应) - - 新增 h2c 明文升级支持(Prior Knowledge + Upgrade 协商) - - 新增 6 项 HTTP/2 集成测试 - - 单元测试总数 142 个,集成测试 82 项 - -- 2026-06-07 18:00: **WebSocket 广播 / 频道路由** - - 实现 WebSocket 广播、频道路由、定向发送 - - 新增 12 项 WebSocket 单元测试 - -- 2026-06-07 12:00: **TLS/HTTPS 支持** - - 实现 TLS 1.2/1.3(OpenSSL Memory BIO) - - ALPN 协商 HTTP/2 - - 新增 HTTPS 集成测试 - -- 2026-06-07 06:00: **中间件 + 插件系统** - - 实现 CORS / Basic Auth / Rate Limit 中间件 - - 实现动态插件加载 + SIGUSR1 热重载 - - 新增中间件和插件集成测试 - -- 2026-06-06 18:00: **配置系统 + 访问日志 + 压缩** - - JSON 配置文件解析 - - Nginx combined 格式访问日志 - - Brotli / Gzip 动态压缩 - -- 2026-06-06 12:00: **缓存 + 连接管理 + 日志** - - ETag / Last-Modified 缓存协商 - - 空闲连接超时 + 最大并发限制 - - 分级日志系统 - -- 2026-06-06 06:00: **POST 支持 + 跨平台** - - JSON / form-urlencoded / multipart 文件上传 - - Windows(MinGW/MSVC)跨平台支持 - -- 2026-06-05 18:00: **性能基准 + 测试框架** - - wrk 压测脚本 - - Unity 单元测试框架 - - 142 个单元测试 - -- 2026-06-05 12:00: **核心功能完成** - - HTTP/1.1 请求解析、响应格式化 - - 静态文件服务(sendfile)、目录浏览 - - Range 请求、MIME 类型识别 - - 多线程 M:N 调度 - - 命令行参数 + 优雅关闭 - -- 2026-06-03: **项目初始化** - - 创建仓库,核心模块全部实现 - - 添加示例首页和基本文档 +--- ## 维护记录(Phase 5 — 自然扩展) -- 2026-06-12 13:10: **SSE 端点实现** - - 新增 `sse.h` / `sse.c` — Server-Sent Events 轻量级实现 - - `sse_send_headers` / `sse_send_event` / `sse_send_comment` — 可复用 API - - 内置 `/_sse` 演示端点:每秒推送时间戳事件 - - 支持 `Last-Event-ID` 断线重连恢复 - - 每 15 秒发送心跳注释,客户端保活 - - 非 GET 方法返回 405 Method Not Allowed - - 集成到 `server.c` — 请求处理流程中自动匹配 `/_sse` 路径 - - 集成测试新增 5 项 SSE 测试(状态码、Content-Type、事件流、POST 405) - - 单元测试 7 项全部通过(响应头、事件格式、多行数据、心跳、405、路径匹配) - - 编译零警告,全部 458 单元测试 + 114 集成测试通过 ✓ - - 提交:`e733148` - -+ 2026-06-13 15:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-13 21:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-13 15:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-14 09:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-14 00:17: **维护验证 — 定期巡检状态确认** -+ 2026-06-14 06:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - - - -+ 2026-06-15 00:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 严格编译检查:额外添加 `-Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual`,零警告通过 - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 编译产物检查:无误跟踪二进制文件,`.gitignore` 规则完整覆盖 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - + 2026-06-15 06:17: **维护验证 — 定期巡检状态确认** - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) @@ -380,22 +94,5 @@ - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - 编译产物检查:无误跟踪二进制文件,`.gitignore` 规则完整覆盖 - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-15 06:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 编译产物检查:无误跟踪二进制文件,`.gitignore` 规则完整覆盖 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 - -+ 2026-06-15 03:17: **维护验证 — 定期巡检状态确认** - - 编译验证:零警告,make 全部通过(唯一 linker 警告来自外部 coco 库的 `.note.GNU-stack` section,非项目本身问题) - - 单元测试:458 个全部通过 ✓(1 个 Ignored,为预期行为) - - 集成测试:115 项全部通过 ✓(含 HTTP/3、gRPC、负载均衡、扩展中间件、虚拟主机、SIGHUP 热重载、主动健康检查、Prometheus 指标、SSE 端到端等) - - 代码检查:无遗留 TODO/FIXME,cocoon 源码干净 - - 编译产物检查:无误跟踪二进制文件,`.gitignore` 规则完整覆盖 - - 工作区干净:无未提交改动,无需提交 - - 项目状态健康,所有路线图功能已完成,维护模式正常 + - 项目状态健康,所有路线图功能(Phase 1~4)已完成,维护模式正常 + - Phase 5 路线图规划完成:FastCGI / 连接池 / 配置热重载校验 为优先项