phamnazage-jpg
5e3bd44e96
fix(metrics): 在主路由中注册 /metrics 端点
...
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
8bbdffaf17
test: 补充真实功能验证测试
...
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 添加版本信息端点
...
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
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
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
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
64e14ac30d
test(quality): cover repo upsert fallback branches
2026-05-30 18:54:07 +08:00
phamnazage-jpg
9e32a24f8c
test(quality): cover upsert validation and redis open branches
2026-05-30 18:48:20 +08:00
phamnazage-jpg
f895eb9035
test(quality): cover sqlite redis and overlay edge branches
2026-05-30 18:28:03 +08:00
phamnazage-jpg
6bbd55111c
test(quality): cover routing sqlite overlay hotspots
2026-05-30 17:22:11 +08:00
phamnazage-jpg
cbfaf4a28b
test(app): raise handler coverage above 70 percent
2026-05-30 16:40:55 +08:00
phamnazage-jpg
61a5a36c58
feat(testing): add unified quality gates and coverage baseline
2026-05-30 15:28:32 +08:00
phamnazage-jpg
15b7437edd
feat(status): suppress false negative provider readiness
2026-05-30 14:42:51 +08:00
phamnazage-jpg
ef33762db5
feat(portal): add logical group packaging config
2026-05-30 10:54:32 +08:00
phamnazage-jpg
3bfd4cfc1c
feat(portal): add logical group guidance config
2026-05-30 10:38:59 +08:00
phamnazage-jpg
97fd72e273
feat(portal): add logical group catalog api
2026-05-29 19:39:41 +08:00
phamnazage-jpg
649eb13f30
feat(accounts): add explicit route binding workflow
2026-05-29 19:07:01 +08:00
phamnazage-jpg
d8d9e6e170
fix(accounts): tolerate ambiguous shadow bindings
2026-05-29 15:58:37 +08:00
phamnazage-jpg
c982c595b8
feat(accounts): add provider account admin view
2026-05-29 15:50:28 +08:00
phamnazage-jpg
b5343452cb
feat(accounts): add provider account inventory api
2026-05-29 14:43:34 +08:00
phamnazage-jpg
2896e62071
feat(routing): add route health admin view
2026-05-29 13:37:43 +08:00
phamnazage-jpg
ecdeedb103
feat(routing): add formal chat route endpoint
2026-05-29 13:17:56 +08:00
phamnazage-jpg
3c061f3ddb
feat(routing): add canonical shadow provider pack
2026-05-29 12:29:05 +08:00
phamnazage-jpg
cffe3332ac
feat(routing): auto-supply managed proxy keys
2026-05-29 10:49:27 +08:00
phamnazage-jpg
9b1c6f43a6
feat(routing): add minimal chat proxy bridge
2026-05-29 10:31:09 +08:00
phamnazage-jpg
eb2242ca6f
feat(routing): add resolver failover fallback
2026-05-29 10:00:27 +08:00
phamnazage-jpg
66ad319ccb
feat(routing): add sticky-backed route resolver
2026-05-29 09:38:59 +08:00
phamnazage-jpg
98bd619ec8
feat(routing): add sticky runtime backends
2026-05-29 07:43:29 +08:00
phamnazage-jpg
6e0bd59e56
feat(routing): add route log writer and admin api
2026-05-28 21:24:05 +08:00
phamnazage-jpg
2818892255
feat(routing): add logical group admin api
2026-05-28 15:57:34 +08:00
phamnazage-jpg
7f75d8a670
feat(routing): add logical group schema foundation
2026-05-28 15:26:16 +08:00
phamnazage-jpg
6b03eb8fb9
feat(admin): harden provider draft model conflicts
2026-05-28 12:18:10 +08:00
phamnazage-jpg
de33ff3492
feat(admin): add session-based portal login
2026-05-28 11:01:29 +08:00
phamnazage-jpg
3a00f1b859
feat(admin): publish provider drafts into pack repo
2026-05-28 07:30:02 +08:00
phamnazage-jpg
8d7aa925df
feat(admin): persist provider drafts in crm
2026-05-27 21:49:12 +08:00
phamnazage-jpg
ebd86a4256
feat(batch): add live reuse admin verification flow
2026-05-27 20:23:42 +08:00
phamnazage-jpg
c1172d7714
fix: harden deepseek official remote43 import closure
2026-05-27 07:56:24 +08:00
phamnazage-jpg
83a05b4889
feat: add kimi a7m overlay workflow and remote43 validation
2026-05-26 07:50:43 +08:00
phamnazage-jpg
497e5d91b4
Add safe artifact migration and status fixes
2026-05-25 10:48:04 +08:00
phamnazage-jpg
5e76fb20d0
Harden host deletion and test stability
2026-05-25 07:30:07 +08:00
phamnazage-jpg
80fd9dd873
Clarify subscription probe key semantics
2026-05-23 17:06:52 +08:00
phamnazage-jpg
8c364206c5
Document repeated host acceptance failures
2026-05-23 11:12:34 +08:00