proxy-pool/progress.md

302 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目进度
## 2026-08-07
- Gateway 静态 `routing.action: direct` 已贯通严格配置、控制面协议、完整 Snapshot、
HTTP/CONNECT 转发和目标地址策略。直连请求不会申请 Proxy 容量、创建粘性绑定或上报
Proxy Outcome`onUnavailable.action: direct` 仍保留为代理无候选时的独立回退语义。
- Loadgen 固定速率模式已修复截止时排队令牌的记账:`generated = requests + dropped`
防止报告将未执行的请求误记为已发送。
- Compose 已启用 Controller、两个固定身份 Gateway 和 Checker 的本地 mTLS 控制面;
PowerShell/.NET 证书生成器输出 7 天 Controller DNS SAN 与角色隔离的 SPIFFE URI
私钥目录被 Git 忽略。Checker 新增 `/livez`、`/readyz`、`/metrics`,首次成功领取任务
批次后才 Ready后续领取失败会撤销 Ready。
- 管理态禁用当前 Sequential Upstream 现不依赖 Provider 空结果Controller 以
`ExpectedCurrent` CAS 推进到后续启用项,`loop` 可回绕,`stop`/`stayLast` 无后继时
原子停用路由并刷新完整 Snapshot。定向测试覆盖无 Provider 读取、末端、回绕和跨副本竞争。
- 全仓 `go test -count=1 -timeout 60s ./...`、`go vet ./...`、`go build ./...`、
Protobuf descriptor、Kustomize Base 渲染及开发证书 SAN/SPIFFE 校验均通过。Compose
容器端到端启动在拉取 Dockerfile 前端与监控镜像时受 Docker Desktop HTTPS 代理缺失阻断,
未把该环境问题记为运行验证通过。
## 2026-08-02
- 容量可观测性已接入 Provider 补池对账循环:每个成功 Redis 库存读数更新 Controller
进程级 managed/available/effective/pending/active Gauge失败只增加固定
`success`/`error` 的读取计数。Upstream 仅用于进程内聚合,领导任期结束即清除,
不成为 Prometheus 标签;不进入 Gateway 10 万 QPS 容量热路径,也不增加 Redis 查询。
- Extraction 可观测性已接入公用 `MetricsObserver`Controller 暴露固定 `result`
的请求计数、请求 Proxy 总数和响应交付 Proxy 总数。事件在服务单一出口分类,覆盖
complete/partial/empty/insufficient/idempotency_conflict/rate_limited/unavailable/
invalid/error不带 Client、Request、Filter、Upstream、Proxy 或错误文本标签。
幂等重放统计响应交付而不误计为新的 Redis 消费。
- Provider 拉取可观测性已接入公用 `ResultObserver`Controller 暴露
`proxy_pool_controller_provider_fetch_results_total{class}`
`proxy_pool_controller_provider_valid_candidates_total`
`proxy_pool_controller_provider_new_proxies_total`。`class` 仅允许 `valid`、`empty`、
`duplicate_only`、`error`;指标不包含 Upstream、Proxy、IP、错误文本或凭据标签。
Provider 指标已完成。
- 新增统一 JSON 结构化日志出口Controller、Gateway、Checker 的进程级致命错误只输出
组件和稳定错误类型不输出原始错误文本。敏感字段、错误对象、Bearer、URL 用户信息和
查询 Secret 均由 `platform/logging` 脱敏;回归验证使用真实 Secret 标记,且不在请求
热路径逐条写日志。
- 已实现管理态驱动的即时完整快照刷新:`SnapshotRefreshBroker` 以每个 Worker 流一格的
非阻塞通道广播连续变更自动合并。Admin 成功提交 Upstream 启停、Routing 切换和配置
发布时触发通知Worker 保留原有定时刷新作为失效保护。Routing 切换不按旧 Upstream
强制 Drain共享上游不会受误伤Sequential 的后续预留直接使用新 CurrentUpstream
旧 Proxy 和活跃连接自然排空。Worker/Admin/Bootstrap 定向测试已通过。
- Drain 可观测性已落地:`proxy_pool_controller_drain_candidates_total` 与
`proxy_pool_controller_drains_started_total` 只允许 `unhealthy`
`upstream_disabled` 两种 reason。健康异常与上游停用 Reaper 复用领域接口上报,
不产生 Proxy、Worker、上游或地址标签Collector 注册复用与两类 Reaper 都有单测。
- 已实现上游停用的自动 Drain有效策略由静态配置与 PostgreSQL Admin 管理态共同计算,
Controller 持续发布到 Redis每个候选绑定上游 revision只从 `owned(upstream)` 有界索引
读取。Redis 在创建 Drain Ticket 前原子复核策略 revision、Proxy 上游、Worker、assignment
epoch 和租约,重启用或重新分配后的旧候选不会排空当前归属。
- 新增 Memory/Redis 契约与 Controller Reaper 测试,并修复 Provider Supervisor 只看管理态
而可能重新启动静态停用上游的问题。`go test -count=1 -timeout 60s ./...` 和 Redis 集成标签
测试已通过。
- 已提交并推送 `2af504f feat: expose gateway outcome metrics`Gateway 请求路径使用
领域 Metrics Observer将固定阶段的成功/失败聚合到
`proxy_pool_gateway_outcomes_total{stage,result}`,并暴露本地 Outcome 队列满时的
`proxy_pool_gateway_outcome_queue_dropped_total`。指标不包含 Proxy、路由、目标、客户端或凭据。
- 新增队列、Prometheus 注册复用和 Gateway 启动装配测试;`go test ./...` 与
`scripts/verify.ps1` 全部通过,后者按环境跳过 `CGO_ENABLED` 未启用的 race 测试。
- 已完成持续 `UNHEALTHY` 后的安全淘汰:首次异常时间写入 Redis TTL 活动池,
`check.unhealthyRemoveAfter` 按 Upstream 生效Controller 通过公用、有界的
Reaper 回收未分配代理。仍持有 Worker ownership 的候选以 `(proxy, worker, assignment
epoch, unhealthySince)` 有界返回,并由条件式 Drain 原子复核后创建 Ticket排除 Snapshot
ACK 与 Runtime 零计数收尾后再删除,避免影响仍在 Gateway Snapshot 中使用的代理。
- Redis 集成标签测试在未设置 `PROXY_POOL_TEST_REDIS_URL` 时现能正确跳过所有契约
子测试;`go test ./...`、`go test -tags=integration ./internal/adapters/redisactivity`
`scripts/verify.ps1` 已通过race 仍由 Linux CI 执行。
- Worker 控制面改为持续完整 Snapshot 发布Controller 在每份 Snapshot 有效期的一半
前重建并下发递增版本Gateway 在同一长连接内原子替换视图;构建失败或流中断时才由
SessionSupervisor 按原有退避重连。该机制复用 `RefreshingSnapshotSource`,不降低
Delta 的 fail-closed 校验。
- Health Scheduler 现在先建立 EGRESS 与 Routing TARGET 的独立 due 引用,再投递
BASIC 任务;在单项小批次下,短 TTL Proxy 不会因 BASIC 先出队而错过首次出口/目标探测。
- 修复 Snapshot epoch/version 栅栏Worker 流的 `version` 在 ownership epoch 前进时
仍严格递增Gateway 以连续版本加非倒退 epoch 进行完整快照原子替换,避免动态分配后的
有效刷新被错误拒绝。这是后续自动 Drain 编排的必要前提。
- Drain 首次发起现在原子推进 ownership epoch并写入由 Proxy、Worker、原 assignment
epoch 与所需 Snapshot epoch 组成的待绑定 TicketRedis 使用 `drain-tickets` 与按
Worker 的 `worker-draining` 索引ACK、过期和硬删除会清理 Ticket。Worker Handler
在持久登记完整 Snapshot 引用后,核验代理确实不在完整视图内,再绑定 Ticket 的
session/version/epoch/checksum 屏障;同一 Redis Runtime 替换事务验证当前 session ACK、
Ticket 屏障和完整报告零计数后自动删除 owner/Ticket/Drain 索引并恢复 AVAILABLE 代理的
可分配索引,避免读写分离竞态。
## 2026-07-30
- Gateway `Capacity` 新增一次打包原子读取,`snapshot.Store` 可生成完整稀疏
Active/Reserved 运行态报告;当前快照已移除但仍有连接的 Proxy 会持续以
draining 上报,归零后从后续报告消失。
- 新增公用 `workerruntime` session/report/read seam 与并发安全 MemoryStore
完整替换、空报告清零、session fencing、单调 sequence、同内容幂等重放、
冲突/倒序拒绝和 TTL fail-closed 均已有单测。
- 生产 `redisactivity` Adapter 新增 Worker session/运行态 Lua 和权威
`pool.InventoryReader`Managed/Available Slots 原子计入状态、TTL safety、
MaxConcurrency、ownership 及 Active/Reserved未知或过期运行态贡献零容量。
- 真实 Redis 8.2 已覆盖 ACK snapshot/epoch、旧 session、空报告、超前 epoch、
报告过期、扫描预算耗尽及容量聚合。Managed 使用已有权威计数Available
Slots 只扫描目标 Upstream 的未分配/已分配可用索引Gateway 报告扫描当前
Snapshot并用分片索引补充已移除但仍非零的 runtime历史注册表设置硬上限。
WorkerControlPlane 接收端、Provider
Fleet/bootstrap、全局 `fetch.maxTotal` 和健康执行链仍待完成,总验收计数保持
51/73。
- Gateway 当前 Proxy 禁用活跃索引回调,只有移出 Snapshot 后才开启分片追踪;
本机 100k Proxy `Acquire` 三轮 1 秒基准为 893.9-1047 ns/op、256 B/op、
2 allocs/op。该数据只证明本地调度微基准不代表 100k QPS 集群验收。
- 新增公用 Provider `Coordinator.RunLeader` / `LeaderSession` 深 seam 和独立
`redisprovider` AdapterRedis Lua 原子维护 generation、epoch、Leader 租约、
全局 requestInterval 与带 TTL 的 maxInFlight Permit异常时 fail-closed。
- 真实 Redis 8.2 已验证两个 Controller 同 Upstream 只有一个 Leader、取消后
epoch 单调接管、跨实例请求限速/在途上限、Permit 幂等释放,以及 Redis 协调
状态丢失后使用新 generation 自动重建。
- 新增显式 `refill.reconcileInterval/minimumAvailableSlots/targetAvailableSlots`
`fetch.estimatedIPsPerCall`20 份示例、主配置、Compose/Kubernetes 配置均通过
严格解析和理论容量边界校验。
- Pool Reconciler 已按并发槽位实现 minimum/target 迟滞并计入 pending 预估;
FetchBudget 只在没有 pending 请求时接受 Redis Managed 同步,消除 Upsert 与
Permit Complete 短窗口中的重复计数风险。
- Provider Fleet、Worker Active/Reserved 容量汇总和 Controller bootstrap 接线
尚未完成,本轮不增加 51/73 的总验收计数。
- 新增公用 `platform/metrics.NewHandler`,固定提供 `/livez`、`/readyz` 与
`/metrics`Readiness 失败只返回脱敏状态,不泄露底层存储错误。
- Metrics 地址进入严格配置校验Controller Runtime 支持 Metrics-only 和
Distribution/Admin/Metrics 三监听器隔离、首错联动及统一优雅停机。
- Controller bootstrap 使用同一根生命周期装配 Prometheus 默认 Gatherer
Metrics Readiness 按启用能力低成本检查 PostgreSQL/Redis不触发 Provider 或
扫描 Proxy 明细。
- `go test` 定向包和 `.\scripts\test-controller.ps1` 通过;真实 PostgreSQL 18 +
Redis 8.2 fixture 已验证 `/readyz` 与 Prometheus 输出,临时容器和网络已清理。
- 新增 `cmd/proxy-controller` 与公用 `controller/bootstrap.Run`;配置只加载一次,
同一快照用于存储连接、PostgreSQL 管理态提交和 HTTP Runtime 构造,避免启动
期间二次读取产生配置撕裂。
- Bootstrap 已封装 PostgreSQL Ping/迁移/pgx Adapter、Redis Ping/活动池、
Distribution/Admin 服务构造、运行错误与关闭错误合并;`main` 仅处理
`-config`、`PROXY_POOL_CONFIG`、信号上下文和退出码。
- 活动池新增公用 `StateInventoryReader`Memory/Redis 使用同一契约Redis
通过低基数 Hash 和五个原子 Lua 维护七类状态计数,不扫描 Proxy 明细。
- 新增 `controller/operations.Reader`,把当前配置中的 Upstream 与活动状态映射到
Admin StatusWorker/Snapshot 与 Provider 统计尚无来源时保持空/零,不用
`Managed` 冒充 `Available`
- Redis 状态读取在有界过期清理仍有积压或检测到负计数时 fail-closed避免
Admin 返回包含失效代理或损坏计数的成功响应。
- 本轮全仓 `go test -count=1 -timeout 60s ./...`、`go vet ./...`、
`go build ./cmd/proxy-controller``git diff --check` 通过;新加的 Redis
backlog/负计数场景也已通过真实 Redis 8.2 fixture。
- 新增 `test-controller.ps1` 双存储 fixture真实 PostgreSQL 18 + Redis 8.2 已
通过迁移、启动配置提交、Redis Readiness 与 Admin Status 组合验证。
- 固定 `github.com/jackc/pgx/v5 v5.6.0`,实现封装在 `adminstate.Store` 后的
PostgreSQL 深适配器配置、Upstream、Routing mutation 在同一事务中提交
revision、管理状态、审计与 Outbox数据库错误不泄漏 DSN、SQL 或参数。
- 实现只读 Repeatable Read Snapshot、审计分页、`FOR UPDATE SKIP LOCKED`
Outbox 领取和整批 ACK具体 Adapter、SQL、pgx 类型及 codec 不向业务层暴露。
- 新增同一物理连接迁移执行器和 PostgreSQL 18 隔离 fixture每个测试使用唯一
Schema回环端口和 tmpfs 不保留数据CI 已加入 Redis/PostgreSQL 集成任务。
- 真实 PostgreSQL 18 已通过完整公用契约配置事务、Upstream 幂等、100 并发
Routing CAS、Routing no-op、审计分页、Outbox 租约/重领、原子 ACK 和 Context。
- 审计与 Outbox 触发器故障注入证明状态、revision、审计和事件完整回滚迁移
重复执行及 `information_schema` 检查确认仅有六张管理表,无 Proxy、凭据、
逐次提取、Worker ownership 或幂等明细。
- Docker Hub 直连因 Docker Desktop 未配置 HTTPS 代理超时,改从 Google 官方
Docker Hub 公共缓存拉取相同 `postgres:18-alpine` 镜像并本地重标记;未修改
Docker Desktop 全局镜像配置。
- `implementation-plan.md` 中 PostgreSQL 两项验收已完成,总进度由 49/73 更新为
51/7369.9%生产命令装配、分布式协调、Checker 和 100,000 QPS 集群压测
仍未完成。
## 2026-07-29
- 新增公用 `verify-proto.ps1`:自动发现 Google well-known types include固定
编译控制面 Proto 的 imports/source-info descriptor并拒绝空输出本机生成
30,972 字节 descriptor。`verify.ps1` 在存在 protoc 时执行CI 强制安装待补。
- 新增 Distribution/Admin OpenAPI 公用 CI 结构门禁,递归验证本地 `$ref`
operationId 唯一性、HTTP operation 响应和 security scheme 引用;完整 OAS
工具验证与 Protobuf descriptor CI 编译仍保持未完成。
- 一次 OpenAPI 检索在 PowerShell 双引号中误触发 `$ref` 变量解析;已改用单引号
模式继续审计,未重复原命令。
- 新增 PostgreSQL 18 隔离测试服务的静态契约:回环端口、正确 PG18 tmpfs 数据
根目录、零持久卷Redis 测试改用独立 Compose 项目和显式服务启动,避免两个
fixture 相互影响。未拉取或启动容器pgx Adapter/真实契约仍待依赖确认。
- 扩展 `adminstate/contracttest` 公用契约:审计完整字段和 AfterID 分页、Routing
no-op 审计且不写 Outbox、批量 ACK 零部分提交,以及六个 Store 方法的 Context
取消MemoryStore 全部通过,后续 PostgreSQL Adapter 必须运行同一套契约。
- `adminstate` 六类命令/查询已封装公用 `Validate()`MemoryStore 改为统一复用;
后续 pgx Adapter 不再重复实现名称、引用、分页和 Outbox 租约输入校验。
- 一次命令装配审计误用了不存在的 `controller/distribution/service.go`;实际领域
服务位于 `controller/extraction`Distribution 包当前只负责 HTTP Handler。
- 根据对话最终定稿统一 Sequential至少两个 Upstream省略 `endBehavior`
默认 `stop`新增领域和严格配置回归测试。disabled candidate、跨实例游标和
`onUnavailable` 请求链仍未提前标记完成。
- 一次并行读取误用了不存在的 `routing/sequential_test.go`,另一次误用了旧 ADR
文件名;已改用 `routing_test.go``006-postgresql-admin-state.md`,未重复命令。
- 新增文档契约测试,递归验证 README、docs、deploy、diagrams 的相对链接,并
拒绝公开指南引用不存在的具体 Go 命令目标;修正配置参考中尚未实现的
`cmd/proxy-controller` 启动命令,改为当前真实可执行的严格配置校验工具。
- 已复核 `implementation-plan.md` 的验收项机器契约、OpenAPI/Protobuf 验证、
完整文档导航、20 份配置示例和 35 张 Mermaid 图已有仓库及验证证据,修正
滞后勾选;进一步核对发现 descriptor 编译尚未进入 CI同时验证脚本和双平台
CI 已完成,最终校正为 49/73约 67%。
- 正在并行审计 Routing/Sequential 与 Proxy Capacity 的剩余边界;本轮只收敛
已确认公共接口和既有需求,不把 Checker、pgx 或 100,000 QPS 目标提前记为完成。
- Routing 审计确认五种策略尚未进入真实请求链、`onUnavailable` 只有配置校验、
Sequential 仅有进程内 CASCapacity 审计确认固定 Max 不超卖,但动态降容、
Reservation 完整生命周期观测和短 TTL 运行态回收待完成。追踪矩阵已降级为
准确的“已完成证据 + 待办”描述。
- 定向执行 Proxy、Routing、Config、Gateway Dispatch/Server 测试,全部通过;
该结果只证明现有行为基线,不替代上述缺失运行链的验收。
- 一次组合检索因包含不存在的 `config` 路径返回退出码 1有效输出已保留
后续检索改用实际目录 `internal/config`,未重复原命令。
- Routing Runtime 设计核对确认采用 Controller 权威状态 + Gateway 不可变本地
快照的混合模型;已定位 Extract direct、默认值、disabled 推进和单 Upstream
Sequential 四项需确认语义,尚未在未批准设计上开始实现。
- 一次读取误用了不存在的 `controller/runtime/bootstrap.go` 路径;实际文件为
`runtime.go`Gateway 构建辅助位于 `gateway/server/bootstrap.go`,已改用真实
文件继续核对,未重复失败命令。
- 架构证据审计确认 Provider 分布式 Leader、Health Reducer/Checker、Prometheus
指标模块和四个生产命令仍缺实现;追踪矩阵已把这些条目的配置/领域基础与
完整运行时证据拆开描述。
- 新增独立 Capacity 生命周期测试,覆盖 Cancel 后复用、重复 Commit/Cancel/
Release、Release-before-Commit、1,000 轮并发 Commit/Cancel 及 100 并发
ReleaseProxy、Dispatch、Snapshot、Gateway Server 定向测试全部通过。
- 一次 `rg` 同时包含不存在的 `cmd` 路径,以及两次使用 PowerShell 不展开的
通配路径,分别返回退出码 2/123后续改用实际目录和 `-g` 过滤,不重复原命令。
- 已实现共享 `httpapi`、`httpsecurity` 与 `httpserver`,统一严格 JSON、Problem、
Request ID、认证、可信代理、Client ID、准入、多监听器生命周期和优雅停机。
- Distribution/Admin Handler 已装配到独立监听器Gateway 配置认证统一复用
`httpsecurity`API 401 与代理 407 语义保持分离。
- 部署配置已使用 `${VAR}` 真实环境变量解析ConfigMap 与本地配置通过
`LoadResolved` 回归测试。
- 已新增公用 `activitypool` 契约和并发安全内存参考实现Provider 按各供应商
TTL 与安全余量写入,独占提取、短期幂等和 Worker 所有权在同一原子边界内。
- 已实现生产 Redis Activity AdapterUpsert、健康更新、原子提取、所有权、
Drain/ACK、库存读取与有界过期清理均封装为窄领域端口和 Lua 原子操作。
- MemoryPool 与 Redis Adapter 运行同一套公用契约;真实 Redis 8.2 fixture 已覆盖
100 轮并发提取和 100 轮所有权竞争,本地 Compose 不持久化短效代理数据。
- Proxy 明细不写 PostgreSQLPostgreSQL 仅保存配置版本、管理状态、Admin
审计、管理 outbox 和可选聚合指标。
- `usableUntil` 已进入 Worker Snapshot 契约Gateway 在供应商硬过期前按安全
余量停止新分配。
- PostgreSQL 管理面 Adapter、Provider Leader/分布式限流与心跳装配、生产命令
入口、Redis 故障转移验证和代表性 100,000 QPS 集群压测仍待实现。
- 已新增 ADR-006 与公用 `adminstate` 事务 seamMemoryStore 在同一锁内提交管理
状态、Admin 审计与 Outbox覆盖配置冲突、Upstream 幂等、100 并发 Routing
CAS、Outbox claim/ack 租约、上下文取消和不可变快照。
- PostgreSQL 管理 Schema 已限制为六张配置/状态/审计/Outbox 表,并由静态测试
拒绝 Proxy、凭据、逐次提取、ownership 和短期幂等明细pgx Adapter 和真实
PostgreSQL 18 契约仍待实现。
- Admin Handler 现在复用 `httpsecurity.Identity`,把 Actor ID 与可信 SourceIP
传给 enable/disable/switch/reload mutation供持久化审计直接使用。
- 已实现 Admin `ApplicationService`mutation 统一映射到 `adminstate`Status 合并
一个权威管理快照和低基数运行态聚合;配置重载严格执行解析/校验、脱敏摘要、
持久化、原子发布顺序,任何持久化失败都不会替换旧运行配置。
- 已新增公用原子 `config.Store` 与标准 `FileConfigurationLoader`;覆盖 100 组
并发读写、typed-nil、未知字段、主配置/Secret 文件 I/O、取消、Secret 轮换和
Admin 禁止依赖 Redis Extract/Proxy 明细的架构边界。
- 本轮 `.\scripts\verify.ps1`、`.\scripts\test-redis.ps1`、Compose 静态展开和
Compose 非持久化策略测试通过Windows `CGO_ENABLED=0`race 继续由 Linux
CI 执行。
- 本地 PostgreSQL 管理面基础已提交为 `7951c29`;推送
`build/proxy-pool-architecture` 时远端返回 `Authentication failed`,未重复执行
相同推送。当前本地提交保持完整,等待可用 Git 凭据后同步。
## 2026-07-28
- 用户删除了先前基于不完整网页内容生成的设计文件。
- 已重新读取当前 `对话内容.md` 全部 9,404 行。
- 已按主题定位配置定稿、实施方案、Distribution API、认证、安全、并发、
故障语义和最终 Exclusive Extraction 修订。
- 已建立新的任务计划与事实记录,旧网页摘要不再作为需求证据。
- 已建立需求追踪矩阵、统一领域语言、产品设计、总体架构、项目结构、ADR、
开发、配置、API、安全、测试与运维文档。
- 已提供 20 个严格校验的配置示例、Distribution/Admin OpenAPI、Controller/
Worker/Checker Protobuf 契约和 35 张 Mermaid 图。
- 已实现并测试 Proxy 状态/TTL/唯一键、打包原子容量、首条路由、Sequential
并发切换、Fetch 分类、一次性独占提取、严格配置、Snapshot 与本地 Dispatch。
- `go test ./...`、`go vet ./...`、`go build ./...` 通过。
- Protobuf 描述符编译、Compose 静态展开、Kustomize 渲染、Grafana JSON 与
配置示例校验通过。
- Windows 当前 `CGO_ENABLED=0` 且无 C 编译器race 测试由 Linux CI 承担。
- 100,000 QPS 仍是未验证设计目标;运行进程、存储适配器、完整网络转发与
代表性集群压测尚未实施,已在完成审计中明确列出。
- 历史文档压缩包已由用户删除,当前交付以仓库内可追踪文档为准。
- 已实现 random、roundRobin、weighted、leastConnections并将 Sequential
拆成共享 Upstream 空结果状态与每 Routing 版本化游标。
- 已实现 Provider 合并通知、完整 attempt 超时、永久错误契约、指数退避、
Retry-After、原子 FetchBudget 以及 Pool Reconciler。
- 已强制 Worker 所有权与 Exclusive Extraction 注入同一权威 Repository
覆盖 100 轮并发竞争、续期、Drain ACK 和 Worker 过期回收。
- 已实现提取服务层策略映射、Redis 短期幂等语义、来源身份准入和公共
FixedWindow 全局/Client 限流器;不保存逐代理提取审计记录。
- 已为 100k Proxy 快照建立 scheme/upstream/tag 索引;本机持续基准中
`Acquire` 为 640 ns/op、256 B/op、2 allocs/op。该数据仅证明本地选择热路径
不代表 100k QPS 集群端到端容量。
- 本轮 `go test -count=1 ./...`、`go vet ./...`、`go build ./...` 和
`git diff --check` 通过Windows `CGO_ENABLED=0`race 仍由 Linux CI 验证。