Commit Graph

103 Commits

Author SHA1 Message Date
phamnazage-jpg
596a2a110c feat(vnext2): add user key self-service skeleton
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
- PORTAL_KEY_EXPERIENCE.md: review from pending to approved
- KEY_SELF_SERVICE_API.md: review from pending to approved
- 0015_user_keys.sql: migration for key_records table
- user_keys_repo.go + test: SQLite repo (Create/ListByOwner/GetByID/UpdateStatus)
- key_self_service.go: HTTP handlers (POST/GET /api/keys, pause/resume/delete)
- key_self_service_svc.go: action wiring (buildUserKeyHandler)
- registered in ActionSet + NewAPIHandlerWithAuth

Note: full user auth requires host+CRM co-deployment.
Current skeleton accepts Bearer token for testing.
2026-06-05 11:45:17 +08:00
phamnazage-jpg
53edcd86ac docs: update EXECUTION_BOARD + VNEXT_COMPLETION_CHECKLIST for vNext.1 closure
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: record vNext.1 release gate completion, remote43 binary swap, fresh 3-layer acceptance status
- VNEXT_COMPLETION_CHECKLIST: upgrade to 'conditionally complete (vNext.1)', update all checklists
- add vnext_fresh_acceptance.py: standalone fresh 3-layer acceptance probe script
2026-06-05 11:39:46 +08:00
phamnazage-jpg
492f33a129 feat(vnext): complete vNext.1 release gate — default chain admission, idempotent init, user key skeleton
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
- DEFAULT_CHAIN_ADMISSION.md: reviewed and approved, real artifact refs added
- DEFAULT_DATA_IDEMPOTENT_RELEASE_GATE.md: reviewed and approved
- scripts/setup_default_data.sh: idempotent init with --dry-run/--apply/artifact
- scripts/test/test_default_data.sh: 4 test cases all pass
- scripts/acceptance/verify_user_key_self_service.sh: Phase 0 skeleton
- .gitignore: add generated artifact directories
2026-06-05 11:07:50 +08:00
phamnazage-jpg
7ce72cbc35 docs: sync truth docs, frontend audits, and runbooks 2026-06-04 20:00:03 +08:00
phamnazage-jpg
2b5607285f docs(test): add 2026-06-04 testing pitfalls to checklist + fix key confusion in acceptance script
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
Key changes:

1. scripts/acceptance/import_remote43_provider.sh:690/695
   - Fixed  ->  for gateway direct probe
   - Added REDLINE comments explaining why sub_key is correct

2. docs/REAL_HOST_ACCEPTANCE_CHECKLIST.md: §9
   - 4 new pitfalls from 2026-06-04 real testing:
     - Gateway probe key confusion ( vs )
     - Hermes session key redaction (must get raw key from PG)
     - Account upstream key update method (PUT with type+key, not credentials)
     - Hermes redaction destroys shell variables in .sh files

3. docs/SOURCE_OF_TRUTH.md: evidence interpretation
   - Added rule #5: session env keys are redacted, must use PG raw values
2026-06-04 13:45:29 +08:00
Hermes Agent
86412192fd docs(weekly): record 2026-05-28~06-03 cross-project learnings + 4 skills
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
7-day window 220 commits across 3 active repos (sub2api-cn-relay-manager 115,
user-system 72, llm-intelligence 33). 4 cross-project patterns extracted into
hermes-global skills:

1. numbered-task-board — M-/H-/B- + T-Data- prefix systems
2. six-stage-pipeline-verify — schema→lib→importer→fixture→real-dry→real-upsert
3. docs-only-commit — code/docs commits never mixed
4. test-coverage-iteration-workflow — per-module 30-100 test funcs

Each skill cites the source commits / files for verifiability.
This sub2api-cn-relay-manager view focuses on what the project contributed.

Docs-only commit (skill #3 in action). No code changes.
2026-06-03 15:56:03 +08:00
Hermes Agent
d6a0261a47 docs(understand-anything): record set-and-forget fallback chain upgrade for enrich
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
§9 of codegraph-integration note now documents the 2026-06-03 15:20 upgrade:
- enrich defaults to callWithFallback() chain (current model → fallback_providers)
- skips codex_responses transport providers automatically
- resolves __default._providerModel to endpoint-served name (not user alias)
- strips <think>...</think> blocks before JSON.parse
- explicit --provider still supported (skip chain, useful for fast mode)

Verified on 5 git repos (contract management / gongju / llm-intelligence /
user-system / supply-intelligence) — 13/13 OK, 0 fallback rotation needed,
all from minimax-m3/MiniMax-M3 (current agent model).

Docs-only commit; sibling subagent's parallel code changes are NOT included.
2026-06-03 15:30:48 +08:00
phamnazage-jpg
77f40c2b69 docs(understand-anything): record 16/16 workspace batch graph refresh (67s, 0 fatal)
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-03 14:34:10 +08:00
phamnazage-jpg
c079b8ab66 docs(understand-anything): record 2026-06-03 offline graph refresh + script + skill
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-03 14:24:12 +08:00
phamnazage-jpg
d493e97402 docs(codegraph): record 16/16 workspace rollout + wrapper bugfix
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-03 13:53:07 +08:00
phamnazage-jpg
047ddca92c docs(portal): record codegraph workspace integration + OMP AGENTS.md refresh
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-03 13:29:28 +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
fb32deb2b1 docs: 更新验证报告,记录 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
2026-06-02 07:22:24 +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
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
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
61a5a36c58 feat(testing): add unified quality gates and coverage baseline 2026-05-30 15:28:32 +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
949134005e feat(routing): add route acceptance matrix scripts 2026-05-29 13:50:16 +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