diff --git a/docs/development/implementation-plan.md b/docs/development/implementation-plan.md index 93646ed..c810af4 100644 --- a/docs/development/implementation-plan.md +++ b/docs/development/implementation-plan.md @@ -403,5 +403,10 @@ development Overlay 已挂载独立 Controller/Gateway/Checker TLS Secret、启 `scripts/benchmark-gateway.ps1` 固定使用 `-count=1 -benchtime=1x` 分别执行 100k 索引调度、 Round Robin 和 Snapshot Apply 基准,并将 Git revision 与原始输出保存到 `dist/`。该基线不包含 网络、TLS、上游 RTT、真实连接或多 Worker 协调,不能替代代表性集群报告。 -- [ ] Confirm no TODO/TBD/placeholders, secrets, unbounded queues, high-cardinality metric +- [x] Confirm no TODO/TBD/placeholders, secrets, unbounded queues, high-cardinality metric labels, extraction Lease APIs, or conflicting maxSize semantics remain. + +`docs` 回归测试扫描生产源与部署清单中的未完成标记和私钥材料;OpenAPI 测试拒绝 +Extract Lease/Release/Renew 路径,Gateway Outcome Queue 构造器和配置校验拒绝无界容量, +指标/部署契约拒绝高基数标签,`pool.maxSize` 与累计 `fetch.maxTotal` 的边界由配置和 +活动池契约测试共同锁定。示例、CI fixture 与环境变量引用不是未实现占位或生产 Secret。 diff --git a/docs/docs_test.go b/docs/docs_test.go index b3aea73..7609f51 100644 --- a/docs/docs_test.go +++ b/docs/docs_test.go @@ -93,6 +93,45 @@ func TestRunbookCoversHostAndNetworkCapacityBaseline(t *testing.T) { } } +func TestRepositoryAuditRejectsUnfinishedSourceAndPrivateKeyMaterial(t *testing.T) { + repositoryRoot := repositoryRoot(t) + unfinished := regexp.MustCompile(`(?i)\b(?:TODO|TBD|FIXME)\b`) + privateKey := regexp.MustCompile(`-----BEGIN (?:[A-Z ]+ )?PRIVATE KEY-----`) + for _, directory := range []string{".github", "api", "cmd", "deploy", "internal", "scripts"} { + root := filepath.Join(repositoryRoot, directory) + err := filepath.WalkDir(root, func(path string, entry os.DirEntry, err error) error { + if err != nil { + return err + } + if entry.IsDir() { + if entry.Name() == ".control-plane-tls" || strings.HasPrefix(entry.Name(), ".tmp") || entry.Name() == "dist" { + return filepath.SkipDir + } + return nil + } + switch strings.ToLower(filepath.Ext(path)) { + case ".go", ".yaml", ".yml", ".ps1": + default: + return nil + } + content, readErr := os.ReadFile(path) + if readErr != nil { + return readErr + } + if unfinished.Match(content) { + t.Errorf("%s contains an unfinished implementation marker", relativeTestName(repositoryRoot, path)) + } + if privateKey.Match(content) { + t.Errorf("%s contains private key material", relativeTestName(repositoryRoot, path)) + } + return nil + }) + if err != nil { + t.Fatalf("audit %s: %v", directory, err) + } + } +} + func markdownDocuments(t *testing.T, repositoryRoot string) []string { t.Helper() documents := []string{filepath.Join(repositoryRoot, "README.md")} diff --git a/docs/requirements/completion-audit.md b/docs/requirements/completion-audit.md index 10f35f1..6e5af4f 100644 --- a/docs/requirements/completion-audit.md +++ b/docs/requirements/completion-audit.md @@ -112,6 +112,10 @@ mTLS 运行拓扑,并由配置、证书、命令装配和部署契约测试覆 主机内核、文件描述符、NAT/conntrack 的只读基线和证据采集要求;这些文档不替代真实环境 的备份恢复、驱逐或容量演练。 +仓库审计会拒绝生产源和部署清单中的 `TODO`、`TBD`、`FIXME` 与私钥材料;原有 OpenAPI、 +Queue、配置、指标和部署契约分别锁定一次性 Extract、队列容量、库存/累计获取边界及 +低基数标签。开发示例、环境变量引用和 CI fixture 不被视为生产 Secret 或未实现占位。 + ## 3. 后续实现范围 以下已有设计、接口或部署位置,但尚无端到端生产实现: diff --git a/task_plan.md b/task_plan.md index 403e7f1..c9e9d62 100644 --- a/task_plan.md +++ b/task_plan.md @@ -77,6 +77,6 @@ - Controller、Gateway、Checker、Loadgen、Provider Fleet、WorkerControlPlane、业务指标和 Redis 故障边界均有实现与定向测试。Kubernetes `development-mtls` Overlay 已静态验证 单副本固定身份链路;真实容器故障转移、生产工作负载身份与代表性集群压测仍属于后续验证范围。 -- `implementation-plan.md` 当前按 75 个验收项统计;验收勾选数不等同于生产就绪度。 +- `implementation-plan.md` 当前完成 73/75 个验收项;验收勾选数不等同于生产就绪度。 Compose 本地 mTLS 控制面运行链已实现并通过配置、证书、单元与构建验证;受本机 Docker Desktop 镜像 HTTPS 代理缺失影响,容器端到端启动仍待具备镜像网络的环境复核。