Commit Graph

82 Commits

Author SHA1 Message Date
phamnazage-jpg
7ce72cbc35 docs: sync truth docs, frontend audits, and runbooks 2026-06-04 20:00:03 +08:00
phamnazage-jpg
e804a830a0 docs(portal): record 2026-06-03 frontend visual upgrade + design system runbook
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
- EXECUTION_BOARD.md: new 2026-06-03 entry with full evidence trail
  (asset tests, browser smoke, screenshot list, conclusion=已闭环)
- 2026-06-03-FRONTEND-DESIGN-SYSTEM-RUNBOOK.md (new, 10KB):
  * file structure + design token quick reference
  * standard page skeleton + component API (stat-card, statusbar,
    Portal.icons, Portal.toast, Portal.copyText, Portal.theme,
    Portal.renderModernAdminNav)
  * test-contract string rules (70+ strings must remain in HTML)
  * common pitfalls (duplicate <!doctype>, duplicate const AdminCommon,
    stat-card ID drift, accidental script removal)
  * submission workflow + screenshot evidence commands
2026-06-03 09:11:18 +08:00
phamnazage-jpg
35447be934 feat(deploy): add CRM-only online deployment to remote43
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
- scripts/deploy/deploy_crm_only.sh: 单进程部署 sub2api-cn-relay-manager
  CRM 控制面到 remote43,不依赖 sub2api host / PG / Redis 容器。
  复用 scripts/deploy/remote43_patched_stack_lib.sh 的 env 渲染
  (render_remote43_crm_env),render_crm_only_bootstrap 用 $\{VAR\} 占位符 +
  sed 注入避开 set -u + unquoted-heredoc 边缘问题。
  部署前先 kill 老进程 (再 scp 二进制) 避免 ELF overwrite 失败。

- docs/DEPLOYMENT.md: 加 '在线部署节点' 段,记录 stack / 端口 / 入口 / 验证。
- docs/EXECUTION_BOARD.md: 顶部加 'Latest Online Stack' 段。
- artifacts/online-deploy-20260602/: 本次真实部署的证据
  - 01-local-build.txt: 本地 server 二进制 md5 + git head
  - 02-remote-inspect.txt: 远端 process / port / db tables
  - 03-crm-api-checks.txt: /healthz /api/packs /api/hosts /metrics 真实响应
  - 04-portal-public.txt: sub.tksea.top 公共入口
  - 05-quality-gates.txt: gofmt / vet / test -race / integration
  - manifest.json: 结构化汇总

验证(2026-06-02 21:32-21:43):
- /healthz: HTTP 200 'ok'
- /api/packs (Bearer): HTTP 200 '{"packs":[]}'
- /api/hosts (Bearer): HTTP 200 '{"hosts":[]}'
- /api/packs (no auth): HTTP 401
- /metrics (Prometheus): HTTP 200,含 active_hosts/active_providers/
  db_connections_active + Go runtime
- sub.tksea.top/portal/: HTTP 200
- sub.tksea.top/portal-admin-api/healthz: HTTP 200 'ok'(反代到 CRM)
- go test -race ./internal/... ./tests/integration/...: PASS
- gofmt / go vet: 干净
2026-06-02 21:46:39 +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
fd12838519 docs(testing): record repo upsert closure 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
d9216d5712 docs(testing): record narrow branch coverage follow-up 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
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
b5529eb9d4 docs(testing): record unified quality gate rollout 2026-05-30 15:28:58 +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
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
aac18e0df6 docs(portal): record p4-t5 remote verification 2026-05-30 10:45:04 +08:00
phamnazage-jpg
e940ebda2c docs(portal): record p4-t4 remote verification 2026-05-30 10:30:25 +08:00
phamnazage-jpg
939dd4f8e1 docs(portal): record p4-t3 remote verification 2026-05-30 10:17:57 +08:00
phamnazage-jpg
e87decee4d docs(portal): record p4-t2 remote verification 2026-05-30 08:29:28 +08:00
phamnazage-jpg
11fb02de9b docs(portal): record p4-t1 remote verification 2026-05-29 19:48:27 +08:00
phamnazage-jpg
e3be48da71 docs(accounts): record p3-t3 remote verification 2026-05-29 19:31:49 +08:00
phamnazage-jpg
ad94feab72 docs(accounts): record p3-t2 remote verification 2026-05-29 16:02:26 +08:00
phamnazage-jpg
82f3636521 docs(accounts): record p3-t1 remote verification 2026-05-29 14:58:23 +08:00
phamnazage-jpg
83148ce3c1 docs(routing): record p2-t4 acceptance matrix verification 2026-05-29 14:00:06 +08:00
phamnazage-jpg
112ed67f6b docs(routing): record p2-t3 remote verification 2026-05-29 13:43:23 +08:00
phamnazage-jpg
dbfd2ba11c docs(routing): record p2-t2 remote verification 2026-05-29 13:24:32 +08:00
phamnazage-jpg
09b43ce2d8 docs(portal): record p2-t1 remote verification 2026-05-29 13:08:19 +08:00
phamnazage-jpg
535f00712d docs(routing): add phase2 closure task board 2026-05-29 12:56:27 +08:00
phamnazage-jpg
537d4f781c docs(routing): record canonical shadow verification 2026-05-29 12:41:03 +08:00
phamnazage-jpg
3c061f3ddb feat(routing): add canonical shadow provider pack 2026-05-29 12:29:05 +08:00
phamnazage-jpg
b88aac7f79 docs(routing): record managed 503 root cause 2026-05-29 12:21:10 +08:00
phamnazage-jpg
51b4df788c docs(routing): record managed proxy key verification 2026-05-29 11:43:11 +08:00
phamnazage-jpg
b4d1b8c377 docs(routing): record route proxy bridge verification 2026-05-29 10:38:09 +08:00
phamnazage-jpg
6ff4490b6e docs(routing): record cooldown rebinding verification 2026-05-29 10:17:38 +08:00
phamnazage-jpg
d821162a8b docs(routing): record resolver failover verification 2026-05-29 10:06:16 +08:00
phamnazage-jpg
c2ac6840ec docs(routing): record route resolve remote verification 2026-05-29 09:53:16 +08:00
phamnazage-jpg
932db59638 docs(routing): record p1-t4 remote verification 2026-05-29 07:49:16 +08:00
phamnazage-jpg
9d92360401 docs(routing): record p1-t3 remote verification 2026-05-28 22:00:14 +08:00
phamnazage-jpg
8097750ec0 docs(routing): record p1-t2 remote verification 2026-05-28 20:25:46 +08:00
phamnazage-jpg
361a93270f docs(routing): capture phase1 foundation plan 2026-05-28 15:37:13 +08:00
phamnazage-jpg
e549549b4d fix(route-lab): record host channel reuse limits 2026-05-28 14:25:04 +08:00
phamnazage-jpg
e13e6b8fc1 feat(route-lab): add shared-group relay validation pack 2026-05-28 13:57:17 +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
03c4b5236f chore(remote43): standardize stable crm repo root 2026-05-28 10:13:13 +08:00
phamnazage-jpg
3a00f1b859 feat(admin): publish provider drafts into pack repo 2026-05-28 07:30:02 +08:00