chengcheng
8beb8501fa
fix(billing): 封住发布前计费竞态
...
ci / verify (pull_request) Failing after 8s
阻止上游提交状态不明的任务被租约接管后重复执行,并为人工复核保留可操作的结算记录。
将生产提交绑定到当前估价签名,统一复用预处理快照,并补强规则形状、定点溢出与历史规则兼容校验。
已通过 PostgreSQL 16 集成测试、Go 全量测试与静态检查、前端测试与构建、OpenAPI、依赖审计、镜像、迁移、流水线和 SemVer 门禁。
2026-07-21 10:23:58 +08:00
chengcheng
257ee09e58
build(deps): 修复构建链高危依赖
...
pnpm audit 新增报告 Nx 构建链中的 axios、brace-expansion 和 js-yaml 高危漏洞。通过最小 overrides 将其固定到已修复版本,并同步锁文件。\n\n影响:仅调整开发与构建依赖解析,不改变生产运行时计费逻辑。\n\n验证:pnpm install --frozen-lockfile、pnpm audit --audit-level high、pnpm lint、pnpm test、pnpm build 及仓库完整 CI 门禁均已通过。
2026-07-21 09:57:02 +08:00
chengcheng
1362970229
test(billing): 覆盖估价只读与请求重放契约
...
PostgreSQL HTTP 集成测试验证估价新增字段且不创建任务、冻结余额或写流水,并验证非流式重放只执行一次、异请求冲突及流式重复冲突。
2026-07-21 00:30:44 +08:00
chengcheng
3c82c7b492
ci(billing): 启用 PostgreSQL 计费集成门禁
...
CI verify 启动 PostgreSQL 16、应用全部迁移并注入 AI_GATEWAY_TEST_DATABASE_URL,使钱包、Outbox、幂等和租约集成测试不再因缺少数据库而跳过。
2026-07-21 00:26:57 +08:00
chengcheng
c879de18e2
docs(api): 同步计费结算接口契约
...
重新生成 OpenAPI,补充估价字段、任务计费状态、管理员结算查询与审计重试接口。
2026-07-21 00:26:11 +08:00
chengcheng
62d25fcb11
feat(web): 增加计费结算异常管理界面
...
管理端支持按状态查看结算与释放记录,展示精确到九位的小数金额、错误分类和重试次数,并使用一次性 Idempotency-Key 发起审计化重试。
2026-07-21 00:25:57 +08:00
chengcheng
5b2b94b1bd
feat(billing): 完成异步结算与请求执行闭环
...
统一任务成功、Attempt 与结算 Outbox 的事务边界,增加多实例安全结算、人工复核、请求幂等与执行租约。钱包决策使用九位精确金额,并通过审计保护约束保留流水事实;同时补充管理接口、指标与 PostgreSQL 集成测试。
2026-07-21 00:25:53 +08:00
chengcheng
7cea21f765
feat(web): 增加参数即时估价与显式免费编辑
...
估价请求统一使用 350ms 防抖、AbortController 和请求序号,区分免费、计算中、价格不可用与失败状态,并展示候选冻结上限。价格未就绪时阻止生产提交。\n\n计价规则编辑器新增显式免费开关和 9 位价格步进。\n\n验证:Web 88 项测试和生产构建通过。
2026-07-20 23:22:50 +08:00
chengcheng
5114686c35
feat(billing): 统一计价与候选冻结估算
...
新增 effective-pricing-v2、9 位十进制定点计算、显式免费校验和结构化缺价错误。估价与生产预处理覆盖全部可用候选,并按最大候选费用冻结;规则优先级为平台模型、平台、基准模型。\n\n同步计价契约和 OpenAPI,补充 Token 参数别名、视频五秒向上取整及缺价回归测试。\n\n验证:go test ./...、pnpm openapi、Web 测试与构建通过。
2026-07-20 23:22:45 +08:00
chengcheng
01a013c809
docs(billing): 固化计费闭环决策与迁移基础
...
新增 ADR-002、计费流程说明和 0069 增量迁移,建立独立计费状态、结算 Outbox、显式免费与钱包约束。历史成功未扣费任务仅进入人工复核,不执行追扣。\n\n验证:迁移安全验证与 tests/ci/migrations-test.sh 通过。
2026-07-20 23:09:18 +08:00
chengcheng
dcf5c4f340
Merge pull request '修复生产 OIDC 相对登录地址跳转' ( #9 ) from codex/fix-oidc-relative-login-url into main
ci / verify (push) Successful in 19m32s
release-ci / verify-tag (push) Successful in 15m28s
v0.1.2
2026-07-20 15:54:13 +08:00
chengcheng
d956524690
fix(web): 修复相对 OIDC 登录地址跳转
ci / verify (pull_request) Successful in 22m7s
2026-07-20 15:26:44 +08:00
chengcheng
c070cda22a
Merge pull request ci: 限制 Go 门禁并发峰值 ( #8 )
...
ci / verify (push) Successful in 12m47s
release-ci / verify-tag (push) Successful in 14m2s
修复 rootless DinD runner 在 Go 冷编译期间资源峰值过高导致 daemon 掉线的问题。
v0.1.1
2026-07-17 21:26:27 +08:00
chengcheng
f8f8e9a7ca
ci: 限制 Go 门禁并发峰值
...
ci / verify (pull_request) Successful in 14m35s
将 GOFLAGS=-p=1 与 GOMAXPROCS=1 收窄到 Go 验证步骤,降低 2 GiB rootless DinD runner 冷编译时的峰值资源占用。\n\n同时增加流水线结构契约测试,确保主分支与发布工作流都保留相同限制且不会扩散到 Trivy 等其他工具。
2026-07-17 20:02:58 +08:00
chengcheng
82a494051d
Merge pull request 'feat(identity): 合并标准统一认证接入与安全事件撤销' ( #7 ) from codex/merge-identity-main into main
...
ci / verify (push) Failing after 34s
Reviewed-on: #7
2026-07-17 19:36:19 +08:00
chengcheng
4426eeccf7
chore(merge): 整合最新 main 与统一认证变更
...
ci / verify (pull_request) Successful in 12m18s
合并远端生产 CI、依赖与 API 文档改动,保留统一认证和 SSF 能力。由于远端生产基线已占用 0062,将尚未发布的身份迁移整理为 0063 至 0068 的最终增量 Schema,移除仅用于开发期草稿升级的破坏性迁移步骤。
验证:go test ./...。其余生产门禁在合并提交后继续执行。
2026-07-17 19:06:37 +08:00
chengcheng
5b8178b703
docs(identity): 记录统一认证恢复与重配边界
...
补充管理员从 Active 禁用到新接入码重配的标准流程,说明 credentials_saved 恢复、SSF 凭据交接、持久清理、Break-glass 与动态 Origin 边界,并明确历史 Revision 仅作审计、当前不支持直接回滚。
2026-07-17 18:32:04 +08:00
chengcheng
b179162330
fix(web): 完善统一认证恢复与重配交互
...
为处理中、失败和清理中的配对展示明确状态与恢复动作,支持放弃并清理、作用域内退役冲突连接,并在 Active 状态引导管理员先安全禁用再使用新接入码。同步修复运行时切换后的浏览器会话残留与确认弹窗焦点约束。
验证:pnpm test;pnpm lint;pnpm build。
2026-07-17 18:31:38 +08:00
chengcheng
a312ad880d
fix(identity): 完善统一认证配对恢复与安全退役
...
修复 credentials_saved 状态无法恢复、配对与激活并发冲突,以及 SSF 和身份 Secret 生命周期不完整的问题。新增持久化协调器、取消与清理状态机、事务级并发门禁、受控 SSF 凭据交接、禁用后的延迟 Secret 清理,并对生产环境统一认证及 Discovery 端点强制 HTTPS。
验证:go test ./...;go test -race ./internal/auth ./internal/identity ./internal/identityruntime ./internal/securityevents ./internal/httpapi ./internal/store -count=1;go vet ./...;真实 PostgreSQL 并发及清理成功/冲突回滚测试;pnpm openapi。
2026-07-17 18:31:12 +08:00
chengcheng
6cc24fa978
Merge pull request 'docs: 增加中文协作与提交规范' ( #6 ) from codex/add-chinese-agent-rules into main
ci / verify (push) Successful in 9m1s
2026-07-17 18:21:39 +08:00
chengcheng
1df051ea6c
docs: 增加中文协作与提交规范
ci / verify (pull_request) Successful in 8m24s
2026-07-17 18:12:00 +08:00
chengcheng
b638bfaa4b
Merge pull request 'ci: harden production quality gates' ( #5 )
ci / verify (push) Successful in 8m41s
2026-07-17 17:32:01 +08:00
chengcheng
86509d5c43
fix(ci): reject procedural migration bodies
ci / verify (pull_request) Successful in 9m24s
2026-07-17 17:04:05 +08:00
chengcheng
f226f9c953
ci: enforce production-safe database migrations
ci / verify (pull_request) Successful in 8m50s
2026-07-17 16:59:50 +08:00
chengcheng
74c20b1976
Merge remote-tracking branch 'origin/main' into codex/production-cicd
...
# Conflicts:
# pnpm-lock.yaml
2026-07-17 16:21:49 +08:00
wangbo
cc3bbeccc2
feat(web): 完善 API 文档与异步任务说明
2026-07-17 15:42:46 +08:00
chengcheng
a6e95be0c5
fix(ci): use reachable vulnerability database mirror
ci / verify (pull_request) Successful in 11m20s
2026-07-17 15:38:59 +08:00
chengcheng
c67726ca6b
security(api): upgrade vulnerable crypto dependency
ci / verify (pull_request) Failing after 6m2s
2026-07-17 15:31:41 +08:00
chengcheng
e77ec9e842
security(ci): bound runner resources
2026-07-17 15:22:44 +08:00
chengcheng
5e8fb4276f
fix(ci): verify rootless pid namespace without proc links
ci / verify (pull_request) Failing after 6m9s
2026-07-17 15:15:55 +08:00
chengcheng
06f95c5d86
ci: validate runner before registration
ci / verify (pull_request) Failing after 6m9s
2026-07-17 15:08:37 +08:00
chengcheng
1f8c5a3d03
fix(ci): support digest-verified runner mirrors
ci / verify (pull_request) Failing after 7m54s
2026-07-17 14:50:38 +08:00
chengcheng
6ba46514c1
fix(ci): expose pinned node during runner setup
ci / verify (pull_request) Failing after 6m8s
2026-07-17 14:43:27 +08:00
chengcheng
91ea0e6a2d
ci: harden production quality gates
ci / verify (pull_request) Failing after 4m18s
2026-07-17 14:23:49 +08:00
wangbo
2d6c16fec0
chore(deps): 更新依赖包版本并添加vitest
...
- 将typescript从5.8.0更新至5.9.3版本
- 新增vitest依赖包,版本为3.2.4
- 配置vitest的子依赖关系包括@types/debug、jiti、lightningcss和yaml
2026-07-17 13:57:37 +08:00
wangbo
0d18df54f1
feat: 增加计费预估核对运维流程
2026-07-17 13:57:21 +08:00
wangbo
bdcf9af5d6
chore: 忽略本地构建产物
2026-07-17 13:54:32 +08:00
wangbo
5ee267ecbd
feat: 完善模型请求适配与输出限制
2026-07-17 13:52:00 +08:00
chengcheng
db85487b73
docs(ci): 记录生产流水线决策与运行手册
...
固化 Tag 发布策略、Runner 信任边界、Secret 位置、数据库回滚限制,以及 Runner 安装、发布、验证和故障恢复步骤。
2026-07-17 12:41:47 +08:00
chengcheng
745811cc6d
ci: 建立生产镜像与 Tag 发布流水线
...
新增独立仓库级 Gitea Runner,main 和 PR 执行完整质量门禁与不可变 SHA 镜像构建;只有来自 main 历史的语义版本 Tag 才调用受限生产发布助手。专属 Buildx builder 将缓存限制为 2 GB。\n\n验证:流水线结构测试、ShellCheck、Go vet/test、govulncheck、前端 lint/test/build、Compose 渲染及高危依赖审计通过。
2026-07-17 12:39:07 +08:00
chengcheng
af13a0444e
fix(build): 修复前端依赖安全门禁
...
同步缺失的 Vitest 锁文件,并将 Vitest、Vite 及受影响的传递依赖限制到已修复版本,避免严格 frozen install 和高危依赖审计阻塞 CI。\n\n验证:pnpm frozen install、lint、26 个前端测试、Go 测试、生产构建及 high 级依赖审计通过。
2026-07-17 12:38:49 +08:00
chengcheng
cdfca61304
docs(identity): 发布统一认证管理契约
...
为配对、策略、验证、激活、回滚、禁用和公开运行时接口补充 OpenAPI 注解,并将通用 Identity 类型加入生成范围。生成契约不包含 Exchange Token、Machine Secret 或 Secret 引用。\n\n验证:pnpm openapi;OpenAPI 敏感字段扫描通过
2026-07-17 12:31:11 +08:00
chengcheng
a767dc42c0
refactor(identity): 统一网页认证配置来源
...
移除旧 OIDC_* 与 VITE_OIDC_* 业务配置读取,统一使用数据库 Revision 和 SecretStore 引用构建运行时。同步更新 Compose、示例配置、接入文档及集成测试,并保留数据库、SecretStore 和安全事件健康窗口等部署级参数。\n\n验证:go test ./...;go test -race ./...;go vet ./...;pnpm test;pnpm lint;pnpm build;docker compose config -q
2026-07-17 12:31:00 +08:00
chengcheng
e0a356ee0c
feat(web): 增加统一认证接入与运维页面
...
系统设置新增统一认证配对、验证、激活、重验证、回滚与禁用流程,安全事件改为统一能力状态。前端登录入口运行时读取公开配置,不再依赖 VITE_OIDC 构建变量。\n\n验证:web 31 项测试;web typecheck;pnpm lint;web production build
2026-07-17 12:18:26 +08:00
chengcheng
b175d545ff
fix(identity): 支持生效配置安全重验证
...
Active Revision 重验证成功后更新验证元数据并原子替换同配置 Runtime;验证失败时不修改数据库状态或当前运行时。\n\n验证:go test ./apps/api/internal/identityruntime ./apps/api/internal/store ./apps/api/internal/httpapi
2026-07-17 12:12:26 +08:00
chengcheng
1fce3a535d
feat(identity): 增加统一认证管理接口
...
提供接入码配对、配置查询、本地策略修改、验证、激活、回滚、禁用和公开运行时状态接口。写操作强制 Idempotency-Key 与 If-Match,后台 Exchange 支持重启恢复和过期收敛,并记录脱敏 Trace 与审计。\n\n验证:go test 相关 identity、store、identityruntime、httpapi 包;go vet ./apps/api/...
2026-07-17 12:10:44 +08:00
chengcheng
a9e23cb237
feat(identity): 实现统一认证运行时热切换
...
从 Active Revision 构造并验证 OIDC、BFF Session、Introspection 与 SSF Runtime,在数据库激活成功后原子替换内存引用。请求链路使用不可变快照,失败保留当前运行时,本地管理登录不受影响。\n\n验证:go test ./apps/api/...;go vet ./apps/api/...
2026-07-17 12:05:00 +08:00
chengcheng
96bbd3a2f6
feat(identity): 实现接入码配对后台流程
...
Gateway 使用一次性接入码创建 Exchange,将 Exchange Token、机器凭据与 Session Key 仅写入 SecretStore,并持久化脱敏配对进度。\n\n资源就绪后先保存凭据和 Manifest,再自动准备 SSF,最后确认远端 Exchange;SecretStore 失败时保持 ready,重试会触发新 Secret 轮换,不回放旧值。\n\n验证:go test ./...;go vet ./...
2026-07-17 11:55:24 +08:00
chengcheng
c2ce42fead
feat(identity): 增加统一认证配置版本
...
新增统一认证 Revision 状态机、单 Active 数据库约束、SecretStore 引用字段、Break-glass 与本地租户门禁,并在关键身份变化或禁用时清理旧 BFF Session。\n\n同时实现标准应用接入 Manifest v1 消费端,接入码只进入请求 Body,Exchange Token 只进入 Authorization Header,禁用重定向并限制响应大小。\n\n验证:go test ./...;go vet ./...
2026-07-17 11:52:01 +08:00
chengcheng
2a73e18123
docs(identity): 定义统一认证运行时配置
...
记录 Revision 状态机、验证后热切换、Break-glass 与 Secret 边界,明确网页/API 是身份业务配置唯一来源。\n\n验证:git diff --check。
2026-07-17 11:05:48 +08:00