Commit Graph

161 Commits

Author SHA1 Message Date
phamnazage-jpg
5e3bd44e96 fix(metrics): 在主路由中注册 /metrics 端点
Some checks failed
CI / Build & Test (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Release (push) Has been cancelled
- 添加 metrics 包导入
- 在主 handler 中注册 GET /metrics 路由
2026-06-02 07:22:01 +08:00
phamnazage-jpg
278991bc9d docs: 添加生产上线全面验证报告
Some checks failed
CI / Build & Test (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Release (push) Has been cancelled
2026-06-02 07:17:37 +08:00
phamnazage-jpg
8bbdffaf17 test: 补充真实功能验证测试
Some checks failed
CI / Build & Test (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Release (push) Has been cancelled
- ErrorMetrics 并发安全测试
- AsyncLogWriter 错误指标真实记录测试
- HTTP Server 超时配置真实验证
- Prometheus 指标 HTTP 端点真实测试
- 日志文件输出真实写入测试
2026-06-02 07:07:53 +08:00
phamnazage-jpg
28f377f2bd feat(api): M-04 添加版本信息端点
Some checks failed
CI / Build & Test (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Release (push) Has been cancelled
- 添加 /version 端点返回版本信息
- 版本变量支持构建时 ldflags 注入
- 返回 version、commit、build_time、go_version
2026-06-02 07:00:15 +08:00
phamnazage-jpg
133da2d442 test: M-03 添加边界测试
- 添加大量数据边界测试(100条记录)
- 添加特殊字符 PackID 边界测试
- 添加空字段验证边界测试
2026-06-02 06:58:45 +08:00
phamnazage-jpg
b69cb9166e refactor: M-02 添加 errs 包提供错误处理基础设施 2026-06-02 06:57:13 +08:00
phamnazage-jpg
08f7db1bc2 test: M-01 替换测试代码中的 panic 为 t.Fatal
- packs_repo_test.go: panic → t.Fatal
- providers_repo_test.go: panic → t.Fatal
2026-06-02 06:56:30 +08:00
phamnazage-jpg
21065735dd fix(docker): H-05 优化 Dockerfile 环境变量配置
- 添加清晰的注释说明 SUB2API_CRM_ADMIN_TOKEN 为必需配置
- 分离必需和可选环境变量到不同区块
- 更新 Go 版本到 1.23 以匹配 go.mod
2026-06-02 06:55:36 +08:00
phamnazage-jpg
d688722dd2 feat(metrics): H-04 Prometheus 指标暴露
- 创建 internal/metrics 包集成 Prometheus 客户端
- 添加 HTTP 请求指标(总量、延迟直方图)
- 添加业务指标(active_hosts、active_providers)
- 添加路由指标(decisions、failovers)
- 添加数据库指标(connections、operations)
- 添加日志指标(flush_errors、dropped_events)
- 添加 HTTP Middleware 自动收集请求指标
- 添加 StartServer 方法启动独立 metrics 服务
2026-06-02 06:53:24 +08:00
phamnazage-jpg
8984451845 feat(log): H-03 日志 flush 错误监控
- 添加 ErrorMetrics 结构体记录 flush/write/drop 错误数
- 添加 ErrorHandler 回调接口用于自定义错误处理
- 在 AsyncLogWriterOptions 中支持配置错误处理器
- 在 flushBatch 中记录 flush 错误指标并回调错误处理器
- 在 enqueue fallback 路径中记录丢弃事件数
- 添加 Metrics() 方法暴露错误统计
2026-06-02 06:51:14 +08:00
phamnazage-jpg
97502b8a86 test: H-02 补充 migrations 测试
- 验证迁移文件正确嵌入 embed.FS
- 测试所有迁移文件可读且非空
- 验证迁移文件命名规范(NNNN_前缀)
- 测试迁移文件排序一致性
- 验证初始迁移文件包含预期 SQL 内容
2026-06-02 06:50:02 +08:00
phamnazage-jpg
3838d78b00 test: H-01 补充 testutil 测试
- 添加 SQLiteTestDSN 函数测试(外键启用/禁用、特殊字符)
- 添加路径唯一性验证测试
- 添加 OpenSQLiteStore 功能测试(含并发测试)
- 添加 CloseSQLiteStore 测试
- 添加无效 DSN 错误处理测试
2026-06-02 06:49:07 +08:00
phamnazage-jpg
6865b3a33b ci: B-04 添加 GitHub Actions CI/CD 工作流
- 添加完整的 CI 流水线:构建、测试、覆盖率检查
- 集成 golangci-lint 静态代码分析
- 集成 gosec 和 govulncheck 安全扫描
- 添加 Docker 镜像构建验证
- 添加 Release 自动打包(多架构支持)
- 设置覆盖率阈值 60%
2026-06-02 06:47:06 +08:00
phamnazage-jpg
cf7dd35e1d feat(log): B-03 日志轮转配置 - 添加 lumberjack 支持
- 添加 lumberjack.v2 依赖实现日志轮转
- 支持配置文件输出(stdout/stderr/file)
- 支持文件轮转(100MB/3备份/7天/压缩)
- 添加 Config 结构体灵活配置
- 添加完整测试用例

测试验证:
- TestInitWithConfig PASS
- TestInitWithConfigFileOutput PASS
- TestDefaultConfig PASS
- 全量日志测试通过
2026-06-01 22:06:56 +08:00
phamnazage-jpg
714c4acbe4 fix(log): 修复测试文件未使用导入 2026-06-01 22:03:14 +08:00
phamnazage-jpg
91fa5d6ab4 fix(review): 完成系统性 Review 修复方案 - Task B-01 HTTP Server 超时配置
本次提交包含:
- B-01: HTTP Server 添加超时配置 (ReadTimeout/WriteTimeout/IdleTimeout/MaxHeaderBytes)
- 添加结构化日志包 internal/log/ (B-02 部分完成)
- 添加 Review 报告文档
- 添加系统性修复方案文档
- 添加最佳实践审核报告文档
- 更新任务清单和执行板

测试验证:
- TestServerHasTimeoutConfiguration 通过

关联文档:
- docs/2026-06-01-SYSTEMATIC-REVIEW-REPORT.md
- docs/2026-06-01-SYSTEMATIC-REPAIR-PLAN.md
- docs/2026-06-01-BEST-PRACTICE-AUDIT-REPORT.md
2026-06-01 22:02:01 +08:00
phamnazage-jpg
5fbac6ef0b test(frontend): add provider admin acceptance coverage
Add a dedicated acceptance script for providers.html, cover it in the local real-host script regression suite, and document the current frontend review baseline, closure audit, providers action matrix, and remediation task board.

This keeps the frontend acceptance boundary explicit: providers.html now has a repeatable verification entry point for its page-level actions, while non-UI provider operations remain documented as backend-only capabilities.
2026-06-01 09:58:20 +08:00
phamnazage-jpg
c588a95c7d fix(access): verify subscription readiness with real user keys
When subscription access is requested with an explicit access_api_key, assign the subscription to the real target user, bind that user's API key to the subscription group, and probe readiness with the same key instead of falling back to a managed synthetic user.

Update the runtime/reconcile flows, adapter tests, and source-of-truth docs so subscription_ready now reflects user-visible host access rather than managed-key-only closure success.
2026-06-01 09:55:11 +08:00
phamnazage-jpg
702ae19a61 feat(pack): publish provider admin draft provider-admin-publish-1780230107 2026-05-31 20:21:50 +08:00
phamnazage-jpg
fd12838519 docs(testing): record repo upsert closure 2026-05-30 18:54:07 +08:00
phamnazage-jpg
64e14ac30d test(quality): cover repo upsert fallback branches 2026-05-30 18:54:07 +08:00
phamnazage-jpg
2f2653c76f docs(testing): record upsert and open branch follow-up 2026-05-30 18:48:20 +08:00
phamnazage-jpg
9e32a24f8c test(quality): cover upsert validation and redis open branches 2026-05-30 18:48:20 +08:00
phamnazage-jpg
d9216d5712 docs(testing): record narrow branch coverage follow-up 2026-05-30 18:28:03 +08:00
phamnazage-jpg
f895eb9035 test(quality): cover sqlite redis and overlay edge branches 2026-05-30 18:28:03 +08:00
phamnazage-jpg
51472e9951 docs(testing): record hotspot branch coverage uplift 2026-05-30 17:22:25 +08:00
phamnazage-jpg
6bbd55111c test(quality): cover routing sqlite overlay hotspots 2026-05-30 17:22:11 +08:00
phamnazage-jpg
b33fa10677 test(quality): promote overlay coverage to core gate 2026-05-30 17:13:38 +08:00
phamnazage-jpg
249ad5938f test(quality): promote sqlite coverage to core gate 2026-05-30 17:04:45 +08:00
phamnazage-jpg
b371c698cc test(quality): promote routing coverage to core gate 2026-05-30 16:54:05 +08:00
phamnazage-jpg
2a925e2954 test(quality): promote internal app coverage to core gate 2026-05-30 16:48:55 +08:00
phamnazage-jpg
800096542b docs(testing): record internal app coverage uplift 2026-05-30 16:41:05 +08:00
phamnazage-jpg
cbfaf4a28b test(app): raise handler coverage above 70 percent 2026-05-30 16:40:55 +08:00
phamnazage-jpg
b5529eb9d4 docs(testing): record unified quality gate rollout 2026-05-30 15:28:58 +08:00
phamnazage-jpg
61a5a36c58 feat(testing): add unified quality gates and coverage baseline 2026-05-30 15:28:32 +08:00
phamnazage-jpg
347389c0a2 chore(skills): add project workflow skills 2026-05-30 14:55:16 +08:00
phamnazage-jpg
17c406b661 docs(skills): capture project learnings as reusable workflows 2026-05-30 14:55:05 +08:00
phamnazage-jpg
0a3828d682 docs(status): record false negative verification 2026-05-30 14:46:20 +08:00
phamnazage-jpg
15b7437edd feat(status): suppress false negative provider readiness 2026-05-30 14:42:51 +08:00
phamnazage-jpg
7dbd6769db docs(acceptance): record final user flow verification 2026-05-30 11:21:03 +08:00
phamnazage-jpg
2b46598a82 docs(portal): record p4-t6 remote verification 2026-05-30 11:01:34 +08:00
phamnazage-jpg
ef33762db5 feat(portal): add logical group packaging config 2026-05-30 10:54:32 +08:00
phamnazage-jpg
aac18e0df6 docs(portal): record p4-t5 remote verification 2026-05-30 10:45:04 +08:00
phamnazage-jpg
3bfd4cfc1c feat(portal): add logical group guidance config 2026-05-30 10:38:59 +08:00
phamnazage-jpg
e940ebda2c docs(portal): record p4-t4 remote verification 2026-05-30 10:30:25 +08:00
phamnazage-jpg
037e141cc4 feat(portal): add logical group usage guidance 2026-05-30 10:26:53 +08:00
phamnazage-jpg
939dd4f8e1 docs(portal): record p4-t3 remote verification 2026-05-30 10:17:57 +08:00
phamnazage-jpg
542c6823a5 feat(portal): add logical group entitlement view 2026-05-30 10:13:31 +08:00
phamnazage-jpg
e87decee4d docs(portal): record p4-t2 remote verification 2026-05-30 08:29:28 +08:00
phamnazage-jpg
ac1d8e27cc feat(portal): switch user catalog to logical groups 2026-05-30 08:26:28 +08:00